Baichuan-13B學(xué)習(xí)與實(shí)戰(zhàn)
發(fā)布日期:2023/7/28 9:47:10 瀏覽量:
-
Baichuan-13B學(xué)習(xí)與實(shí)戰(zhàn)
- Baichuan
- 論文地址:
- Github 代碼:
- baichuan-inc/Baichuan-13B:https://github.com/baichuan-inc/Baichuan-13B
- mark1879/Baichuan-13B-Finetuning:https://github.com/mark1879/Baichuan-13B-Finetuning
- 模型:
- 官方微調(diào)過(guò)(指令對(duì)齊):https://huggingface.co/baichuan-inc/Baichuan-13B-Chat
- 預(yù)訓(xùn)練大模型(未經(jīng)過(guò)微調(diào)):https://huggingface.co/baichuan-inc/Baichuan-13B-Base
- 體驗(yàn)網(wǎng)站:
一、前言
1.1 Baichuan 介紹
Baichuan-13B 是由百川智能繼 Baichuan-7B 之后開(kāi)發(fā)的包含 130 億參數(shù)的開(kāi)源可商用的大規(guī)模語(yǔ)言模型,在權(quán)威的中文和英文 benchmark 上均取得同尺寸最好的效果。Baichuan-13B 有如下幾個(gè)特點(diǎn):
- 更大尺寸、更多數(shù)據(jù):Baichuan-13B 在 Baichuan-7B 的基礎(chǔ)上進(jìn)一步擴(kuò)大參數(shù)量到 130 億,并且在高質(zhì)量的語(yǔ)料上訓(xùn)練了 1.4 萬(wàn)億 tokens,超過(guò) LLaMA-13B 40%,是當(dāng)前開(kāi)源 13B 尺寸下訓(xùn)練數(shù)據(jù)量最多的模型。支持中英雙語(yǔ),使用 ALiBi 位置編碼,上下文窗口長(zhǎng)度為 4096。
- 同時(shí)開(kāi)源預(yù)訓(xùn)練和對(duì)齊模型:預(yù)訓(xùn)練模型是適用開(kāi)發(fā)者的“基座”,而廣大普通用戶對(duì)有對(duì)話功能的對(duì)齊模型具有更強(qiáng)的需求。因此本次開(kāi)源同時(shí)發(fā)布了對(duì)齊模型(Baichuan-13B-Chat),具有很強(qiáng)的對(duì)話能力,開(kāi)箱即用,幾行代碼即可簡(jiǎn)單的部署。
- 更高效的推理:為了支持更廣大用戶的使用,本次同時(shí)開(kāi)源了 int8 和 int4 的量化版本,相對(duì)非量化版本在幾乎沒(méi)有效果損失的情況下大大降低了部署的機(jī)器資源門(mén)檻,可以部署在如 Nvidia 3090 這樣的消費(fèi)級(jí)顯卡上。
- 開(kāi)源免費(fèi)可商用:Baichuan-13B 不僅對(duì)學(xué)術(shù)研究完全開(kāi)放,開(kāi)發(fā)者也僅需郵件申請(qǐng)并獲得官方商用許可后,即可以免費(fèi)商用。
1.2 軟件資源
- CUDA 11.7
- Python 3.10
- pytorch 1.13.1+cu117
1.3 硬件要求
- LoRA 顯存:>= 32G
- QLoRA 顯存:>= 12G
二、環(huán)境搭建
2.1 下載代碼
2.2 構(gòu)建環(huán)境
2.3 安裝依賴
三、Baichuan-13B 大模型
3.1 Baichuan-13B 大模型 介紹
baichuan-13B 大模型 包含 兩種:
- 第一種:Baichuan-13B-Chat 官方微調(diào)過(guò)(指令對(duì)齊)
- 第二種:Baichuan-13B-Base 預(yù)訓(xùn)練大模型(未經(jīng)過(guò)微調(diào))
3.2 Baichuan-13B 大模型 下載
四、Baichuan-13B 模型 LoRA 微調(diào)
4.1 準(zhǔn)備訓(xùn)練數(shù)據(jù)
data 目錄下存儲(chǔ)了訓(xùn)練數(shù)據(jù),可根據(jù)業(yè)務(wù)需要自行準(zhǔn)備數(shù)據(jù),數(shù)據(jù)格式如下:
- instruction:任務(wù)指令,不能為空。
- input:任務(wù)輸入,可為空。如果不為空,項(xiàng)目?jī)?nèi)部處理訓(xùn)練數(shù)據(jù)時(shí),會(huì)將 instruction、input 拼接在一起作為任務(wù)的輸入。
- output:任務(wù)輸出,不能為空。
4.2 Baichuan-13B 模型 LoRA 微調(diào)
運(yùn)行命令
- 參數(shù)介紹:
- CUDA_VISIBLE_DEVICES=0: 單卡運(yùn)行;
- do_train: 是否執(zhí)行訓(xùn)練。
- model_name_or_path: 預(yù)訓(xùn)練模型路徑。
- dataset_dir: 訓(xùn)練數(shù)據(jù)存儲(chǔ)目錄。
- dataset: 訓(xùn)練數(shù)據(jù)集名稱,可在 data/dataset_info.json 中增加自定義數(shù)據(jù)集。
- output_dir: 微調(diào)后的模型保存路徑。
- source_prefix: 訓(xùn)練時(shí)每個(gè)輸入序列添加的前綴,可為空。
- max_source_length: 輸入序列的最大長(zhǎng)度,即 source_prefix + instruction + input 的長(zhǎng)度。
- max_target_length: 輸出序列的最大長(zhǎng)度,即 output 的長(zhǎng)度。
- per_device_train_batch_size: 用于訓(xùn)練的批處理大小??筛鶕?jù) GPU 顯存大小自行設(shè)置。
- gradient_accumulation_steps: 梯度累加次數(shù)。
- logging_steps: 多少步輸出一次 log。
- save_steps: 多少步保存一次參數(shù)。
- learning_rate: AdamW 優(yōu)化器的初始學(xué)習(xí)率。
- num_train_epochs: 訓(xùn)練輪數(shù)(若非整數(shù),則最后一輪只訓(xùn)練部分?jǐn)?shù)據(jù))
- plot_loss: 微調(diào)后繪制損失函數(shù)曲線,圖片保存在 output_dir 中 。
- fp16: 使用半精度(混合精度)訓(xùn)練。
- lora_target: 大模型內(nèi)將要進(jìn)行 LoRA 微調(diào)的模塊名稱。
- lora_rank: LoRA 微調(diào)中的秩大小。
五、Baichuan-13B 模型 LoRA 微調(diào)后模型測(cè)試
運(yùn)行命令
- 參數(shù)介紹:
- CUDA_VISIBLE_DEVICES=0: 單卡運(yùn)行。
- do_eval: 是否執(zhí)行測(cè)試。
- model_name_or_path: 預(yù)訓(xùn)練模型路徑。
- checkpoint_dir: 微調(diào)模型路徑。
- dataset_dir: 測(cè)試數(shù)據(jù)存儲(chǔ)目錄。
- dataset: 測(cè)試數(shù)據(jù)集名稱,可在 data/dataset_info.json 中增加自定義數(shù)據(jù)集。
- output_dir: 測(cè)試結(jié)果保存路徑。
- per_device_eval_batch_size: 測(cè)試數(shù)據(jù)的批處理大小??筛鶕?jù) GPU 顯存大小,自行設(shè)置。
- predict_with_generate: 是否生成序列用于計(jì)算 ROUGE 或 BLEU 分?jǐn)?shù)。
六、Baichuan-13B 模型 部署
- 參數(shù)介紹:
- model_name_or_path: 預(yù)訓(xùn)練模型路徑。
- checkpoint_dir: 微調(diào)模型路徑。
填坑筆記
參考
- baichuan-inc/Baichuan-13B:https://github.com/baichuan-inc/Baichuan-13B
- mark1879/Baichuan-13B-Finetuning:https://github.com/mark1879/
- 官方微調(diào)過(guò)(指令對(duì)齊):https://huggingface.co/baichuan-inc/Baichuan-13B-Chat
- 預(yù)訓(xùn)練大模型(未經(jīng)過(guò)微調(diào)):https://huggingface.co/baichuan-inc/Baichuan-13B-Base
馬上咨詢: 如果您有業(yè)務(wù)方面的問(wèn)題或者需求,歡迎您咨詢!我們帶來(lái)的不僅僅是技術(shù),還有行業(yè)經(jīng)驗(yàn)積累。
QQ: 39764417/308460098 Phone: 13 9800 1 9844 / 135 6887 9550 聯(lián)系人:石先生/雷先生