执行摘要
修复 Qwen3 30B 与 Deepep 在 sglang 0.5.12 下的运行问题
修复 Qwen3 30B 模型与 Deepep 在 sglang 0.5.12 环境下的兼容性和运行正确性问题,确保模型可以正常加载和推理。
值得合并。该 PR 解决了特定模型与运行时的兼容性问题,修复逻辑清晰,风险可控。建议在合并后增加相关 CI 测试覆盖,确保后续版本不会再次出现类似问题。
修复 Qwen3 30B 模型与 Deepep 在 sglang 0.5.12 环境下的兼容性和运行正确性问题,确保模型可以正常加载和推理。
值得合并。该 PR 解决了特定模型与运行时的兼容性问题,修复逻辑清晰,风险可控。建议在合并后增加相关 CI 测试覆盖,确保后续版本不会再次出现类似问题。
sglang/srt/layers/moe/moe_runner/deep_gemm.py 中,将原来硬性的 assert N % 4 == 0 and G % 4 == 0 改为有条件地启用 SGLANG_OPT_USE_JIT_EP_ACTIVATION:仅在满足维度对齐约束时才使用 JIT 路径,否则跳过,避免因维度不匹配导致 crash。zero 过滤 - 在 sglang/srt/layers/moe/fused_moe_triton/layer.py 中,删除了 and "zero" not in weight_name 条件,使 FusedMoE 在加载权重时不再跳过名称中包含 zero 的权重。这可能是为了支持某些量化方案中 zero 权重参与合并或处理。sglang/srt/layers/quantization/compressed_tensors/compressed_tensors.py 中,移除了 is_symmetric 条件,使得原本要求对称量化的检查现在也接受非对称量化,以兼容 Qwen3 30B 的权重格式。restore_weights_before_loading 方法 - 在相同文件中为 CompressedTensorsFusedMoEMethod 类增加了 restore_weights_before_loading 方法,委托给 layer.scheme 实现,以确保在加载前正确恢复权重(可能涉及去量化或格式转换)。| 文件 | 模块 | 状态 | 重要度 |
|---|---|---|---|
docker/patch/latest/sglang.patch |
部署脚本 | modified | 4.95 |
分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。
当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。
is_symmetric)可能影响其他原本依赖对称性约束的模型,需确保该变更不破坏其他量化方案的加载逻辑。zero 权重过滤可能引入之前因过滤而规避的权重处理问题,需验证模型收敛性。影响范围:仅影响 docker 环境下的 sglang 补丁文件,直接影响使用 sglang 0.5.12 并需要运行 Qwen3 30B 或 Deepep 的用户。
影响程度:低到中等。对不涉及这些模型的用户无影响,但对目标用户至关重要。
当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。
参与讨论