欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)激活碼778899分享:Llama 3 模型微調(diào)的步驟

柚子快報(bào)激活碼778899分享:Llama 3 模型微調(diào)的步驟

http://yzkb.51969.com/

環(huán)境準(zhǔn)備

操作系統(tǒng):Ubuntu 22.04.5 LTS

Anaconda3:Miniconda3-latest-Linux-x86_64

GPU: NVIDIA GeForce RTX 4090 24G

Step 1. 準(zhǔn)備conda環(huán)境

創(chuàng)建一個(gè)新的conda環(huán)境:

conda create --name llama_factory python=3.11

激活剛剛創(chuàng)建的conda環(huán)境:

conda activate llama_factory

Step 2. 下載LLaMA-Factory的項(xiàng)目文件

下載LLama_Factory源碼:

git clone https://github.com/hiyouga/LLaMA-Factory.git

Step 3. 升級(jí)pip版本

建議在執(zhí)行項(xiàng)目的依賴安裝之前升級(jí) pip 的版本,如果使用的是舊版本的 pip,可能無法安裝一些最新的包,或者可能無法正確解析依賴關(guān)系。升級(jí) pip 很簡(jiǎn)單,只需要運(yùn)行命令如下命令:

python -m pip install --upgrade pip

Step 4. 使用pip安裝LLaMA-Factory項(xiàng)目代碼運(yùn)行的項(xiàng)目依賴

pip install -r requirements.txt --index-url https://mirrors.huaweicloud.com/repository/pypi/simple

Step 5. Llama3模型下載

在~/ai-test/創(chuàng)建如下目錄:

mkdir model

存放模型文件

cd model

可以從下面地址中下載模型文件,這里我們從ModelScope來下載

huggingface Llama3模型主頁:

https://huggingface.co/meta-llama/

Github主頁:

https://github.com/meta-llama/llama3/tree/main

ModelScope Llama3-8b模型主頁:

https://www.modelscope.cn/models/LLM-Research/Meta-Llama-3-8B-Instruct/summary

git clone https://www.modelscope.cn/LLM-Research/Meta-Llama-3-8B-Instruct.git

Step 6. 運(yùn)行原始模型

切換到LLama_Factory目錄下

cd ~/ai-test/LLaMA-Factory

CUDA_VISIBLE_DEVICES=0 python src/web_demo.py \

--model_name_or_path /home/oneview/ai-test/model/Meta-Llama-3-8B-Instruct \

--template llama3 \

--infer_backend vllm \

--vllm_enforce_eager

訪問http://127.0.0.1:8000輸入“你好,請(qǐng)介紹下你自己”,可以發(fā)現(xiàn)模型還不具備中文處理能力,后面我們將用中文數(shù)據(jù)集對(duì)模型進(jìn)行微調(diào)。 通過上述步驟就已經(jīng)完成了LLaMA-Factory模型的完整私有化部署過程。

接下來是微調(diào)的步驟

Step 1. 查看微調(diào)中文數(shù)據(jù)集數(shù)據(jù)字典

我們找到./LLaMA-Factory目錄下的data文件夾: 查看dataset_info.json:

找到當(dāng)前數(shù)據(jù)集名稱:alpaca_zh。數(shù)據(jù)集情況如下:

Step 2. 創(chuàng)建微調(diào)腳本

切換到./LLaMA-Factory目錄,創(chuàng)建一個(gè)名為single_lora_llama3.sh的腳本(腳本的名字可以自由命名)。

#!/bin/bash

export CUDA_DEVICE_MAX_CONNECTIONS=1

export NCCL_P2P_DISABLE="1"

export NCCL_IB_DISABLE="1"

# 如果是預(yù)訓(xùn)練,添加參數(shù) --stage pt \

# 如果是指令監(jiān)督微調(diào),添加參數(shù) --stage sft \

# 如果是獎(jiǎng)勵(lì)模型訓(xùn)練,添加參數(shù) --stage rm \

# 添加 --quantization_bit 4 就是4bit量化的QLoRA微調(diào),不添加此參數(shù)就是LoRA微調(diào) \

CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \ ## 單卡運(yùn)行

--stage sft \ ## --stage pt (預(yù)訓(xùn)練模式) --stage sft(指令監(jiān)督模式)

--do_train True \ ## 執(zhí)行訓(xùn)練模型

--model_name_or_path /home/oneview/ai-test/model/Meta-Llama-3-8B-Instruct \ ## 模型的存儲(chǔ)路徑

--dataset alpaca_zh \ ## 訓(xùn)練數(shù)據(jù)的存儲(chǔ)路徑,存放在 LLaMA-Factory/data路徑下

--template llama3 \ ## 選擇Qwen模版

--lora_target q_proj,v_proj \ ## 默認(rèn)模塊應(yīng)作為

--output_dir /home/oneview/ai-test/Llama3/output \ ## 微調(diào)后的模型保存路徑

--overwrite_cache \ ## 是否忽略并覆蓋已存在的緩存數(shù)據(jù)

--per_device_train_batch_size 2 \ ## 用于訓(xùn)練的批處理大小??筛鶕?jù) GPU 顯存大小自行設(shè)置。

