VeRL代码中LLM全面算法的有哪些细节未被发现?

摘要:目录1 代码结构简介RayPPOTrainer fit() 函数的基本流程advantage 的计算过程与 ref policy 的 KL 散度 loss 的计算VeRL 的 evaluation 代码目前对我来说比较 minor 的点2
目录1 代码结构简介RayPPOTrainer fit() 函数的基本流程advantage 的计算过程与 ref policy 的 KL 散度 loss 的计算VeRL 的 evaluation 代码目前对我来说比较 minor 的点2 VeRL 官方提供的示例训练脚本3 跑官方示例脚本的记录 1 代码结构简介 关键代码在 ray_trainer.py 的 fit 函数里(VeRL 包了好几层)。 with marked_timer 是关键部分。 verl 支持哪些算法?ppo grpo dapo reinforce++,好像都支持。 于是推断,PPO GRPO 等算法,它们应该有一个共用的流程,但还有一些自己的实现,可能包装在某个关键函数内。 现在看了 ppo 和 grpo,还没看 reinforce++。 RayPPOTrainer fit() 函数的基本流程 照抄一下 with marked_timer 的几步。 advantage 的计算过程 advantage:adv_estimator 参数,在 ray trainer 里的 compute_advantage 函数 work。参考博客:https://zhuanlan.zhihu.com/p/677607581 核心实现在 core_algos 里面。 与 ref policy 的 KL 散度 loss 的计算 KL:GRPO 使用 KL loss。这个 loss 好像加在 actor 里面。ray trainer 的 self.actor_rollout_wg 这个东西是 actor。其实是在 verl/workers/actor/dp_actor.py 里面,if self.config.use_kl_loss: ,不过这个最后还是会引到 core_algo 里面 VeRL 的 evaluation 代码 还没看【】 目前对我来说比较 minor 的点 关于 reward: reward,在 experimental/reward_loop/reward_loop.py 的 worker 的 compute score 里,会调用一个 reward manager,然后好像就都靠这个 reward manager 了 关于 actor(): ray trainer 的 self.actor_rollout_wg 这个东西是 actor。 所以 wg 的意思是 work group。actor PPO 和 GRPO 使用的都是 vanilla,只要有 advantage,actor 的 loss 计算方式,这两个算法都是一样的。 2 VeRL 官方提供的示例训练脚本 可以把 csdn 博客搬过来,简单解释一下每一篇的内容。 3 跑官方示例脚本的记录 还在跑,还没看 eval【】