Prhub

#2535 docs: add Mooncake rollout data transfer guide

原始 PR 作者 zxpdemonio 合并时间 2026-08-21 06:06 文件变更 2 提交数 4 评论 0 代码增减 +249 / -0

执行摘要

新增 Mooncake rollout 数据传输指南并挂载文档导航

PR body 明确列出四个目标:document how to enable the Mooncake rollout object-store backend introduced in #591;clarify requirements, endpoint ownership, and the separation from model-weight transfer;provide portable TCP and RDMA configuration plus a complete two-node FSDP example;list the supported Mooncake configuration fields and add the guide to the documentation navigation。背景是 #591 已实现 Mooncake 作为 rollout 传输的可替代后端,但缺少用户文档;同时 rollout 数据传输与模型权重传输是两套独立设置,容易混淆,需要专门页面澄清 endpoint 归属与前置条件。

值得快速浏览:对需要启用 Mooncake rollout 数据通道的团队,这是一份可直接执行的操作手册;对文档维护者,其验证流程(逐项核对 CLI 选项、shell 展开后 JSON、Mintlify 结构与导航 JSON)可作为高质量文档 PR 的样板。重点关注两处容易踩坑的细节:环境变量命名差异(示例中的 MOONCAKE_MASTER_ADDR 与真实环境变量 MOONCAKE_MASTER 的区分),以及 CUDA 13 镜像限定。

讨论亮点

该 PR 没有任何 review 评论,Zhichenzzz 直接给出 APPROVED。唯一可见的反馈来自合入前的修正提交 ee16ce9,本质是“文档必须与当前 main 对齐”的约定:commit message 指出 MILES_EXPERIMENTAL_ROLLOUT_REFACTOR 在 main 上已无人读取——#2522 已将类式 rollout 设为默认并改用 MILES_USE_LEGACY_ROLLOUT_V1 opt-out,因此从 walkthrough 的 Ray runtime env 中移除了该变量引用。这体现了文档示例必须与当前实现路径严格同步的维护标准。

实现拆解

  1. 新增指南文档(docs/advanced/mooncake-rollout-transfer.md,+248 行):先说明默认使用 Ray object store、Mooncake 可整体替换,并强调 --object-store-backend--update-weight-transfer-mode 分别控制 rollout 数据传输与模型权重传输;随后列出 Requirements(各节点运行相同 Miles/Mooncake 版本、mooncake_master 端点可达、为 global_segment_size / local_buffer_size 预留内存、RDMA 需暴露设备并允许内存锁定),并给出 TCP/RDMA 环境变量与 CLI 参数示例,最后附双节点 FSDP 启动示例与支持的 Mooncake 配置字段清单,以及 CUDA 13 镜像限定说明。
  2. 更新导航配置(docs/docs.json,+1 行):在 Advanced Features > Scale & Reliability 分组中、advanced/p2p-weight-transferadvanced/disaggregated-rollout 之间插入 advanced/mooncake-rollout-transfer,使新页面可在文档站点直接访问。
  3. 合入前修正(commit ee16ce9,合入者 Zhichenzzz):移除指南中过时的 MILES_EXPERIMENTAL_ROLLOUT_REFACTOR 引用,因为 main 上 #2522 已将类式 rollout 设为默认、仅保留 MILES_USE_LEGACY_ROLLOUT_V1 opt-out;同时合并 main 解决导航结构冲突。

配套说明:本 PR 无源码、测试或 CI 变更,仅文档与导航配置;作者验证了每个 CLI 选项与配置键、shell 变量展开后的 JSON、内部链接及 Mintlify tab/fence 结构。

文件 模块 状态 重要度
docs/advanced/mooncake-rollout-transfer.md 进阶文档 added 4.64
docs/docs.json 导航配置 modified 2.36

关键源码片段

docs/advanced/mooncake-rollout-transfer.md documentation

核心变更:248 行新指南,说明 Mooncake rollout 后端选择、环境要求、TCP/RDMA 配置、双节点 FSDP 示例与配置字段清单,是全 PR 的价值主体。

# 选择传输协议:TCP 可直接走可路由数据网络;RDMA 还需每节点暴露本地 RDMA 设备。
export MOONCAKE_PROTOCOL="<tcp-or-rdma>"
export MOONCAKE_MASTER_ADDR="<mooncake-master-host>:50051"# RDMA 专用:在启动 Ray 前设置为当前节点的 RDMA 设备名(各节点设备名可不同)
# export MOONCAKE_DEVICE="<local-rdma-device>"# 将 shell 变量注入 Miles 训练命令;JSON 值必须保持为一个 shell 参数:
# --object-store-backend mooncake \
# --mooncake-store-init-kwargs \
# "{\"protocol\":\"${MOONCAKE_PROTOCOL}\",\"master_server_address\":\"${MOONCAKE_MASTER_ADDR}\"}"

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

整体风险低(纯文档变更),但存在以下具体风险:

1) 文档与 #591 实现的漂移:--mooncake-store-init-kwargs 字段、MOONCAKE_MASTER 等环境变量后续变化会让指南失效并误导用户;
2) 外部依赖:mooncake_master 端点由用户自行启动,Miles 不管理其生命周期,文档示例假设端点已可达且节点间网络可路由;
3) 硬件依赖:RDMA 路径依赖每节点设备暴露、内存锁定与宿主内存预留,不同集群差异较大,通用示例无法覆盖所有情况;
4) CUDA 版本限定:structured-object wheel 仅随 CUDA 13 镜像提供,CUDA 12 下 mooncake.structured_object_store 导入失败,文档虽已注明但用户混用镜像版本时仍可能踩坑。

影响范围限定在文档站点与使用 Mooncake 的用户群:新增页面进入 Advanced Features > Scale & Reliability 分组,与 pd-disaggregationp2p-weight-transferdisaggregated-rollout 并列,完善了数据传输/分解类文档体系;对启用 Mooncake rollout 后端的团队提供了可直接套用的 TCP/RDMA 配置与双节点 FSDP 示例,降低上手成本;对运行时行为零影响,不改变任何默认行为。团队侧收益是形成了一条“先核对实现再写文档”的合入流程。

纯文档变更 文档与 #591 实现需同步维护 依赖外部 Mooncake 服务 RDMA 硬件依赖

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论