ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

BFCL v4榜单深度解读:为什么Qwen3.6-35B-A3B-NVFP4在多轮与Agentic任务上掉分最多?

BFCL v4榜单深度解读:为什么Qwen3.6-35B-A3B-NVFP4在多轮与Agentic任务上掉分最多?

【免费下载链接】Qwen3.6-35B-A3B-NVFP4

项目地址:https://ai.gitcode.com/hf_mirrors/RedHatAI/Qwen3.6-35B-A3B-NVFP4
点击查看免费下载

本文带你完整解读RedHatAI/Qwen3.6-35B-A3B-NVFP4——这是阿里 Qwen3.6-35B-A3B 混合专家(MoE)大模型的 NVFP4 4-bit 权重量化版本,主打在 NVIDIA 硬件上实现更低的显存占用与更快的推理吞吐。仓库中附带了该量化模型与 BF16 原始模型在 BFCL v4 函数调用榜单上的完整对比分数。核心结论一句话:量化后总准确率仅掉 1.73 分(57.83% → 56.10%),但 Multi-Turn(多轮)子榜掉了 4.12 分,是四大板块中掉分最多的,掉分集中在"函数/参数缺失"和"长链 Agentic 推理"两类任务上。

一图看懂:NVFP4 量化版 BFCL v4 总分对比

BFCL v4(Berkeley Function Calling Leaderboard v4)是目前衡量大模型函数调用(Tool Calling / Function Calling)能力的主流榜单,包含四大板块:

板块考察能力BF16 基线NVFP4 量化版变化恢复率
Non-Live AST单轮函数调用格式正确性38.33%39.02%📈 +0.69101.8%
Live线上实时函数调用69.28%67.88%📉 -1.4098.0%
Multi Turn多轮对话中的连续调用62.25%58.13%🔻-4.1293.4%
AgenticAgentic 智能体(搜索+记忆)49.91%49.31%📉 -0.6098.8%
Overall总得分57.83%56.10%-1.7397.0%

完整分数见 base_score/data_overall.csv(BF16 基线)与 score/data_overall.csv(NVFP4 量化版)。

一个反直觉的现象:Non-Live 单轮调用量化后不降反升,而"看起来只是把权重压到 4-bit"的多轮 Agentic 场景却掉得最狠。为什么会这样?我们逐层拆解。

Multi-Turn 掉分拆解:掉在"纠错"而不是"首轮"

多轮子榜的详细分数对比如下(数据来自 base_score/data_multi_turn.csv 与 score/data_multi_turn.csv):

子任务含义BF16NVFP4变化
Base标准多轮调用74.50%69.00%-5.50
Miss Func对话中函数定义缺失,需自行处理60.00%53.00%🔻 -7.00
Miss Param参数信息缺失,需追问或推断51.50%48.00%-3.50
Long Context长上下文多轮63.00%62.50%-0.50

关键发现:Multi-Turn 的 4.12 分掉分,几乎全部来自 Miss Func(-7.00)和 Base(-5.50)。

  • Miss Func(函数缺失):要求模型在"工具列表里没有所需函数"时正确拒答或换路。这类任务考验的是模型的指令遵循 + 诚实性边界——量化带来的权重噪声会让模型在"该停下来"的场景里更容易"硬编"一个调用,直接判 0 分。
  • Base 掉 5.5 分:多轮里每一步的输出都是下一步的输入,4-bit 权重的微小误差会沿对话轮次复利式累积,轮数越多、偏离越早。

值得庆幸的是 Long Context 几乎没掉(-0.50),说明量化对"读长文"的召回能力影响很小——短板不在注意力,而在决策。

Agentic 板块拆解:掉分是"局部"的,甚至有一项大涨

Agentic 板块包含 Web Search(网络搜索)和 Memory(记忆检索)两大子任务,四路分数对比(来自 base_score/data_agentic.csv 与 score/data_agentic.csv):

子任务BF16NVFP4变化
Web Search(合计)51.00%47.00%🔻 -4.00
└ web_search_base59.00%58.00%-1.00
└ web_search_no_snippet(无摘要,纯链接推理)43.00%36.00%🔻 -7.00
Memory(合计)48.82%51.61%📈 +2.79
└ memory_kv(键值记忆)43.87%39.35%-4.52
└ memory_vector58.06%58.71%+0.65
└ memory_rec_sum(递归摘要)44.52%56.77%🚀 +12.25

所以严格说,Agentic 板块总量只掉 0.6 分,是"局部掉分、整体稳住":

  1. web_search_no_snippet 掉 7 分是 Agentic 板块最大失分点。这个任务不给网页摘要,只给链接,模型必须在多轮搜索中自己判断"这条信息能不能回答上轮问题"。它对中间推理链的每一步精度要求最高,恰好是 4-bit 量化误差最容易被放大的地方。从原始答卷 score/RedHatAI_Qwen3.6-35B-A3B-NVFP4/agentic/BFCL_v4_web_search_base_score.json 可以看到典型失败模式:模型在多跳推理后给出了张冠李戴的事实(把网球选手的事嫁接到了另一道地理题上),被判answer_not_found。
  2. memory_rec_sum 却大涨 12.25 分,说明量化并没有系统性"变笨"——在摘要压缩类任务上量化版反而更敢输出完整答案。
  3. memory_kv 掉 4.52 分则暴露了另一个问题:从 score/RedHatAI_Qwen3.6-35B-A3B-NVFP4/agentic/memory/kv/BFCL_v4_memory_kv_score.json 的失分样例看,量化版更频繁地输出 "I do not know"(例如学生冬令营去了哪国,答案明明在记忆里),即量化放大了"不确定"倾向,宁可拒答也不冒险。

