Open Source · Qwen3 Inference · Correctness
Mirage:修复 Argmax Padding 导致的越界 Token
PR #755 已于 2026-08-26 合并到上游。
#755Merged upstream PR
9Qwen3 demo scripts
2Related issues closed
CorrectnessValid token id guarantee
Root cause
GitHub PR ↗Qwen3 Demo 为满足任务图的整除要求,将 lm_head 从真实词表大小 151,936 补到 153,600 行。原实现使用 0 填充;当所有真实 Logit 都为负数时,补零行会赢得 Argmax,返回大于等于 vocab_size 的非法 Token ID。
Fix
Finite negative paddingZero paddingPadding Logit 恒为 0,可能压过所有真实负 Logit。
-1e4 padding补齐行不会参与有效 Argmax,同时保持 BF16 可表示的有限数值。
9 Qwen3 demos统一修复 Demo、Hopper、30B-A3B、Eagle3、Sampling、Debug、Kernel Reuse 与 Chat 等入口。
Verification
Merged · Approved- 在 Qwen3-8B BF16 路径复现全负真实 Logit 时产生越界 Padding Index。
- 修复后 Argmax 始终返回
[0, vocab_size)内的合法 Token ID。 - PR 获上游 Review 通过并合并,同时关闭相关 Issue #751 与 #752。
这是一个行数很小但语义明确的正确性修复:贡献重点在于从 Padding、Logit 分布与 Argmax 扫描范围之间建立根因链路,而不是代码改动规模。