已合并
【part 2】支持trl ppo, 增加PPOEngine和PPOTrainer #2094
AtomGit-Bot创建于 2024年12月24日
【part 2】支持trl ppo, 增加PPOEngine和PPOTrainer #2094
已合并
AtomGit-Bot创建于 2024年12月24日
refs/pull/2094/head合入到master
AtomGit-Bot
2024年12月24日

主要修改

本ppo实现为4模型共卡版本。
1、增加ppo.py文件,包括PPOEngine类和PPOTrainer类。
2、readme和sh脚本

目前局限

1、4模型只支持同类同参数模型
2、只支持tp、pp、dp
3、4模型tp、pp、dp需一致
4、梯度累积、rollout_batch_size、ppo_epoch未支持
5、更多观测指标的日志未支持
6、val/test数据集评估未支持

loss对齐:

数据集:alpaca
模型:4个模型都由llama-3.2-1b训练得到
trl 使用 单卡全参训练。
mindspeed-llm 使用 单机4卡 TP2 PP2 全参训练。

训练参数设置:

per_device_train_batch_size: 1
gradient_accumulation_steps: 1
learning_rate: 1.0e-7
lr_scheduler_type: constant
fp32: true

训练 Loss 对比:
输入图片说明

likedislike
Pull Request已成功合入, 合并人@
(感谢 AtomGit-Bot 的贡献)
AtlasAccountAtlasAccount成员
2025年1月17日 添加了   ci-pipeline-running 标签
AtlasAccountAtlasAccount成员
2025年1月17日 添加了   ci-pipeline-running 标签
AtlasAccountAtlasAccount成员
2025年1月17日 移除了   ci-pipeline-failed 标签
AtlasAccountAtlasAccount成员
2025年1月17日 移除了   ci-pipeline-running 标签
AtlasAccountAtlasAccount成员
2025年1月17日 添加了   ci-pipeline-running 标签
此处折叠了208条消息 查看更多
AtlasAccountAtlasAccount成员
2024年12月31日 添加了   ci-pipeline-failed 标签
AtlasAccountAtlasAccount成员
2024年12月31日 添加了   ci-pipeline-failed 标签
AtlasAccountAtlasAccount成员
2024年12月31日 添加了   ci-pipeline-running 标签
AtlasAccountAtlasAccount成员
2024年12月31日 移除了   ci-pipeline-running 标签
AtlasAccountAtlasAccount成员
2025年1月16日 添加了   ci-pipeline-running 标签