--gradient_accumulation_steps 64 \ ## 梯度累加次數(shù)

--lr_scheduler_type cosine \ ## 指定學(xué)習(xí)率調(diào)度器的類型

--logging_steps 5 \ ## 指定了每隔多少訓(xùn)練步驟記錄一次日志。這包括損失、學(xué)習(xí)率以及其他重要的訓(xùn)練指標(biāo),有助于監(jiān)控訓(xùn)練過程。

--save_steps 100 \ ## 每隔多少訓(xùn)練步驟保存一次模型。這是模型保存和檢查點(diǎn)創(chuàng)建的頻率,允許你在訓(xùn)練過程中定期保存模型的狀態(tài)

--learning_rate 5e-5 \ ## 學(xué)習(xí)率

--num_train_epochs 1.0 \ ## 指定了訓(xùn)練過程將遍歷整個(gè)數(shù)據(jù)集的次數(shù)。一個(gè)epoch表示模型已經(jīng)看過一次所有的訓(xùn)練數(shù)據(jù)。

--finetuning_type lora \ ## 參數(shù)指定了微調(diào)的類型,lora代表使用LoRA(Low-Rank Adaptation)技術(shù)進(jìn)行微調(diào)。

--fp16 \ ## 開啟半精度浮點(diǎn)數(shù)訓(xùn)練

--lora_rank 4 \ ## 在使用LoRA微調(diào)時(shí)設(shè)置LoRA適應(yīng)層的秩。

注:實(shí)際腳本文件最好不要出現(xiàn)中文備注,否則容易出現(xiàn)編輯格式導(dǎo)致的問題。

然后為了保險(xiǎn)起見,我們需要對(duì)齊格式內(nèi)容進(jìn)行調(diào)整,以滿足Ubuntu操作系統(tǒng)運(yùn)行需要(此前是從Windows系統(tǒng)上復(fù)制過去的文件,一般都需要進(jìn)行如此操作):

sed -i 's/\r$//' ./single_lora_llama3.sh

Step 3. 運(yùn)行微調(diào)腳本,獲取模型微調(diào)權(quán)重

當(dāng)我們準(zhǔn)備好微調(diào)腳本之后,接下來即可圍繞當(dāng)前模型進(jìn)行微調(diào)了。這里我們直接在命令行中執(zhí)行sh文件即可,注意運(yùn)行前需要為該文件增加權(quán)限:

chmod +x ./single_lora_llama3.sh

./single_lora_llama3.sh

當(dāng)微調(diào)結(jié)束之后,我們就可以在當(dāng)前主目錄下看到新的模型權(quán)重文件:

Step 4. 合并模型權(quán)重,獲得微調(diào)模型

接下來我們需要將該模型權(quán)重文件和此前的原始模型權(quán)重文件進(jìn)行合并,才能獲得最終的微調(diào)模型。LlaMa-Factory中已經(jīng)為我們提供了非常完整的模型合并方法,同樣,我們只需要編寫腳本文件來執(zhí)行合并操作即可,即llama3_merge_model.sh。同樣,該腳本文件也可以按照此前single_lora_llama3.sh腳本相類似的操作,就是將課件中提供的腳本直接上傳到Jupyter主目錄下,再復(fù)制到LlaMa-Factory主目錄下進(jìn)行運(yùn)行。

首先簡(jiǎn)單查看llama3_merge_model.sh腳本文件內(nèi)容:

#!/bin/bash

python src/export_model.py \ ## 用于執(zhí)行合并功能的Python代碼文件

--model_name_or_path /home/oneview/ai-test/model/Meta-Llama-3-8B-Instruct \ ## 原始模型文件

--adapter_name_or_path /home/oneview/ai-test/Llama3/output \ ## 微調(diào)模型權(quán)重文件

--template llama3 \ ## 模型模板名稱

--finetuning_type lora \ ## 微調(diào)框架名稱

--export_dir /home/oneview/ai-test/Llama3/output_lora \ ## 合并后新模型文件位置

--export_size 2 \

--export_legacy_format false

注:實(shí)際腳本文件最好不要出現(xiàn)中文備注,否則容易出現(xiàn)編輯格式導(dǎo)致的問題。

然后運(yùn)行腳本,進(jìn)行模型合并:

./llama3_merge_model.sh

接下來即可查看剛剛獲得的新的微調(diào)模型:

Step 5. 測(cè)試微調(diào)效果

切換到LLama_Factory目錄下

cd ~/ai-test/LLaMA-Factory

CUDA_VISIBLE_DEVICES=0 python src/web_demo.py \

--model_name_or_path /home/oneview/ai-test/Llama3/llama3_lora \

--template llama3 \

--infer_backend vllm \

--vllm_enforce_eager

運(yùn)行如下:端口可能有所不同

訪問http://127.0.0.1:8000

可以看到,現(xiàn)在的回答已經(jīng)是中文

原文博客地址:https://www.cnblogs.com/hlgnet/articles/18148788

柚子快報(bào)激活碼778899分享:Llama 3 模型微調(diào)的步驟

http://yzkb.51969.com/

參考文章

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19168332.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