Prhub

#1975 [release] bump to v0.3.0

原始 PR 作者 zhuzilin 合并时间 2026-05-31 07:40 文件变更 10 提交数 19 评论 0 代码增减 +4043 / -42

执行摘要

版本升级至 v0.3.0,重写构建脚本并更新补丁

版本升级至 v0.3.0,旨在发布新版本并同步更新底层依赖(sglang、megatron)的环境适配与补丁。同时重写构建脚本以简化环境安装、适配 CUDA 12.9。

建议阅读 build_conda.sh 的重写逻辑和新增补丁的内容,理解 CUDA 环境兼容性处理方法。对于涉及分布式训练的开发者,重点关注 megatron.patch 中的 checkpoint 加载与 DDP 修改。该 PR 值得精读,尤其是基础设施和部署相关的部分。

讨论亮点

该 PR 没有公开的 review 评论,合并者为提交者本人,属于快速发布流程。

实现拆解

  1. 版本号更新:修改 setup.py 中的 version 字段从 "0.2.4""0.3.0"
  2. 构建脚本重写:重写 build_conda.sh,调整环境变量引用为版本号(SGLANG_VERSIONMEGATRON_COMMITPATCH_VERSION),修复 nodefaults 问题,优化 CUDA 12.9 安装,添加 Rust 依赖,解决 cu13 与 cu12 的包冲突(force-reinstall torch 和 sglang-kernel,然后修复 nvidia 共享库)。
  3. 新增补丁文件:在 docker/patch/v0.5.12.post1/ 下新增 sglang.patchmegatron.patch,包含 checkpoint 加载(weights_only=False,允许 shape 不匹配)、分布式数据并行(disable_grad_buffers_cpu_backupdisable_param_sync)、Flash Attention 缩放因子修复等。
  4. CI 配置调整:修改 .github/workflows/conda-ci.yml 增加构建与测试流程;微调 pr-test.ymlpr-test.yml.j2
  5. 测试与断言调整:修改 tests/test_qwen3_0.6B_parallel_check.py,简化并行组合循环(使用 parallel_sizes = [1,2,4]);在 slime/backends/megatron_utils/data.py 中放宽 CI 断言的 log_prob 和 entropy 范围。
文件 模块 状态 重要度
docker/patch/v0.5.12.post1/megatron.patch 补丁文件 added 7.75
build_conda.sh 构建脚本 modified 5.79
docker/patch/v0.5.12.post1/sglang.patch 补丁文件 added 5.93
slime/backends/megatron_utils/data.py 后端核心 modified 4.9
tests/test_qwen3_0.6B_parallel_check.py 并行测试 modified 4.92
setup.py 版本配置 modified 4.49
.github/workflows/conda-ci.yml CI 配置 modified 4.66

关键符号

_validate_global_shapes TEGroupedLinear _encode_extra_state _postprocess _maintain_float32_expert_bias _checkpointed_forward checkpoint_handler log_rollout_data

关键源码片段

slime/backends/megatron_utils/data.py core-logic

CI 中断言范围被放宽(log_probs 和 entropy),这是为了适应实际训练中的浮动,但可能掩盖异常。

if "rollout/log_probs" in reduced_log_dict:
    # 放宽下限从 -0.5 到 -1,以应对实际训练中的数值波动
    assert -1 < reduced_log_dict["rollout/log_probs"] < 0
if "rollout/entropy" in reduced_log_dict:
    # 放宽上限从 0.5 到 1,以覆盖更多的正常情况
    assert 0 < reduced_log_dict["rollout/entropy"] < 1

评论区精华

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

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

风险与影响

新增的补丁文件(特别是 megatron.patch 中修改了 checkpoint 加载和分布式数据并行流程)可能影响分布式训练的稳定性和兼容性。build_conda.sh 重写后改变了环境安装方式,可能对已有部署环境的手动升级步骤有影响。CI 断言的放宽(log_probs-0.5~0 改为 -1~0entropy0~0.5 改为 0~1)降低了检测精度,可能掩盖潜在数值异常。

对用户:升级至 v0.3.0 需要重新构建 conda 环境或使用更新后的 docker 镜像。对系统:构建流程发生重大变化,CI 增加了 conda 构建测试;补丁文件的变更影响底层训练引擎。对团队:需要维护新的补丁版本和构建脚本,确保与官方同步。

补丁兼容性风险 构建流程重写 断言范围放宽 CUDA 版本冲突处理

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论