日韩欧美看国产,欧美精品一二三四,懂色av一区二区三区在线播放,久久噜噜亚洲综合

如何使用QLoRA和FSDP在2X RTX 4090上訓(xùn)練 70b 語(yǔ)言模型?
發(fā)布時(shí)間: 2024-08-06 14:16

最近有用戶展示了一種在 48GB GPU RAM 上訓(xùn)練大模型(例如 Llama 2 70B)的方法。此外,它可以在多個(gè) GPU 上運(yùn)行,因此可以在 2X 4090 實(shí)例上訓(xùn)練模型!


新的fsdp_qlora開(kāi)源軟件有許多訓(xùn)練選項(xiàng)和示例。該軟件基于兩個(gè)重要理念:


QLoRA(量化 LoRA)結(jié)合了量化(使用更少的位來(lái)存儲(chǔ)模型權(quán)重)和 LoRA(低秩自適應(yīng),將小型可訓(xùn)練矩陣添加到凍結(jié)的基礎(chǔ)模型)。這允許使用帶有可訓(xùn)練 LoRA 適配器的量化基礎(chǔ)模型來(lái)訓(xùn)練大于 GPU 內(nèi)存的模型。但是,QLoRA 仍然存在局限性,例如需要昂貴的 GPU 并且由于內(nèi)存限制而限制序列長(zhǎng)度和批處理大小。


FSDP(完全分片數(shù)據(jù)并行)是由 Meta 開(kāi)發(fā)的一個(gè)庫(kù),它可以有效地將大型模型拆分到多個(gè) GPU 上,從而允許同時(shí)使用它們。它改進(jìn)了之前的黃金標(biāo)準(zhǔn) DDP(分布式數(shù)據(jù)并行),后者要求完整模型適合每個(gè) GPU。通過(guò)將模型參數(shù)分片到多個(gè) GPU,F(xiàn)SDP 可以訓(xùn)練超出單個(gè) GPU 內(nèi)存的大型模型。


本指南將向您展示如何在捷智算平臺(tái)上租用 2X 實(shí)例以按需運(yùn)行該軟件。


如何使用QLoRA和FSDP在2X RTX 4090上訓(xùn)練 70b 語(yǔ)言模型?


如何在捷智算平臺(tái)2X 3090/4090 實(shí)例上運(yùn)行 fsdp_qlora


  1. 捷智算平臺(tái)有大量 RTX 3090 和 RTX 4090 GPU,非常適合運(yùn)行 fsdp_qlora。您需要一個(gè)帶有積分的捷智算平臺(tái)帳戶。

  2. 創(chuàng)建您的捷智算帳戶,添加信用并在本地機(jī)器上安裝。

  3. 設(shè)置捷智算平臺(tái)帳戶并驗(yàn)證您的電子郵件地址。向您的帳戶添加一些用于 GPU 租賃的信用額度。然后安裝。


搜索捷智算算力市場(chǎng)


我們需要找到合適的 GPU。根據(jù)我的測(cè)試,訓(xùn)練 Llama 70B 需要 200GB 的系統(tǒng) RAM。此查詢將返回適合 2X 4090 實(shí)例的按需 GPU 優(yōu)惠,按下載帶寬排序


對(duì)于 2X 4090 實(shí)例


vastai search offers "gpu_name=RTX_4090 cpu_ram>=130 disk_space>140 num_gpus=2" -o "inet_down-"


對(duì)于 2X 3090 實(shí)例


vastai search offers "gpu_name=RTX_3090 cpu_ram>=130 disk_space>140 num_gpus=2" -o "inet_down-"


創(chuàng)建捷智算平臺(tái)實(shí)例


優(yōu)惠列表將包含大量有關(guān)可用機(jī)器的詳細(xì)信息。要選擇一個(gè),您將需要優(yōu)惠 ID。然后在創(chuàng)建命令中使用該 ID 以及 Pytorch Cuda Devel 模板哈希。


