← 返回架构图 ← 返回文章

Rollout 后端部署形态

1. Colocated Rollout rollout 与 trainer 同 job 部署(embedded / colocated) Trainer Job Policy Update Rollout worker weight sync 优点 语义干净、简单 weight sync 代价 资源耦合、长尾拖住 step 2. Disaggregated Rollout Service 专用 rollout 集群,经 queue / RPC 与 trainer 解耦 Trainer Queue / RPC Rollout Service prompt trace + logprob weight sync 优点 独立扩缩、故障隔离 代价 staleness, queue backlog, weight sync 3. Production Inference Rollout 接入生产态 serving fleet,消纳低谷 / 弹性余量 RL Trainer Inference API / Scheduler Production Serving Fleet RL prompt idle capacity trace + logprob policy publish 例:Cursor + Fireworks 低谷容量跑 rollout 优点 消纳低谷 GPU、复用 serving 能力 代价 priority isolation, logprob export, preemption rollout 从训练 job 附属模块 → 训练系统调用的可调度推理平台

1. Colocated Rollout:rollout engine 与 trainer 同 job 部署(也称 embedded / colocated;后端可为 vLLM / SGLang 等)。权重在 job 内本地同步,语义最贴近 on-policy,但 rollout 长尾会拖住整个 training step。

2. Disaggregated Rollout Service:rollout 仍是为本训练任务单独部署的推理服务(独立 GPU fleet / Ray actor / K8s deployment),只是与 trainer 进程解耦。实线:trainer 经 queue 下发 prompt;虚线返回 trace + logprob;另一条虚线:trainer 将更新后的 policy 权重同步到 rollout(非反向)。典型于 verl async rollout、OpenRLHF agent server 等——解耦扩缩与故障,但需处理 staleness 与 queue backlog。

3. Production Inference Rollout:rollout 不再单独为 RL 起一套专用集群,而是在训练过程中调用生产态推理基础设施(Inference API / Scheduler 后面的 serving fleet)。更准确地说,这不是把 RL 请求当作普通线上请求混入用户路径,而是让训练系统以低优先级 / 可抢占 workload 消纳线上低谷或弹性余量;高峰时 capacity 可被线上 SLA 收回。与 2 的数据流类似(RL prompt 下发 → trace + logprob 回传 → policy publish),差别在于后端是成熟 serving 调度平台,核心问题变成优先级隔离、policy version pinning、logprob / trace 导出、preemption 后的样本完整性。以 Cursor + Fireworks 为例。