Prhub

#38152 Disable dual stream execution of input projection for Qwen3

原始 PR 作者 xyang16 合并时间 2026-03-26 09:20 文件变更 2 提交数 1 评论 1 代码增减 +5 / -67

执行摘要

为 Qwen3 模型禁用输入投影的双流执行,修复冷编译时间约 4 倍的回归。

根据 PR body,当前双流执行需要自定义操作传递层名作为字符串,导致冷编译时间回归约 4 倍,因此暂时禁用此优化以恢复编译性能。

建议技术管理者关注此 PR,因为它展示了性能优化与编译时间的权衡,以及临时回退的策略。工程师可学习如何安全地移除自定义操作以避免编译回归。

讨论亮点

review 讨论有限,主要来自自动化工具;zou3519 批准并道歉,表示理解临时回退的麻烦。没有深入的技术争议或未解决疑虑。

实现拆解

修改了两个模型文件:qwen3_5.py 和 qwen3_next.py。移除了对 torch.ops.vllm.gdn_in_proj 的调用,代之以直接调用 self.in_proj_qkvz 和 self.in_proj_ba 方法。同时删除了辅助函数 _forward_in_proj、maybe_execute_in_parallel 的使用以及相关事件和流对象。

文件 模块 状态 重要度
vllm/model_executor/models/qwen3_5.py model_executor/models modified 6.0
vllm/model_executor/models/qwen3_next.py model_executor/models modified 6.0

关键符号

forward (in qwen3_next.py) gdn_in_proj (removed) _forward_in_proj (removed)

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

临时回退双流优化 设计

zou3519 批准并道歉,表示理解麻烦,但未深入讨论技术细节。

结论:PR 被批准合并,作为临时解决方案。 · 已解决

风险与影响

风险包括:

1) 性能下降:移除双流优化可能降低推理时的并行执行效率;
2) 兼容性:代码修改可能影响其他依赖自定义操作的组件;
3) 临时解决方案:回退是暂时的,未来需重新启用,可能引入维护复杂性。具体到文件,修改了模型核心逻辑,需确保正确性。

影响范围局限于 Qwen3 和 Qwen3.5 模型。用户可能注意到冷编译时间改善,但推理性能可能略有下降。对系统来说,减少了自定义操作依赖,简化了代码路径。团队需关注后续 #38123 的进展以重新启用优化。

性能回归风险 临时解决方案 核心路径变更

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论