Qwen3.5 GatedDeltaNet: Large logit divergence between full-sequence forward and prefill+decode with cache

用户在 macOS (Apple Silicon) 环境下,使用 transformers==5.9.0 和 PyTorch==2.12.0 (CPU) 对 Qwen/Qwen3.5-0.8B 模型进行两种推理模式(全序列前向与预填充+缓存解码)的 logit 一致性测试。模型中包含 GatedDe

Qwen3.5 GatedDeltaNet: Large logit divergence between full-sequence forward and prefill+decode with cache

Qwen3.5 GatedDeltaNet: Large logit divergence between full-sequence forward and prefill+decode with cache

快速结论:该问题发生在使用 Hugging Face Transformers 加载 Qwen3.5 系列模型时,全序列前向推理与分段预填充+缓存解码模式之间的 logit 差异达到约 0.125,远超其他架构模型。优先排查是否缺少 causal-conv1dmamba-ssm 等 fast path 依赖,或尝试安装这些包后进行对比测试。

问题场景

用户在 macOS (Apple Silicon) 环境下,使用 transformers==5.9.0PyTorch==2.12.0 (CPU) 对 Qwen/Qwen3.5-0.8B 模型进行两种推理模式(全序列前向与预填充+缓存解码)的 logit 一致性测试。模型中包含 GatedDeltaNet 架构,涉及类似 Mamba 的 conv1d 和循环状态。

报错原文

Max diff: 1.250000e-01
Mean diff: 1.944993e-02
Equal=False

Top-5 largest differences:
Index    Full Forward     Prefill+Decode   Abs Diff       Token
6927     -6.343750        -6.218750        1.250000e-01   'oles'
28100    -1.132812        -1.007812        1.250000e-01   'ois'
124639   -9.125000        -9.250000        1.250000e-01   '版主'
107466   -8.937500        -8.812500        1.250000e-01   '了指'
16697    -8.062500        -7.937500        1.250000e-01   'olen'

原因分析

可能原因:GatedDeltaNet 模型架构在 eager 路径中存在数值精度或实现不一致问题,导致预填充阶段的 chunk 计算与最终解码阶段的循环路径输出产生系统性偏差。误差在全连接层(尤其是最后一层)急剧放大,且不受 bfloat16 / float32 精度切换的影响。另外,缺少 causal-conv1dmamba-ssm 等 fast path 包可能加剧偏差。

环境排查

  • 确认 transformers 版本是否为 5.9.0
  • 确认 PyTorch 版本是否为 2.12.0
  • 确认是否安装 causal-conv1d 包(未安装时使用 torch 回退路径)
  • 确认是否安装 mamba-ssm 包(未安装时使用 torch 回退路径)
  • 确认模型 ID 是否为 Qwen/Qwen3.5-0.8BQwen/Qwen3.5-2B
  • 确认是否在 CPU 上运行(GPU 下行为可能不同,但 Issue 未提供 GPU 测试)

解决步骤

  1. 安装 fast path 依赖包:causal-conv1dmamba-ssm(可优先尝试)。参考 Issue 中用户安装后依然观察到相同误差幅度(最大 0.125),因此此步骤可能无法完全消除问题。
  2. 测试加载模型时分别使用 dtype=torch.bfloat16dtype=torch.float32,确认误差是否一致。Issue 数据表明两者表现相同,排除精度问题。
  3. 逐层输出 hidden state 比较,定位误差集中层(Issue 数据显示误差在最后一层骤升至 0.3125)。
  4. 如果环境允许,尝试使用 Unsloth 等第三方优化库进行推理,验证结果是否不同(Issue 中仅为建议,未提供实测结论)。
  5. 关注官方后续修复或针对 GatedDeltaNet 的优化补丁。

验证方法

运行 Issue 中提供的复现代码,对比全序列前向(use_cache=False)与预填充+解码(use_cache=True)两种模式在最后一个 token 的 logit 差异。若最大绝对差从 0.125 降至 1e-3 以下,则可认为问题缓解。

参考来源

huggingface/transformers #46190

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 12333

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注