成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一步步帶你用LoRA微調(diào)大模型-執(zhí)行篇

發(fā)布于 2025-6-11 06:50
瀏覽
0收藏

一、配置與安裝

我在嘗試運(yùn)行Alpaca-LoRA工具給大模型做微調(diào)時(shí),發(fā)現(xiàn)了準(zhǔn)備篇中的一些方法存在問(wèn)題。經(jīng)過(guò)了反復(fù)摸索,有以下幾點(diǎn)需要重新配置一下。

1.  由于https://huggingface.co/ 國(guó)內(nèi)無(wú)法訪問(wèn),需要預(yù)先從鏡像站:https://hf-mirror.com/ 下載好模型文件,而且需要重新選擇 baffo32/decapoda-research-llama-7B-hf 模型進(jìn)行微調(diào),因?yàn)檫@是Alpaca-LoRA工具的推薦模型,為了提高成功率,本次先選它。

一步步帶你用LoRA微調(diào)大模型-執(zhí)行篇-AI.x社區(qū)

2.  我們準(zhǔn)備用huggingface_hub工具下載模型,先激活conda虛擬環(huán)境,在虛擬環(huán)境中安裝。

pip install -U huggingface_hub

用huggingface-cli 下載,我們把模型文件放到 /home/abcde/models 目錄,這里需要 huggingface token ,記得在指令末尾加上 --token hf_***,  huggingface token需要在官網(wǎng)上注冊(cè)申請(qǐng)。

$huggingface-cli download --resume-download baffo32/decapoda-research-llama-7B-hf --local-dir /home/abcde/models --local-dir-use-symlinks False --token hf_***

一步步帶你用LoRA微調(diào)大模型-執(zhí)行篇-AI.x社區(qū)

當(dāng)然在網(wǎng)頁(yè)上點(diǎn)擊下載也是可行的,而且無(wú)需huggingface token。大家記得要把模型文件放在同一文件夾中。

3.  在虛擬環(huán)境中安裝 peft, transformers, sentencepiece, gradi, scipy, bitsandbytes 這幾個(gè)python包。

用虛擬環(huán)境中執(zhí)行:

$pip install accelerate appdirs loralib black datasets fire peft==0.3.0 transformers==4.29.2 sentencepiece gradio==3.32.0 scipy bitsandbytes==0.37.2

執(zhí)行結(jié)果:

(alpaca_lora) abcde@abcde:~/alpaca-lora$ pip install accelerate appdirs loralib black datasets fire peft==0.3.0 transformers==4.29.2 sentencepiece gradio==3.32.0 scipy bitsandbytes==0.37.2
Requirement already satisfied: accelerate in /home/abcde/miniconda3/envs/alpaca_lora/lib/python3.9/site-packages (0.34.2)
Requirement already satisfied: appdirs in /home/abcde/miniconda3/envs/alpaca_lora/lib/python3.9/site-packages (1.4.4)
Requirement already satisfied: loralib in /home/abcde/miniconda3/envs/alpaca_lora/lib/python3.9/site-packages (0.1.2)
Requirement already satisfied: black in /home/abcde/miniconda3/envs/alpaca_lora/lib/python3.9/site-packages (24.8.0)
Requirement already satisfied: datasets in /home/abcde/miniconda3/envs/alpaca_lora/lib/python3.9/site-packages (3.0.0)
Requirement already satisfied: fire in /home/abcde/miniconda3/envs/alpaca_lora/lib/python3.9/site-packages (0.6.0)
Collecting peft==0.3.0
  Downloading peft-0.3.0-py3-none-any.whl.metadata (21 kB)
Collecting transformers==4.29.2
  Downloading transformers-4.29.2-py3-none-any.whl.metadata (112 kB)
Requirement already satisfied: sentencepiece in /home/abcde/miniconda3/envs/alpaca_lora/lib/python3.9/site-packages (0.2.0)
  • transformers 庫(kù)用于加載、訓(xùn)練、保存模型
  • peft 庫(kù)則是用于幫助你使用LoRA的
  • bitsandbytes 用于使用GPU資源訓(xùn)練模型

4. 在執(zhí)行前,設(shè)置transformers、datasets庫(kù)的離線模式,在SHELL中添加變量,在虛擬環(huán)境中執(zhí)行。

HF_DATASETS_OFFLINE=1 TRANSFORMERS_OFFLINE=1

二、啟動(dòng)微調(diào)

完成上述安裝與配置后,在conda建立的虛擬環(huán)境中,用以下指令啟動(dòng)微調(diào),如果啟動(dòng)時(shí)還有各種報(bào)錯(cuò),可能還是相關(guān)的Python包安裝不正確導(dǎo)致,遇到問(wèn)題也歡迎各位留言。

python finetune.py \
    --base_model '/home/abcde/models' \
    --data_path /home/abcde/data/trans_chinese_alpaca_data.json' \
    --output_dir './AlpacaLora_model' \
    --batch_size 128 \
    --micro_batch_size 4 \
    --num_epochs 3 \
    --learning_rate 1e-4 \
    --cutoff_len 512 \
    --val_set_size 2000 \
    --lora_r 8 \
    --lora_alpha 16 \
    --lora_dropout 0.05 \
    --lora_target_modules '[q_proj,v_proj]' \
    --train_on_inputs \
    --group_by_length

參數(shù)簡(jiǎn)單說(shuō)明如下:

--base_model : 模型文件存放文件夾,注意是文件夾名稱,并非模型名稱。

