在在线 LLM 对齐场景中,低延迟是核心诉求,传统同步 Actor-Critic 更新易导致 rollout 和训练阶段阻塞,影响实时响应。VERL 框架通过其 HybridFlow 编程模型和 Ray 调度,支持异步 Actor-Critic 更新,将 rollout 生成与 critic 价值评估解耦,实现亚秒级在线对齐迭代。
VERL 的 PPO 实现已内置 Actor-Critic 并行更新机制,支持独立配置 actor_rollout_ref.actor.ppo_mini_batch_size 和 critic.ppo_micro_batch_size,实现资源分离。VERL GitHub 明确指出“Async and off-policy architecture [#2231]”作为即将功能,通过 Ray Actor 缓冲区异步采样轨迹,避免同步等待,提升吞吐 1.4x 以上。同时,PPO 的 GAE 优势估计天然支持动态调整,避免方差爆炸。
为低延迟在线对齐,引入动态奖励缩放:reward_scaled = reward_base * (1 + α * (1 - KL_div / KL_target)),其中 α=0.10.3,根据 KL 散度自适应放大高价值轨迹奖励。证据显示,在 VERL 的 GRPO 基线上,此缩放可稳定熵值,防止崩溃,提升 AIME 等任务 35 分。配置中设置 algorithm.kl_ctrl.type="adaptive",kl_target=0.01,结合 dynamic sampling 过滤零优势样本(advantage > 0.05)。
分布式训练钩子利用 VERL 的 3D-HybridEngine,支持 FSDP2 后端 actor_rollout_ref.actor.strategy="fsdp2",启用 cpu offload(offload_policy=True),在 8x A100 集群上内存降 7%,吞吐升 1.5%。低延迟钩子包括:vLLM rollout(gpu_memory_utilization=0.6),序列打包(use_remove_padding=True),Ulysses 序列并行(ulysses_sequence_parallel_size=2)用于长上下文在线对齐。
可落地参数清单:
- 异步配置:actor_rollout_ref.rollout.name="vllm",ppo_epochs=4(actor/critic 独立),micro_batch_size_per_gpu=4(防 OOM)。
- 动态缩放:algorithm.kl_ctrl.kl_coef=0.001,clip_ratio=0.2~0.28(解耦上下限),reward_shaping="overlong"(L_cache=2048,L_max=4096)。
- 分布式钩子:trainer.n_gpus_per_node=8,tensor_model_parallel_size=2,data.train_batch_size=512(动态 bsz=True)。
- 监控阈值:熵 >0.5(警报崩溃),KL 0.005~0.015(回滚),throughput >2000 tokens/s/GPU,Nsight profiling 每 10 step(global_profiler.steps=[1,5,10])。
- 在线部署:split_placement 分离 rollout/train GPU,async reward 计算(interaction=BaseInteraction 扩展)。
回滚策略:若 KL >0.02,lr=1e-7 降速;优势方差 >0.1,重采样 20% 批次。实践 Qwen2.5-7B 在 VERL 上,15 epochs 达 GSM8K 95%+,延迟 <500ms。
资料来源:VERL GitHub (https://github.com/volcengine/verl),HybridFlow 论文 (arXiv:2409.19256),VERL 文档 (verl.readthedocs.io)。