40 lines
2.0 KiB
Markdown
40 lines
2.0 KiB
Markdown
|
||
v3.5 版本是在v3.0的基础上进行功能扩展:
|
||
1. 支持自定义命令,不走固定的TaskSpec模板,用户直接提供调用verl 的python命令,如下,这个灵活度更高,需要用户自己把握文件路径,用户使用 $HOME,服务层替换为用户自己的/private/users/<user>/路径,使用$COMMON 则替换为/private/
|
||
|
||
```
|
||
PYTHONUNBUFFERED=1 python3 -m verl.trainer.main_ppo \
|
||
data.train_files=$HOME/data/gsm8k/train.parquet \
|
||
data.val_files=$HOME/data/gsm8k/test.parquet \
|
||
data.train_batch_size=256 \
|
||
data.max_prompt_length=512 \
|
||
data.max_response_length=512 \
|
||
actor_rollout_ref.model.path=Qwen/Qwen2.5-0.5B-Instruct \
|
||
actor_rollout_ref.actor.optim.lr=1e-6 \
|
||
actor_rollout_ref.actor.ppo_mini_batch_size=64 \
|
||
actor_rollout_ref.actor.ppo_micro_batch_size_per_gpu=4 \
|
||
actor_rollout_ref.rollout.name=vllm \
|
||
actor_rollout_ref.rollout.log_prob_micro_batch_size_per_gpu=8 \
|
||
actor_rollout_ref.rollout.tensor_model_parallel_size=1 \
|
||
actor_rollout_ref.rollout.gpu_memory_utilization=0.4 \
|
||
actor_rollout_ref.ref.log_prob_micro_batch_size_per_gpu=4 \
|
||
critic.optim.lr=1e-5 \
|
||
critic.model.path=Qwen/Qwen2.5-0.5B-Instruct \
|
||
critic.ppo_micro_batch_size_per_gpu=4 \
|
||
algorithm.kl_ctrl.kl_coef=0.001 \
|
||
trainer.logger=console \
|
||
trainer.val_before_train=False \
|
||
trainer.n_gpus_per_node=1 \
|
||
trainer.nnodes=1 \
|
||
trainer.save_freq=10 \
|
||
trainer.test_freq=10 \
|
||
trainer.total_epochs=15
|
||
```
|
||
|
||
2. 支持自定义的奖励函数方法,你参考 verl 项目 [text](../../../verl) 里的示例,设计方案
|
||
|
||
3. 支持codepath指定用户上传到自己user路径下的 verl版本代码
|
||
|
||
4. 断点续训:支持某个已经complete(成功或者fail或者stopped)的任务task,从最后一个保存的checkpoint 继续训练,参数应该保持不变,你确认一下是不是对应一个新的ray job,或者分析一下verl 是否已经有类似的功能支持。
|
||
|
||
5. 支持训练走NCCL,使用RoCEv2和Infiband网络,调研一些verl怎样支持,需要哪些配置。 |