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