此命令將根據(jù)提供的報(bào)價(jià)創(chuàng)建一個(gè)實(shí)例,使用該模板并分配 200GB 的磁盤(pán)。


將 XXXXXXX 替換為來(lái)自市場(chǎng)的優(yōu)惠 ID。


vastai create instance XXXXXXX --template_hash e4c5e88bc289f4eecb0c955c4fe7430d --disk 200


通過(guò) SSH 進(jìn)入捷智算平臺(tái)實(shí)例


等待幾分鐘,讓實(shí)例啟動(dòng)。您可以使用 WebUI通過(guò)單擊 >_ 按鈕獲取直接 SSH 命令。


要通過(guò) SSH 連接,您只需使用從實(shí)例卡復(fù)制的命令。它看起來(lái)類似于以下內(nèi)容:

ssh -p <port> <sshURL> -L 8080:localhost:8080


安裝 fsdp_qlora 并登錄 Hugging Face

git clone https://github.com/AnswerDotAI/fsdp_qlora

pip install llama-recipes fastcore --extra-index-url https://download.pytorch.org/whl/test/cu118

pip install bitsandbytes>=0.43.0

pip install wandb


登錄 Hugging Face,粘貼你的 API 密鑰來(lái)下載模型

huggingface-cli login


可選:登錄 wandb 以啟用 Weights and Balances 日志記錄

wandb login


可選擇設(shè)置 HQQ

HQQ 是一種快速且準(zhǔn)確的模型量化器。它可以代替 bitsandbytes 使用。如果您想使用它,您需要先安裝它。

git clone https://github.com/mobiusml/hqq.git


安裝 HQQ

cd hqq && pip install .


訓(xùn)練模型

有關(guān)完整選項(xiàng),請(qǐng)查看Github repo。此示例將使用 hqq_lora 對(duì) Llama 70B 進(jìn)行微調(diào)。


例如:微調(diào) Llama 2 70B,上下文長(zhǎng)度為 512

cd ~/fsdp_qlora

python train.py

--model_name meta-llama/Llama-2-70b-hf

--batch_size 2

--context_length 512

--precision bf16

--train_type qlora

--use_gradient_checkpointing true

--use_cpu_offload true

--dataset alpaca

--reentrant_checkpointing true


故障排除


在某些情況下,系統(tǒng)似乎僅在 CPU 上運(yùn)行。 GPU 可能無(wú)法被識(shí)別。 監(jiān)控fsdp_qlora repo以獲取幫助。


對(duì)于與實(shí)例或使用捷智算平臺(tái)相關(guān)的任何問(wèn)題,請(qǐng)點(diǎn)擊捷智算平臺(tái)右下角的網(wǎng)站支持聊天以獲得即時(shí)支持。


有時(shí),它可以幫助導(dǎo)出 cuda 可見(jiàn)設(shè)備,以幫助解決 GPU 無(wú)法加載且 CPU 完成所有工作的問(wèn)題。


export CUDA_VISIBLE_DEVICES=0,1

粵公網(wǎng)安備 44030502006483號(hào)、 粵ICP備15047669號(hào)
  • 捷易科技聯(lián)系人
  • 主站蜘蛛池模板: 金堂县| 峡江县| 林芝县| 罗平县| 富裕县| 苏尼特右旗| 确山县| 叶城县| 大邑县| 合肥市| 额敏县| 汉中市| 京山县| 北安市| 水富县| 南汇区| 西昌市| 蚌埠市| 怀集县| 青冈县| 灵宝市| 寻甸| 砀山县| 饶平县| 嘉峪关市| 桂平市| 贞丰县| 忻州市| 宝坻区| 阿尔山市| 盐城市| 长岭县| 三门县| 冷水江市| 额敏县| 宁乡县| 曲阜市| 阜新市| 泸西县| 建阳市| 银川市|