TRL 文件
示例
並獲得增強的文件體驗
開始使用
示例
簡介
這些示例應該可以在以下任何設定中執行(使用相同的指令碼)
- 單 GPU
- 多 GPU(使用 PyTorch 分散式模式)
- 多 GPU(使用 DeepSpeed ZeRO-Offload 階段 1、2 和 3)
- fp16(混合精度)、fp32(正常精度)或 bf16(bfloat16 精度)
要在這些不同的模式下執行,首先使用 accelerate config
初始化 accelerate 配置
要使用 4 位或 8 位模型進行訓練,請執行
pip install --upgrade trl[quantization]
Accelerate 配置
對於所有示例,你需要使用以下命令生成一個 🤗 Accelerate 配置檔案
accelerate config # will prompt you to define the training configuration
然後,鼓勵使用 accelerate launch
來啟動任務!
維護的示例
指令碼可用作如何使用 TRL 訓練器的示例。它們位於 trl/scripts
目錄中。此外,我們在 examples/scripts
目錄中提供示例。這些示例會定期維護和測試。
這裡還有一些更易於執行的 colab notebooks,您可以使用它們來開始使用 TRL
檔案 | 描述 |
---|---|
examples/notebooks/best_of_n.ipynb | 此 notebook 演示了在使用 PPO 微調模型時如何使用 TRL 的“N 中選優”取樣策略。 |
examples/notebooks/gpt2-sentiment.ipynb | 此 notebook 演示瞭如何在 jupyter notebook 上覆現 GPT2 imdb 情感微調示例。 |
examples/notebooks/gpt2-control.ipynb | 此 notebook 演示瞭如何在 jupyter notebook 上覆現 GPT2 情感控制示例。 |
我們還有一些其他維護較少的示例,可以作為參考
- research_projects:檢視此資料夾以查詢用於某些使用 TRL 的研究專案(LM 去毒化、Stack-Llama 等)的指令碼
分散式訓練
所有指令碼都可以在多個 GPU 上執行,只需在呼叫 accelerate launch
時提供 🤗 Accelerate 配置檔案的路徑。要在一個或多個 GPU 上啟動其中一個指令碼,請執行以下命令(將 {NUM_GPUS}
替換為您的機器中的 GPU 數量,將 --all_arguments_of_the_script
替換為您的引數)。
accelerate launch --config_file=examples/accelerate_configs/multi_gpu.yaml --num_processes {NUM_GPUS} path_to_script.py --all_arguments_of_the_script
您還可以調整 🤗 Accelerate 配置檔案的引數以滿足您的需求(例如,混合精度訓練)。
使用 DeepSpeed 進行分散式訓練
大多數指令碼都可以與 DeepSpeed ZeRO-{1,2,3} 一起在多個 GPU 上執行,以實現最佳化器狀態、梯度和模型權重的有效分片。為此,請執行以下命令(將 {NUM_GPUS}
替換為您的機器中的 GPU 數量,將 --all_arguments_of_the_script
替換為您的引數,並將 --deepspeed_config
替換為 DeepSpeed 配置檔案的路徑,例如 examples/deepspeed_configs/deepspeed_zero1.yaml
)
accelerate launch --config_file=examples/accelerate_configs/deepspeed_zero{1,2,3}.yaml --num_processes {NUM_GPUS} path_to_script.py --all_arguments_of_the_script