操久久,日韩无码视频123,99热99在线观看,久草免费在线视频

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

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


新的fsdp_qlora開源軟件有許多訓練選項和示例。該軟件基于兩個重要理念:


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


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


本指南將向您展示如何在捷智算平臺上租用 2X 實例以按需運行該軟件。


如何使用QLoRA和FSDP在2X RTX 4090上訓練 70b 語言模型?


如何在捷智算平臺2X 3090/4090 實例上運行 fsdp_qlora


  1. 捷智算平臺有大量 RTX 3090 和 RTX 4090 GPU,非常適合運行 fsdp_qlora。您需要一個帶有積分的捷智算平臺帳戶。

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

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


搜索捷智算算力市場


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


對于 2X 4090 實例


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


對于 2X 3090 實例


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


創(chuàng)建捷智算平臺實例


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


此命令將根據(jù)提供的報價創(chuàng)建一個實例,使用該模板并分配 200GB 的磁盤。


將 XXXXXXX 替換為來自市場的優(yōu)惠 ID。


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


通過 SSH 進入捷智算平臺實例


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


要通過 SSH 連接,您只需使用從實例卡復制的命令。它看起來類似于以下內(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 密鑰來下載模型

huggingface-cli login


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

wandb login


可選擇設置 HQQ

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

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


安裝 HQQ

cd hqq && pip install .


訓練模型

有關完整選項,請查看Github repo。此示例將使用 hqq_lora 對 Llama 70B 進行微調(diào)。


例如:微調(diào) Llama 2 70B,上下文長度為 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 上運行。 GPU 可能無法被識別。 監(jiān)控fsdp_qlora repo以獲取幫助。


對于與實例或使用捷智算平臺相關的任何問題,請點擊捷智算平臺右下角的網(wǎng)站支持聊天以獲得即時支持。


有時,它可以幫助導出 cuda 可見設備,以幫助解決 GPU 無法加載且 CPU 完成所有工作的問題。


export CUDA_VISIBLE_DEVICES=0,1

粵公網(wǎng)安備 44030502006483號、 粵ICP備15047669號
  • 捷易科技聯(lián)系人