Prhub

radixark/miles · 标签视图

标签列表

聚合结果

rollout 相关 PR

2026-09-16
功能 重要性 9.18 洞察度 7.00

新增 Tinker 网关运行时与 serve 入口

值得精读,是本轮 multi-LoRA v2 栈中最靠近「真实执行链路」的一篇。阅读顺序建议:先看 `miles/tinker/runtime.py` 的 `_pad_to_dp_multiple` / `_build_train_data` / `_execute_batch` 三件套,理解 datum 契约与 `sample_index` 重组规则;再看 `serve_tinker.py` 的 `serve()`,重点体会任务监督(`asyncio.wait(FIRST_COMPLETED)`)、dispose 顺序与 `GatewayConfig` 的推导;最后扫 `miles/utils/arguments.py` 的 entry 维度,确认对既有 train 入口没有隐性行为回归。需要重点关注的设计决策有四条:训练命令经 object store 传递并让 worker 自行按 DP 切分、用零掩码副本做 DP 补齐、显式失败透传与未知失败终止网关的失败分类边界、以及 `NaN` / `MASK_LOGPROB` 的 wire 约定。建议精读时反向确认 `TrainerCell.execute(kill_on_failure=True)` 与 Tinker 服务错误分类是否已完全对齐,并确认 `_build_train_data` 依赖首条 datum 探测可选键的假设在真实 SDK 用法下是否成立。

重构 重要性 9.18 洞察度 6.00

删除 multi-LoRA v1 实现,仅保留槽位原语

值得精读,但重点不是 5000 行删除本身,而是删除与保留的边界如何划定:建议先读 `miles/backends/megatron_utils/lora/slots.py`(保留原语的新家,含跨 rank shard 写入者选举与 expert-axis-safe 的 rank 切分)与 `miles/utils/multi_lora.py`(收缩后的公共工具面),再回看 `miles/ray/multi_lora/registry.py`、`backend.py` 被删掉的注册期校验与状态机,逐条确认 v2(#2844 的 `miles/tinker/core/scheduler.py`/`service.py`、#2840 的 slot actor)是否有等价实现。三个最值得关注的设计决策:一是槽位原语与控制面彻底解耦(docstring 里显式声明不掺控制面/数据面逻辑);二是注册期 fail-fast 校验(data 路径、reward 配置、batch 形状整除)整体消失后由谁承担;三是 per-slot LR 调度与 adapter YAML 契约被删,v2 是否真的不再需要 per-adapter 调度。阅读时注意 head 只有一个 squash commit,MoE 专家路径的恢复要直接核对 head_sha 958e1ca 的文件内容。

2026-09-15
功能 重要性 8.00 洞察度 6.00

纯 SFT train-only 复用 EvalDispatcher 支持 checkpoint 快照评估

值得精读。三个设计决策值得关注:一是“复用现有 EvalDispatcher 而非新增 train-only 专用路径”,避免平行实现漂移;二是把引擎启动决策派生为 args 上的单一字段,删除散落在 sglang_config/specs/controller 里的多处短路,降低不一致风险;三是用“显式校验 + 强制 3 个 eval 点的 e2e”代替静默跳过,任何短路都会让 CI 失败。后续 3 个修复 commit(resume id、final force、router sizing)展示了边界条件的排查思路,可作为同类接入的参考。

缺陷修复 重要性 5.98 洞察度 4.00

避免 worker 启动转发父进程 Python 入口点

值得精读。`python_argv_prefix()` 是解释器 argv 解析的典型边界场景:短选项可聚簇、部分选项带值、attached selector 需要与普通标志区分。该 PR 用逐字符簇扫描 + `for...else` 结构以少量代码覆盖了这些边界,并配套真实子进程回归测试而非仅断言字符串,测试设计值得借鉴。建议重点阅读 `python_argv_prefix()` 的扫描逻辑与新增参数化测试。

#3183 [AMD][LoRA] Add a Qwen3-4B LoRA RL launcher

原始 PR · 作者 Arist12 · 合并时间 2026-09-15 05:33

功能 重要性 7.41 洞察度 4.00

补齐 AMD 平台 Qwen3-4B LoRA RL 启动器

值得精读。若团队需要维护或扩展 AMD / ROCm 上的 LoRA RL 训练,这是当前唯一入口;其「平台差异收敛在启动器层」的做法——环境变量桥接(HIP → CUDA 可见设备)、SGLang Triton 后端固定、以及「配方 + 快照 + 文档」三件套的组织方式——是值得复用的模式。验证数据(logprob 差、KL、截断率、AIME 趋势)可作为后续 AMD 训练健康度对比的参考基线,但不应据此断言训练收益。

缺陷修复 重要性 6.94 洞察度 5.00

修复 Daytona 孤儿沙箱永不回收,新增存储配额 override

值得精读。核心看点是 `_environment_config()` 中“业务上限 + 安全缓冲 + 显式拒绝危险值”的防御性配置模式,以及只对特定后端生效的隔离方式。测试围绕 WHY 组织(如 docstring 说明为何必须回收又不能误停活 trial),对在 Harbor/沙箱供应商上做资源配置的团队有参考价值。改动精炼,风险集中在默认行为变更与派生默认值的验证深度上,合并前建议补齐非整型 `auto_stop_interval_mins` 的测试。

#3214 docs: Harbor runs on Modal

原始 PR · 作者 nblintao · 合并时间 2026-09-15 03:49

文档 重要性 1.70 洞察度 3.00

文档勾选 Modal 支持 Harbor 路径,附 B200 实测结论

值得花几分钟读,但重点不在 diff(只有一行),而在 PR 描述里的两个工程信号:一是该仓库把“能力矩阵填 ✓”的举证责任放在人工运行记录上,若继续沿用,建议后续给表格补证据链接或在 provider 参数化的 e2e 上加定期跑批,否则表格会逐渐失真;二是 B200 上 `--sglang-attention-backend triton` 这一 workaround 值得单独沉淀——要么进 sglang_args 默认值并加硬件判断,要么在文档中显式标注前置条件,避免每个 Blackwell 用户重复排查首次 prefill 崩溃。若你的关注点是 Harbor × Modal 的可用性结论,请直接联系作者确认运行前提(attention backend、模型 head_dim)。

文档 重要性 4.10 洞察度 3.00

重组沙箱 provider 文档,新增用户与开发者双页面

值得快速浏览,不必精读。本 PR 的借鉴价值在于信息架构决策:按读者(用户 vs 开发者)切割文档、用“网格 + 勾选自带链接”表达跨模块兼容矩阵、以及“注册表条目即 provider 契约”的抽象。维护 agentic rollout 相关代码或文档的工程师,应在后续 provider 相关 PR 中同步更新这两个新页面,避免事实漂移。