diff --git a/docs/features/grpo_yaml.md b/docs/features/grpo_yaml.md index 17b322971f8853045d6eedeb7b49b113018a413d..6a9c72bd7fab715a4d417ad3275ffee4f8823d03 100644 --- a/docs/features/grpo_yaml.md +++ b/docs/features/grpo_yaml.md @@ -23,9 +23,9 @@ MindSpeed RL 通过将模型参数和训练配置解耦的层级化参数配置 * `其余参数`: 其余参数为Megatron训练中的特性配置; #### 全量重计算 -* `recompute-granularity`: 对于内存非常有限的情况,全量重计算只保存 Transformer 层或层组的输入激活值,其他部分全部重新计算,设置该属性为 full; -* `recompute-num-layers`: 指定重计算分组层数 or 指定重计算层数; -* `recompute-method`: 在全量重计算的前提下,设置 recompute-method 为 uniform 代表将Transformer 层均匀划分组(每组大小 recompute-num-layers),按组存储输入和激活值;设置为 block 代表将前 recompute-num-layers 个 Transformer 层重计算,剩余层不进行重计算; +* `recompute-granularity`: 可选,对于内存非常有限的情况,全量重计算只保存 Transformer 层或层组的输入激活值,其他部分全部重新计算,设置该属性为 full; +* `recompute-num-layers`: 可选,指定重计算分组层数 or 指定重计算层数; +* `recompute-method`: 可选,在全量重计算的前提下,设置 recompute-method 为 uniform 代表将Transformer 层均匀划分组(每组大小 recompute-num-layers),按组存储输入和激活值;设置为 block 代表将前 recompute-num-layers 个 Transformer 层重计算,剩余层不进行重计算; ### `actor_config:` @@ -43,25 +43,31 @@ MindSpeed RL 通过将模型参数和训练配置解耦的层级化参数配置 * `save`:模型保存的路径; * `no_load_optim`:续训加载优化器状态,默认为false; * `no_load_rng`:续训加载数据随机数生成器,默认为false; -* `no_save_optim`:保存优化器状态,默认为false; -* `no_save_rng`:保存数据随机数生成器,默认为false; +* `no_save_optim`:可选,保存优化器状态,默认为false; +* `no_save_rng`:可选,保存数据随机数生成器,默认为false; ### `rl_config: ` * `use_integrated_worker`:是否开启全共卡模式,默认为 true; * `blocking`:是否开启异步,默认为 true; +* `gamma`:奖励折扣因子,默认为 1.0; +* `lam`:GAE参数,默认为 0.95; * `actor_forward_micro_batch_size`:actor model 前向计算 logp 的 mbs 大小; * `ref_forward_micro_batch_size`:ref model 前向计算 logp 的 mbs 大小; * `adv_estimator`:优势计算方法; +* `kl_penalty`:kl 散度惩罚系数; * `kl_ctrl_type`:kl loss 计算方法; * `init_kl_coef`:kl loss 所占权重; * `mini_batch_size`:每 mini batch size 之后 actor 会更新一次; * `max_prompt_length`:GRPO 训练中最大 prompt 长度,默认为512; +* `epochs`:训练轮次,用来控制采样数据被重复训练的次数; * `clip_ratio`:Actor 模型训练计算损失函数时的 clip 比例,默认为0.2 一般取值范围 [0.1,0.3] 最大取值范围[0,1] 该数值越大允许策略更新的幅度越大,反之不然; * `entropy_coeff`: entropy loss 所占权重; * `n_samples_per_prompt`:每条prompt的重用次数,一条 prompt 输入能输出 n 条 responese; * `guarantee_order`: 是否开启TransferDock保序,默认 False; * `shuffle_mini_batch`:Actor 训练时是否对 minibatch 进行 shuffle,默认为 False; +* `log_max_throughput`: 配置tps计算时是否使用max值,默认为 true; +* `num_cpus_for_local_task`: ray 进程配置的 cpu 数量,默认为1; * `actor_resource` :分配给 Actor 、Reference模型的显卡数量; #### 显卡资源配置 @@ -75,7 +81,7 @@ MindSpeed RL 通过将模型参数和训练配置解耦的层级化参数配置 * `verifier_weight`: 配置规则奖励模型权重,例如[1.0, 1.0]; #### 日志配置 - +当前已接入tensorboard和wandb日志开关,可选择打开: tensorboard开关(若use_tensorboard和use_wandb同时为True,则tensorboard不生效): * `use_tensorboard`: 配置为 True 时打开 tensorboard; @@ -92,6 +98,7 @@ wandb开关: * `infer_pipeline_parallel_size`:PP并行策略数,当前未支持该功能,设置为 '1'; * `infer_expert_parallel_size`:EP并行策略数; #### resharding 相关配置 +* `trust_remote_code`: 是否信任远程代码执行; * `offload_train_optimizer`:卸载训练节点优化器; * `offload_train_grad`:卸载训练节点梯度; * `offload_train_param`:卸载模型权重; @@ -127,6 +134,7 @@ vllm 模型参数 可以参照 [vllm官网参数介绍](https://docs.vllm.ai/en/ * `CUDA_DEVICE_MAX_CONNECTIONS`:设备最大连接数 * `HYDRA_FULL_ERROR`:设置 HYDRA 是否输出完整错误日志 * `VLLM_DP_SIZE`:vLLM数据并行度(Data Parallelism)大小,控制数据分片数量,稠密模型需要设置为1,MOE模型要求必须和EP一致 +* `USING_LCCL_COM`:指定不使用 LCCL 通信 * `HCCL_BUFFSIZE`:HCCL通信层单次传输的最大缓冲区大小(单位MB),影响跨设备通信效率 * `VLLM_USE_V1`:使用vLLM的V1 engine API(v1接口),当前只支持 v1 ,需设置为 '1'。 * `VLLM_VERSION`:指定使用的vLLM版本号 diff --git a/docs/solutions/r1_zero_qwen25_32b.md b/docs/solutions/r1_zero_qwen25_32b.md index aec44f8e21a52c2cc48de6da7072d2227b68fcd3..54c2730193bdc847cb25ec6320eceb386e88621d 100644 --- a/docs/solutions/r1_zero_qwen25_32b.md +++ b/docs/solutions/r1_zero_qwen25_32b.md @@ -9,11 +9,7 @@ R1-Zero模型是使用base模型,基于GPRO+规则奖励打分进行训练, ## 复现效果 ### 训练细节 -我们使用Qwen-2.5-32B模型在deepscaler数据集上使用准的格式奖励和准确性奖励训练,训练超参如下 - -| 迭代 | 学习率 | gbs | 采样数 | 温度 | kl-coef | 输入长度 | 输出长度 | 规则奖励 | 奖励模型 | -|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:| -| 1000 | 1e-6 (contant) | 32 | 8 | 1.0 | 0.001 | 2048 | 2048 | base_acc | - | +我们使用Qwen-2.5-32B模型在deepscaler数据集上使用准的格式奖励和准确性奖励训练。 **训练过程记录如下:** diff --git a/docs/solutions/r1_zero_qwen25_7b.md b/docs/solutions/r1_zero_qwen25_7b.md index f5d29d34dcabb4d41e3898e1775b04f083d7876a..528ea2c2d9a220d8f3413eb7884f5ef6b8744e15 100644 --- a/docs/solutions/r1_zero_qwen25_7b.md +++ b/docs/solutions/r1_zero_qwen25_7b.md @@ -9,11 +9,7 @@ R1-Zero模型是使用base模型,基于GPRO+规则奖励打分进行训练, ## 复现效果 ### 训练细节 -我们使用Qwen-2.5-7B base模型在deepscaler数据集上训练,使用标准的格式奖励和准确性奖励,训练超参如下: - -| 迭代 | 学习率 | gbs | 采样数 | 温度 | kl-coef | 输入长度 | 输出长度 | 规则奖励 | 奖励模型 | -|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:|:----:| -| 800 | 1e-6 (constant) | 32 | 8 | 1.0 | 0.001 | 2048 | 2048 | base_acc | - | +我们使用Qwen-2.5-7B base模型在deepscaler数据集上训练,使用标准的格式奖励和准确性奖励。 **训练过程记录如下:**