【大模型】finetune 百川2

使用官網例子finetune百川2,微調腳本如下

模型為baichuan_chat_13B_v1

export CUDA_VISIBLE_DEVICES=1
hostfile=""
deepspeed --hostfile=$hostfile baichuan_fineturn/fine-tune/fine-tune.py  \--report_to "none" \--data_path "baichuan_fineturn/fine-tune/data/risk_ner_baichuan_corpus.json" \--model_name_or_path "../../Baichuan_Inc/Baichuan_Inc/Baichuan" \--output_dir "baichuan_fineturn/risk_ner_output" \--model_max_length 256 \--num_train_epochs 4 \--per_device_train_batch_size 1 \--gradient_accumulation_steps 1 \--save_strategy epoch \--learning_rate 2e-5 \--lr_scheduler_type constant \--adam_beta1 0.9 \--adam_beta2 0.98 \--adam_epsilon 1e-8 \--max_grad_norm 1.0 \--weight_decay 1e-4 \--warmup_ratio 0.0 \--logging_steps 1 \--gradient_checkpointing True \--deepspeed baichuan_fineturn/fine-tune/ds_config.json \--bf16 True \--tf32 False \--use_lora True

微調需要什么數據?

格式如下,放在微調腳本data_path對應的路徑下。單輪可自行修改conversations。

[{"id": "5633","conversations": [{"from": "human","value": "寫一篇介紹科技的文章,從科技的誕生開始寫起。\n"},{"from": "gpt","value": "\n科技在人類歷史中扮演著重要的角色。自古以來,人們就通過發明各種工具來提高生產力和生活質量。從最初的石器到現在的高科技設備,科技的發展讓人類的生活變得更加便利和豐富。科技的誕生和發展是一個漫長的過程,需要經歷許多階段和創新點,本文將從科技的誕生開始介紹。\n在人類史上,最早使用簡單工具的人類成員是原始人。他們利用石頭、木棍和樹枝等自然資源制作工具,幫助他們獵殺動物、分割食物和建造庇護所。數千年后,人類發明了青銅器,這是人類歷史上的一次重大進步。青銅器為人們提供了強有力的武器和精細的工具,也為人類歷史上的貿易活動打開了新的道路。\n隨著時代的變遷,人們的需求越來越多樣化。發明家們不斷努力創新,推出了許多發明,例如紙、印刷和火藥。這一時期,被稱為“軍事技術革命”的時期,為人類社會的進步奠定了基礎。\n19世紀初,抽水馬車等蒸汽機技術的發明導致了第一次工業革命的出現。這種新的技術重塑了世界的面貌,建立了現代化的工業經濟。20世紀后半期,電子技術和計算機技術的出現改變了人們的生活方式。如今,隨著科技不斷發展,越來越多的新技術不斷涌現,例如人工智能、機器人技術和虛擬現實技術等。這些技術正在逐漸改變我們的世界,也讓我們對未來充滿了期待。\n"},{"from": "human","value": "從你所寫的科技文章中提取出更多有關于“軍事技術革命”的細節。\n"},{"from": "gpt","value": "“軍事技術革命”是18世紀末19世紀初的一場技術變革。隨著科技的發展,建立了現代化的工業經濟。這種新的技術重塑了世界的面貌,也為人類社會的進步奠定了基礎。這場技術變革的主要成就是:\n1.火炮技術的發展:在“軍事技術革命”時期,各種不同類型的火炮被發明出來,例如榴彈炮、加農炮以及火箭彈等。這些新型火炮配合著新型彈藥一同使用,使得火力的威力得到了大幅度提升。\n2.水力紡織機和機器棉紗機的發明:這些機器的出現使得紡織業得到了革命性發展,通過機器生產的產品比手工制作的更加優越。這種先進的生產技術幫助大大提高了生產效率,促進了商品生產的發展。\n3.蒸汽機的發明:蒸汽機的出現使得燃料轉化為能量的效率大大提高,為以后機器化生產奠定了基礎。在19世紀40年代,蒸汽機被大規模地應用于鐵路、海運和礦井,從而為人類社會的進步帶來了極大的貢獻。\n這場技術變革的成果不僅體現在軍事領域,也滲透到了各個方面的社會生活之中,成為人類歷史重要的一部分。"}]},{"id": "27531","conversations": [{"from": "human","value": " 幫我生成一段關于夏天的五句話。\n"},{"from": "gpt","value": " 可以的。夏天,陽光燦爛,綠葉成蔭,花香滿徑。人們穿著輕便的衣服,在海灘上縱情嬉戲,享受著炎炎夏日的無限快樂。\n"},{"from": "human","value": " 繼續幫我生成一段描述音樂的文章。\n"},{"from": "gpt","value": " 好的。音樂是人類創造的最美之聲,有著獨特的魅力。音樂可以讓人們忘卻憂愁,放松身心,甚至成為我們精神上的朋友。同時,音樂是一種語言,可以通過音符和節奏,傳達出情感和思想。\n"},{"from": "human","value": " 請給我列舉一些個人成長的建議。\n"},{"from": "gpt","value": " 當然。要不斷學習新知識,拓寬自己的視野。要注意練習自己的能力和技能,嘗試不同的事情,增長自己的經驗。要勇于承認自己的錯誤,并從中吸取經驗教訓。最重要的是,要堅持追求自己的夢想,不要輕易放棄,要有信心和毅力。\n"},{"from": "human","value": " 幫我回答一個封閉式問題,中國的首都是哪里?\n"},{"from": "gpt","value": " 中國的首都是北京。"}]}
]