--data_path:     數(shù)據(jù)集文件名,包括數(shù)據(jù)集的完整路徑與文件名稱。

--output_dir:    微調(diào)結(jié)果輸出文件夾,就是微調(diào)完成后的文件存放地。

 --batch_size:   每次訓(xùn)練迭代中處理的樣本總數(shù),對(duì)訓(xùn)練的效率和穩(wěn)定性有顯著影響。

 --micro_batch_size: 是微批次的大小,會(huì)通過(guò)梯度累積的方式來(lái)節(jié)省顯存。值越大,占用的顯存越高,請(qǐng)根據(jù)實(shí)際情況調(diào)整。

--num_epochs: 訓(xùn)練輪數(shù),2~3個(gè)epoch基本上可以達(dá)到較好的效果

--learning_rate:訓(xùn)練時(shí)的學(xué)習(xí)率,`1e-4`即`0.0001`

--cutoff_len:     處理數(shù)據(jù)時(shí)將輸入文本截?cái)嗟淖畲箝L(zhǎng)度,有助于控制內(nèi)存消耗和計(jì)算成本。

--val_set_size:   用于驗(yàn)證的數(shù)據(jù)集的大小,有助于監(jiān)控模型在未見(jiàn)數(shù)據(jù)上的表現(xiàn)。

--lora_r:        在LoRA適配器中使用的秩(rank)。秩決定了適配器中低秩矩陣的大小,從而影響模型的靈活性和需要訓(xùn)練的參數(shù)數(shù)量。

--lora_alpha:    定義了LoRA適配器的學(xué)習(xí)率縮放因子。

--lora_dropout:用于指定LoRA適配器中的dropout率。Dropout是一種正則化技術(shù),用于防止模型過(guò)擬合。

--lora_target_modules:用于指定哪些模型組件(模塊)將應(yīng)用LoRA適配器。通過(guò)選擇性地對(duì)模型的某些部分進(jìn)行微調(diào),可以減少訓(xùn)練參數(shù)的數(shù)量,從而提高微調(diào)的效率。

--train_on_inputs:決定是否在訓(xùn)練過(guò)程中同時(shí)更新模型的輸入?yún)?shù)。如果設(shè)置為True,則模型的輸入表示也會(huì)在訓(xùn)練過(guò)程中被更新。

--group_by_length:控制數(shù)據(jù)加載時(shí)是否根據(jù)序列長(zhǎng)度對(duì)批次進(jìn)行分組,如果設(shè)置為True,相似長(zhǎng)度的序列將被分組在一起。

如果一切正常,你將看到以下畫面,開(kāi)始微調(diào)。

一步步帶你用LoRA微調(diào)大模型-執(zhí)行篇-AI.x社區(qū)

微調(diào)過(guò)程花了大概6小時(shí)50分鐘,整個(gè)過(guò)程都用nvitop監(jiān)控,我的RTX4090基本是全速開(kāi)火的,核心溫度飆升到80多度,整機(jī)功率500多w,機(jī)箱風(fēng)扇全速開(kāi)動(dòng),呼呼地噴著熱氣,比暖氣機(jī)都好使,有點(diǎn)小興奮,也有點(diǎn)小擔(dān)心,溫度會(huì)不會(huì)太高了,燒機(jī)了。最后還好,微調(diào)完成后,GPU核心溫度慢慢降到60度以下的正常水平。看來(lái)機(jī)箱還有加強(qiáng)散熱才行。

一步步帶你用LoRA微調(diào)大模型-執(zhí)行篇-AI.x社區(qū)

一步步帶你用LoRA微調(diào)大模型-執(zhí)行篇-AI.x社區(qū)

微調(diào)完成

三、小結(jié)

以上介紹的是Alpaca-Lora基于LLaMA(7B)大模型的微調(diào)方法,它的魅力在于能夠在相對(duì)較短的時(shí)間內(nèi),用相對(duì)有限的GPU資源完成模型的優(yōu)化,它是一種大模型優(yōu)化的重要方法,為打造企業(yè)和個(gè)人的私有大模型提供了一種高效的方法。

本文轉(zhuǎn)載自??碼農(nóng)隨心筆記??,作者:碼農(nóng)隨心筆記

已于2025-6-11 09:43:30修改
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦
主站蜘蛛池模板: 97色在线观看免费视频 | 99久久精品一区二区毛片吞精 | 国产69久久精品成人看动漫 | 在线免费小视频 | 国精产品一品二品国精在线观看 | 三级特黄特色视频 | 一区二区三区欧美在线 | 国产精品久久久久久亚洲调教 | 在线观看亚洲专区 | 日韩欧美视频在线 | 97高清国语自产拍 | 亚洲日日操 | 国产成人精品一区二区三 | 日韩1区2区 | 欧美精品综合 | 极情综合网 | cao视频| 亚洲精品乱码久久久久久久久 | 欧美一区二区三区的 | 中文字幕久久久 | av一二三四| 亚洲国产偷 | 日韩精品在线看 | 亚洲日日夜夜 | 亚洲精品成人网 | 91免费电影 | 欧美精选一区二区 | 在线观看成人小视频 | a亚洲精品| 欧美aaa| 黄色91在线 | 免费视频一区二区 | 久久久久久久av | 特级做a爰片毛片免费看108 | 日韩精品一区二区三区 | 激情网站在线观看 | 久久夜色精品国产 | 久久国产99| 农村黄性色生活片 | 日韩 国产 在线 | 欧美国产日韩在线观看成人 |