更新时间:2025-07-29 GMT+08:00
分享

VeRL

yaml文件配置

根据以下步骤修改yaml文件,以下参数aaa.bbb.ccc为aaa区域的bbb区域的ccc参数值,如backend_config.data.train_files指backend_config区域中data区域的train_files参数:

本小节主要详细描述配置文件、配置参数说明,用户可根据实际自行选择其需要的参数。

表1 模型训练脚本参数

参数

示例值

参数说明

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;

  • True:是
  • False:否

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

是否在训练开始前跑验证集测试

  • True:验证
  • False:不验证

相关文档