如何使用微調后的模型?

將基礎模型的generation_config.json拷貝到checkpoint_path下,然后執行如下代碼即可。

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation.utils import GenerationConfig
import copycheckpoint_path = "baichuan_fineturn/risk_ner_output"
tokenizer = AutoTokenizer.from_pretrained(checkpoint_path, revision="v2.0", use_fast=False, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(checkpoint_path, revision="v2.0", device_map="auto", torch_dtype=torch.bfloat16, trust_remote_code=True)#.to(device)
model.generation_config = GenerationConfig.from_pretrained(checkpoint_path, revision="v2.0")
query = "風險控制條款通過對資產設置監控指標來監控風險。一條風控條款中可能有多個監控指標,每個監控指標都明確監控著對應的一類或多類資產。\n\n現有風險控制條款如下,請識別抽取出上述風險控制條款中監控指標,閾值,閾值方向,資產四種字段,并分行輸出。注意,要求是原文字段。\n\n風險控制條款: 投資管理人可根據專業判斷形成久期策略,但組合久期原則上不得高于300年,計算口徑僅包括波動類固定收益資產,穩定類固定收益資產不計算久期"
messages = [{"role": "user", "content": query}
]
g_config=copy.deepcopy(model.generation_config)
g_config.do_sample=False
response = model.chat(tokenizer, messages, generation_config=g_config)
print(response)
  • 如果有baichuan_tokenizer相關的報錯,修改第三方庫/opt/app-root/lib64/python3.9/site-packages/transformers/models/auto/tokenization_auto.py,讓它的from_pretrained里的trust_remote_code = True
  • messages里一定得設成"role": "user"而不是“human”

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/696769.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/696769.shtml
英文地址,請注明出處:http://en.pswp.cn/news/696769.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2.22號qt

1.使用信號和槽實現多個界面跳轉 1.1準備兩個界面 1.2第一個界面準備signal 1.3第二個界面準備slot 1.4將第一個界面的信號和槽進行連接 2.qss登錄界面升級優化 2.1概念 Qss是Qt程序界面中用來設置控件的背景圖片、大小、字體顏色、字體類型、按鈕狀態變化等屬性&#xff…

【Python】Python實現串口通信(Python+Stm32)

🎉歡迎來到Python專欄~Python實現串口通信 ☆* o(≧▽≦)o *☆嗨~我是小夏與酒🍹 ?博客主頁:小夏與酒的博客 🎈該系列文章專欄:Python學習專欄 文章作者技術和水平有限,如果文中出現錯誤,希望…

springboot208基于springboot物流管理系統

基于spring boot物流管理系統設計與實現 摘 要 社會發展日新月異,用計算機應用實現數據管理功能已經算是很完善的了,但是隨著移動互聯網的到來,處理信息不再受制于地理位置的限制,處理信息及時高效,備受人們的喜愛。…

jax可微分編程的筆記

jax可微分編程的筆記 1.1.1 求導的基本概念 所謂的導數是一個從集合F到自身的映射. 有時,我們也將一個從函數到函數的映射稱為一個操作, 這里的操作在物理學中也被稱作一個算符. 但在計算機中的操作符相當于數學中的一個函數,而非從 函數到函數的映射. 應該指出的是,如果我們…

vue小記——this(2)

在Vue的方法中使用普通函數作為回調函數,那么在該回調函數中,this將不會指向Vue實例,而是指向全局對象(在瀏覽器中是window)。 錯誤 : export default { data() { return { message: Hello Vue! }; …

npm 包發布

name publish必填項(version,nameverson構成唯一標識),唯一,所以publish前驗證庫里是否存在該名稱,方式npm info xxx npm ERR! 404 cy_test is not in the npm registry.可以使用。規則:不能以.或者_開頭…

maven工程打包引入本地jar包

1、通過maven生成本地區倉庫包 mvn install:install-file --settings D:\lkx\download\apache-maven-3.6.3\conf\settings.xml -Dfileaspose-cad-21.8.jar -DartifactIdaspose-cad -DgroupIdsystem.core -Dversion21.8 -Dpackagingjar -DgeneratePomtrue # --settings&#xf…

進程線程間的通信:2024/2/22

作業1&#xff1a;代碼實現線程互斥機制 代碼&#xff1a; #include <myhead.h>//臨界資源 int num10;//創建一個互斥鎖 pthread_mutex_t mutex;//任務一 void *task1(void *arg) {//獲取鎖資源pthread_mutex_lock(&mutex);num123;sleep(3);printf("task1:num…

PacketSender-用于發送/接收 TCP、UDP、SSL、HTTP 的網絡實用程序

PacketSender-用于發送/接收 TCP、UDP、SSL、HTTP 的網絡實用程序 PacketSender是一款開源的用于發送/接收 TCP、UDP、SSL、HTTP 的網絡實用程序&#xff0c;作者為dannagle。 其官網地址為&#xff1a;https://packetsender.com/&#xff0c;Github源代碼地址&#xff1a;htt…

【AI繪畫工具分別有哪些?】

目前有許多AI繪畫工具可供選擇&#xff0c;以下列舉了一些常見的AI繪畫工具&#xff1a; 1. DeepArt.io&#xff1a;該工具使用深度學習算法生成藝術風格的圖像&#xff0c;并可以將輸入圖像與指定的藝術風格進行合并。 2. Prisma&#xff1a;這是一款非常流行的AI繪畫應用&a…

SQL Server —— While語句循環

一&#xff1a;簡介 while 循環是有條件的循環控制語句。滿足條件后&#xff0c;再執行循環體中的SQL語句。 while: break, 如果有多條語句可以在while后面添加begin-end。關于while的語法 while(條件) -- begin -- 語句1 -- 語句2 -- break 根據情況是否添加break -- end 二…

leetcode日記(32)字符串相乘

做了很久很久……真的太繁瑣了&#xff01;&#xff01; class Solution { public:string multiply(string num1, string num2) {string s;string str;if (num1 "0" || num2 "0") return "0";for(int inum2.size()-1;i>0;i--){int c2num2[…

Open CASCADE學習|全局屬性

目錄 1、概念解釋 質心&#xff1a; 重心&#xff1a; 慣性矩&#xff1a; 慣性矩陣&#xff1a; 主慣性矩&#xff1a; 靜態慣性矩&#xff1a; 2、API 1、概念解釋 質心&#xff1a; 質心是質量中心的簡稱&#xff0c;指物質系統上被認為質量集中于此的一個假想點。…

Qt:tabWidget控件

一、tabWidget用來做什么 tabWidget控件用來進行不同控件頁面的跳轉&#xff0c; 二、控件的一些函數功能 添加一個頁面&#xff0c;返回index int addTab(QWidget *widget, const QString &); int addTab(QWidget *widget, const QIcon& icon, const QString &…

pytest教程-11-初識fixture

領取資料&#xff0c;咨詢答疑&#xff0c;請?wei: June__Go 上一小節我們學習了使用allure生成html測試報告的方法&#xff0c;本小節我們講解一下pytest fixture測試夾具的使用方法。 前言 在做自動化的過程中&#xff0c;編寫用例時候需要用到用例的前置和用例的后置&a…

2024年了,抖店還能做嗎?適合新手嗎?

我是電商珠珠 現在已經24年了&#xff0c;抖店也已經發展了四年了。其中有很多在門外觀望的人&#xff0c;還在猶豫不決。認為抖店發展到今天&#xff0c;所有的紅利早已在20年的時候就消失殆盡了&#xff0c;特別是沒有經驗的如果入駐了&#xff0c;既不能享受平臺紅利&#…

后端程序員入門react筆記(四)-綜合運用,寫一個小demo

樣式模塊化 有時候我們會遇到這樣的問題&#xff0c;有兩個css對一個class聲明了樣式&#xff0c;這樣的話后引入的css會覆蓋前面的css樣式&#xff0c;導致樣式沖突&#xff0c;那么我們怎么解決這種問題呢&#xff0c;我們可以使用樣式的模塊化&#xff0c;我們起名一個inde…

全棧筆記_瀏覽器擴展篇(插件開發 - chrome瀏覽器proxy代理)

代理類型 常用的包括http、https、socks代理 配置權限 要讓擴展使用代理接口,需要聲明proxy權限: // manifest.json "permissions": ["proxy" ]設置代理服務器 chrome.proxy.settings.set({ scope: ‘regular’, value: 代理配置},回調函數) 代理配…

【前端面經2】京東一面

題目來源&#xff1a;牛客網 自我介紹 動態參數解析的解決方案 對于動態部分使用…args進行接受&#xff0c;可以把動態部分提取成數組 前端安全問題 CDN劫持 內容安全策略CSP 安全沙箱 Iframe 跨站腳本攻擊XSS 攻擊者通過在目標網站上注入惡意腳本&#xff0c;使之在…

OpenHarmony驅動框架HDF中設備管理服務構建過程詳解

前言 如下圖&#xff0c;開源鴻蒙系統驅動框架HDF在內核中的實現&#xff0c;可以分為向用戶層提供設備服務的管理模塊&#xff08;Manager&#xff09;&#xff0c;和實際管理硬件的Host模塊。 Manager分為DeviceManageService和 DeviceServiceManage&#xff0c;前者負責提供…