Live 板块才是单项最大坑:Parallel Multiple 掉 12.5 分

很多人忽略了 Live 板块。细看 base_score/data_live.csv 与 score/data_live.csv:

Live 子任务BF16NVFP4变化
Live Simple60.85%57.36%-3.49
Live Multiple71.32%70.66%-0.66
Live Parallel75.00%75.00%0
Live Parallel Multiple66.67%54.17%🔻-12.50
Relevance Detection87.50%93.75%📈 +6.25

Live Parallel Multiple(并行 + 多调用)是全榜单单项掉分最大的任务(-12.50 分):要求模型一次性正确发出多个可并行的函数调用,任何一次"格式/参数漂移"整题作废。这类"一步不能错"的任务对数值精度最敏感,4-bit 的舍入噪声恰好在这里成了最后一根稻草。

为什么 NVFP4 会伤多轮与 Agentic?三个技术原因

结合本仓库的量化配方 recipe.yaml 和模型配置 config.json,掉分根源可以归纳为三点:

  1. 4-bit 权重的舍入误差随推理步数累积。NVFP4 是 4-bit Float 格式,单步误差小,但 Agentic/Multi-Turn 任务本质是"把模型输出当作下一步输入"的长链条。链越长,误差越容易把轨迹推出正确答案域。这也解释了为什么单轮 Non-Live 几乎不掉、多轮却掉 4 分多。
  2. 敏感层被刻意保留,但 Linear 投影层全量压缩。从 recipe.yaml 可见,量化跳过了lm_head、embed_tokens、视觉塔model.visual.*、专家路由门mlp.gate、shared_expert_gate以及linear_attn(线性注意力层),只压Linear类权重。这是保格式正确的"最小代价"选择——代价是 FFN/专家投影层(承载事实与推理细节最多的部分)全部压到 4-bit,于是"事实检索型"任务(web search 多跳、kv 记忆)成了失分重灾区。
  3. MoE 路由精度被压在了边缘。35B-A3B 是 MoE 架构,每次推理只激活约 3B 参数。虽然mlp.gate路由权重保留了高精度,但专家内部权重的量化噪声会直接改变"哪个专家被用到之后输出什么",在多轮纠错场景(Miss Func)中表现为"本该拒答却硬调、本该追问却瞎猜"。

还有一个容易被误判的因素:格式解码失败并不是主因。对比两次完整评测日志 results_35B-A3B_base_all.txt 与 results_35B-A3B_NVFP4_all.txt,Failed to decode the model response分别出现 4733 次和 4739 次,几乎一样——说明 NVFP4 版并没有把输出格式搞坏,掉分来自答案质量,而非格式崩坏。

结论:NVFP4 版还值不值得用?

值得,但要看场景。基于本次 BFCL v4 完整数据的三条实用建议:

  • ✅单轮函数调用、普通 Chat 场景放心用:Non-Live 甚至小幅上涨,Overall 恢复率 97%,且模型体积和推理成本大幅下降(README.md 中给出的部署命令只需vllm serve一行,配--reasoning-parser qwen3)。
  • ⚠️重度 Agentic / 多轮纠错场景保留 BF16:如果你的业务依赖"函数缺失时正确拒答""多跳搜索中每一跳都精确",Miss Func(-7.0)和 Parallel Multiple(-12.5)的掉分是实打实的业务风险。
  • 💡折中方案:可以只在专家权重上做 NVFP4、保留 BF16 的路由与门控(本仓库正是该策略,见 recipe.yaml),再叠加--enable-prefix-caching降低多轮重复前缀开销,把"长链条任务"的精度损失压到最低。

一句话总结:Qwen3.6-35B-A3B-NVFP4 用 1.73 分的总榜代价换来了 4-bit 部署,掉分不是均匀分布,而是精准地砸在"长链推理 + 纠错边界"上——这正是当前 4-bit 量化大模型的通病,也是评估量化模型时最该盯住的两个子榜。


📁 本文涉及的原始数据文件:

  • BF16 基线分数:base_score/Qwen_Qwen3.6-35B-A3B/
  • NVFP4 量化版分数:score/RedHatAI_Qwen3.6-35B-A3B-NVFP4/
  • 各板块汇总 CSV:score/data_overall.csv、score/data_multi_turn.csv、score/data_live.csv、score/data_agentic.csv、score/data_non_live.csv
  • 量化配方:recipe.yaml · 模型配置:config.json · MTP 层权重(未量化,原样保留):model_mtp.safetensors

【免费下载链接】Qwen3.6-35B-A3B-NVFP4

项目地址:https://ai.gitcode.com/hf_mirrors/RedHatAI/Qwen3.6-35B-A3B-NVFP4
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进