VeRL
yaml文件配置
根据以下步骤修改yaml文件,以下参数aaa.bbb.ccc为aaa区域的bbb区域的ccc参数值,如backend_config.data.train_files指backend_config区域中data区域的train_files参数:
本小节主要详细描述配置文件、配置参数说明,用户可根据实际自行选择其需要的参数。
参数 |
示例值 |
参数说明 |
---|---|---|
af_output_dir |
/home/ma-user/verl |
【必修改】训练输出结果 |
backend_config.data.train_files |
/data/geometry3k/train.parquet |
【必修改】预处理完成后的训练集 |
backend_config.data.val_files |
/data/geometry3k/test.parquet |
【必修改】预处理完成后的验证集 |
backend_config.actor_rollout_ref.model.path |
/model/Qwen2.5-VL-32B-Instruct |
【必修改】Huggingface 模型路径。这可以是 本地路径或 HDFS 路径。 |
backend_config.data.train_batch_size |
32 |
为一次训练采样的批量大小 |
backend_config.actor_rollout_ref.actor.ppo_mini_batch_size |
8 |
批量大小拆分为多个子批次 |
backend_config.trainer.total_epochs |
5 |
【可选】训练轮数,用户根据自己实际选择训练轮数。 |
backend_config.actor_rollout_ref.rollout.tensor_model_parallel_size |
4 |
vllm推理时模型切分 |
backend_config.data.image_key |
images |
【多模态模型】数据集中图像所在的字段 。默认值为 'images'。 |
backend_config.data.max_prompt_length |
1024 |
最大提示长度。所有提示都将是 left-padded 到此长度。 |
backend_config.data.max_response_length |
1024 |
最大响应长度。RL 中的转出 算法生成此长度 |
backend_config.actor_rollout_ref.rollout.max_num_batched_tokens |
18432 |
max_response_length+max_prompt_length大于8k,长序列时设置为两参数之和,默认为8192 |
backend_config.actor_rollout_ref.actor.ulysses_sequence_parallel_size |
1 |
序列并行,长序列使用,默认1,max_response_length值>8K时,取值一般为(max_response_length/2048)取整 |
backend_config.data.shuffle |
True |
是否对dataloader中的数据进行 shuffle。 |
backend_config.data.truncation |
'error' |
截断 input_ids 或 prompt length(如果它们) 超过 max_prompt_length。默认值为 'error',不允许超过 max_prompt_length。 |
backend_config.actor_rollout_ref.actor.optim.lr |
1e-6 |
actor学习率 |
backend_config.actor_rollout_ref.model.use_remove_padding |
True |
是否移除padding;
|
backend_config.actor_rollout_ref.actor.use_kl_loss |
True |
是否Actor中使用KL loss,如果使用则不会在奖励功能中使用 KL。默认为True。 |
backend_config.actor_rollout_ref.actor.kl_loss_coef |
0.01 |
kl 损失的系数。默认值为 0.001 |
backend_config.actor_rollout_ref.actor.kl_loss_type |
low_var_kl |
如何计算参与者和参考策略之间的 kl 散度;默认选择low_var_kl |
backend_config.actor_rollout_ref.actor.entropy_coeff |
0 |
计算PPO损失,一般设置为0 |
backend_config.actor_rollout_ref.actor.use_torch_compile |
False |
是否JIT编译加速,支持False |
backend_config.actor_rollout_ref.model.enable_gradient_checkpointing |
True |
是否为 Actor 启用 Gradient Checkpointing |
backend_config.actor_rollout_ref.rollout.name |
vllm |
推理框架名称 vllm |
backend_config.actor_rollout_ref.rollout.gpu_memory_utilization |
0.4 |
用于 vLLM 实例的总 device内存的比例 |
backend_config.actor_rollout_ref.rollout.n |
4 |
将一个批次的数据重复 n 次(并且在重复过程中进行交错) |
backend_config.trainer.logger |
['console','tensorboard'] |
日志后台,可选择【'wandb', 'console' ,'tensorboard'】 |
backend_config.trainer.val_before_train |
False |
是否在训练开始前跑验证集测试
|