已关闭
[Bug] Qwen3-Next 编译线性注意力回归用例失败 #443
jia_ya_nan创建于  5 天前关闭于  5 天前
jia_ya_nan成员
5 天前 创建

Problem

Qwen3-Next 的编译语义覆盖及模型诊断回归用例在 4fdcdefb 引入后失败,阻塞 Qwen3-Next 的 TensorCast 回归验证。问题覆盖三条相互关联的路径:

  1. Qwen3NextModel 直接暴露 layers,但 runtime 性能分析测试错误地沿用了 Qwen3.5 的 language_model.layers 访问路径,导致 AttributeError
  2. MTP 模型诊断仍断言已替换的 linear_attention stage 名称,而当前图已拆分为多个线性注意力 stage;
  3. TP=2 下 Qwen3-Next 线性注意力融合投影和本地 K/V head 的分片语义未对齐,导致并行 shape 诊断失败。

Reproduction

.venv/bin/python -m pytest -q \
  tests/regression/tensor_cast/test_runtime.py::PerfAnalysisTestCase::test_qwen3_next_linear_attention_uses_decomposed_ops \
  'tests/regression/model_diagnostics/e2e/test_qwen3_5_e2e.py::test_qwen35_mtp_decode_capture_organize_and_compare[next]' \
  'tests/regression/model_diagnostics/e2e/test_qwen3_5_e2e.py::test_qwen35_tp2_parallel_shapes_compare[next]'

典型失败:

AttributeError: 'Qwen3NextModel' object has no attribute 'language_model'

Expected

  • runtime 用例按 Qwen3-Next 的实际模块层级访问 layers,并确认线性注意力使用分解算子;
  • MTP 诊断断言当前分解后的线性注意力 stage;
  • TP=2 的融合投影和局部 K/V head shape 与 tensor parallel 分片语义一致。

Actual

上述三个回归用例失败,无法覆盖 Qwen3-Next 的编译语义、MTP decode 诊断和 TP=2 并行 shape。

Environment

  • OS:WSL / Linux
  • Python:3.13
  • MsModeling 基线:4fdcdefb
  • transformers:5.16.1

Acceptance Criteria

  1. 三个指定用例均通过;
  2. Qwen3.5 的 language_model.layers 访问不被改变;
  3. Qwen3-Next 的 TP 融合投影方案和 local K/V head 的 shape 可由 TP=2 诊断验证;
  4. 变更仅限 Qwen3-Next 适配、编译变换和对应回归断言。
  • 修复 PR:!870
  • 修复提交:174ff3b193b5d0c7b5650dc9cc51080398793303(待推送到 PR 分支)

SIG

模型适配

run-id: qwen3-next-regression-20260918; 本 Issue 由 AI 协助创建。

likedislike
Jjia_ya_nan成员
5 天前 添加了label:bug, triagedmedium-priority
Jjia_ya_nan成员
5 天前 将 jia_ya_nan 设为负责人
ascend-robotascend-robot成员
5 天前 关闭了 issue
ascend-robotascend-robot成员
5 天前 issue状态由 TODO 改变为 DONE
ascend-robotascend-robot成员
5 天前 添加了label:resolved
Jjia_ya_nan成员
5 天前 关联了pull request:fix(tensor-cast): backport qwen3-next linear attention regressions to 26.2.0