文章目录
- 0 相关资料
- 1 源码安装
- 2 Qwen2.5-0.5B-Instruct 模型下载
- 3 训练demo
- 4 在多个 GPU/节点上进行训练
- 总结
0 相关资料
https://github.com/huggingface/trl
https://blog.csdn.net/weixin_42486623/article/details/134326187
TRL 是一个先进的库,专为训练后基础模型而设计,采用了监督微调 (SFT)、近端策略优化 (PPO) 和直接偏好优化 (DPO) 等先进技术。TRL 建立在 🤗 Transformers 生态系统之上,支持多种模型架构和模态,并可在各种硬件配置上进行扩展。
b站视频:https://www.bilibili.com/video/BV18ndfYfEcz/
PyTorch / 2.3.0 / 3.12(ubuntu22.04) / 12.1
1 源码安装
source /etc/network_turbo
git clone https://github.com/huggingface/trl.git
cd trl/
pip install -e .
source /etc/network_turbo
pip install trl transformers datasets accelerate
2 Qwen2.5-0.5B-Instruct 模型下载
https://www.modelscope.cn/models/Qwen/Qwen2.5-0.5B-Instruct
source /etc/network_turbo
pip install modelscope
采用SDK方式下载
from modelscope import snapshot_download# 指定模型的下载路径
cache_dir = '/root/'
# 调用 snapshot_download 函数下载模型
model_dir = snapshot_download('Qwen/Qwen2.5-0.5B-Instruct', cache_dir=cache_dir)print(f"模型已下载到: {model_dir}")
3 训练demo
demo.py
执行脚本前,输入:
source /etc/network_turbo
from trl import SFTTrainer
from datasets import load_datasetdataset = load_dataset("trl-lib/Capybara", split="train")trainer = SFTTrainer(model="/root/Qwen/Qwen2.5-0.5B-Instruct",train_dataset=dataset,
)
trainer.train()
00:15<1:57:58,
4 在多个 GPU/节点上进行训练
执行脚本前,输入:
source /etc/network_turbo
accelerate launch --config_file=examples/accelerate_configs/multi_gpu.yaml --num_processes 2 demo.py --all_arguments_of_the_script
总结
一块L20 GPU 48G,需要2小时
两块L20 GPU 48G,需要0.5小时
速度提升明显