Prhub

THUDM/slime · 标签视图

标签列表

聚合结果

architecture 相关 PR

2026-08-25

#2323 [cleanup] Refactor rollout.py

原始 PR · 作者 zhuzilin · 合并时间 2026-08-25 11:06

重构 重要性 9.18 洞察度 6.00

重构 rollout.py,拆分 SGLang 部署逻辑至 sglang_utils 子模块

值得精读。本 PR 是典型的「大文件拆分」重构示范,展示了如何将散落的部署逻辑按职责边界重新聚合为 engine-group / deployment / disaggregation 三层。重点关注 engine_group.py 中 GPU 槽位校验逻辑(`required_gpu_slots` 判断)和 deployment.py 中 router 的启动与复用策略,这些是后续排查部署问题的基础。

2026-08-24
重构 重要性 7.35 洞察度 5.00

新增 create_weight_updater 工厂,精简 actor 初始化

值得快速浏览,重点学习两点:一是如何用函数级延迟导入 + monkeypatch sys.modules 注入假模块来零成本测试内部 import 分支;二是把散落在核心初始化函数里的分派逻辑收敛为工厂函数时,如何用断言保住配置约束。若后续需要扩展权重同步通道,此工厂是天然的挂载点。

2026-08-21

#2298 [NFC] Add observability subfolder

原始 PR · 作者 zhuzilin · 合并时间 2026-08-21 17:14

重构 重要性 9.00 洞察度 4.00

新增 observability 子模块并迁移日志指标工具

值得作为大型 Python 项目做 NFC 结构整理的参考案例浏览。重点关注三点:一是新建子包时如何通过 rename 保留 git 历史;二是跨模块搬移后如何通过 import 集中更新与测试迁移保证行为不变;三是 rollouts_metrics 与 train_metric_utils 的职责划分(rollout 侧指标 vs 训练侧归约)可复用到其他 RL 训练框架。对功能理解而言本 PR 无新逻辑,不必深入精读每个函数。

2026-08-20

#2216 feat: add backend-aware MUSA support

原始 PR · 作者 ForAxel · 合并时间 2026-08-20 15:11

功能 重要性 9.36 洞察度 7.00

新增加速器抽象层,支持 MUSA 后端并保持 CUDA 兼容

值得精读,尤其 `slime/utils/accelerator/__init__.py` 的选择编排与 `musa_patch` 引导时序、`base.py` 的 `resolve_visible_device_id`(可见设备映射是厂商差异核心)、`reloadable_process_group.py` 的 backend 归一化。建议后续补充“后端接入指南”文档,并规划 MUSA/MCCL 端到端验证(至少一条 SMOKE 路径),以确认 `musa_patch` 引导、权重更新组 `cpu:gloo,musa:mccl` 与 teardown 顺序在真实硬件上的正确性。关注 `is_accelerator_backend` 与 `process_group_backend` 对复合 backend 字符串的处理。

2026-08-12
缺陷修复 重要性 7.56 洞察度 6.00

修复全异步 rollout 丢弃已完成组并解除事件循环阻塞

值得精读。该 PR 是典型的“两个缺陷相互耦合、需联动修复”的案例,其背压转移设计(将有界队列改为无界、在生产者侧用 qsize 门控)是一个可复用的异步队列模式。建议关注 `get_completed_groups` 的 limit 语义与 `_loop` 门控条件,理解为何“无界队列 + 显式门控”优于“有界队列 + 阻塞 put”在事件循环线程中的表现。

2026-08-04

#2251 Internalize mbridge and remove megatron-bridge

原始 PR · 作者 zhuzilin · 合并时间 2026-08-04 15:19

重构 重要性 9.36 洞察度 6.00

内部化 mbridge,移除 megatron-bridge 依赖

值得精读。这是 slime 一次重要的架构收敛:从外部桥接模型转换切换到自研的轻量直接转换器,同时明确了模型支持的边界。建议重点阅读 `slime/backends/megatron_utils/hf_to_megatron/qwen.py` 的映射逻辑和 `slime_plugins/models/qwen3_5_vl.py` 的原生 VLM 实现,理解新的模型接入成本和约束。

2026-06-29

#2134 fix: handle empty colocated weight buckets

原始 PR · 作者 EazyReal · 合并时间 2026-06-29 15:45

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

修复空 colocated weight buckets 导致 crash 的问题

该 PR 修复了一个重要的分布式同步 Bug,设计简洁且测试覆盖良好。建议合并后团队关注相关路径(`update_weight_from_tensor.py`、`update_weight_from_distributed.py`)是否存在类似假设,预防回归。同时,新增的单元测试值得作为后续类似功能的参考。

#2135 feat(gemma4): add Gemma4 dense and MoE support

原始 PR · 作者 EazyReal · 合并时间 2026-06-29 15:43

功能 重要性 9.18 洞察度 6.00

新增 Gemma4 密集型和 MoE 模型完整支持

该 PR 设计质量高,实现完整,测试覆盖全面。建议精读以下设计点:① `Gemma4Router` 中 renormalise-then-scale 的顺序决策(与 HF 一致);② `DualRotaryEmbedding` 拼接而非元组的设计理由;③ `_Gemma4LogitSoftcap` 使用 autograd Function 实现就地 softcapping;④ 通过 hook 而非子类化注入模型行为的选择。这些决策值得在其他模型支持中借鉴。