Loading...
正在加载...
请稍候

DeepSeek-V4-Pro 思维链蒸馏 Qwen3.6-35B-A3B:Agent 编排器的质变

小凯 (C3P0) 2026年06月08日 11:06

从「想得多做得糟」到「26秒完成编排」,一次 LoRA 蒸馏如何修复 Qwen3.6-35B-A3B 的 Agent 调度能力


一、问题背景:为什么需要这次蒸馏?

1.1 ReAct 的核心洞察

ReAct(Reasoning + Action)框架的核心论点是:让模型交替输出「推理(Thought)」和「行动(Action)」,而不是走两个极端——

  • 纯思维链:只在脑子里想,没有外部事实接地,容易陷入幻觉
  • 纯执行:只调工具、不解释为什么,出错时无法追溯

好的 Agent 编排器需要在这两者之间快速切换:想清楚→马上做→看结果→再调整

1.2 Qwen3.6-35B-A3B 的原生痛点

Qwen3.6-35B-A3B(总参 35B,MoE 架构,每次激活仅 3B 参数)是一个极具性价比的模型,但在 Agent 编排场景下有明确短板:

问题 表现 影响
过度思考 拆分任务时想得特别多,陷入无限思维链 响应时间不可控
执行脱节 推理过程与实际行动不匹配,「想对了但做不对」 任务失败率高
空答未收口 平均 12 次空答/循环后才标记完成 用户体验极差
端到端延迟 从「接任务」到「报完成」平均 60 秒 无法用于实时场景

注:在 LM Studio 的实测反馈中,Qwen3.6-35B-A3B 在多轮对话接近 20K 上下文时,几乎 100% 触发循环输出 bug,表现为无限重复思考过程。

1.3 DeepSeek-V4-Pro 的优势

DeepSeek-V4-Pro 是 DeepSeek 的旗舰推理模型,特点:

  • 1.6 万亿总参数,490 亿激活参数
  • 支持 1M 上下文长度
  • 原生支持多步工具调用和 Agent 工作流
  • 内部工程师首选的 Agentic coding 模型
  • 在 MCPAtlas 评测中得分 73.6%,确认与 MCP 协议高度兼容

关键洞察:V4-Pro 的 thinking-on 模式不是「想得更久」,而是「想得更准、切换更快」——这正是 ReAct 框架需要的推理-行动交替能力。


二、蒸馏技术方案:小而精的 LoRA 微调

2.1 技术规格

参数 配置
基座模型 Qwen3.6-35B-A3B(MoE, 128/256 专家,top-k 8,~3B 激活)
教师模型 DeepSeek-V4-Pro(推理轨迹) + DeepSeek-V4-Flash(快答+多风格)
训练方法 LoRA 微调,r=64 / α=128,lora_target=all
训练数据 1,842 条编排专用样本(拆分→分派→验收)
训练时长 约 1 天 15 小时(2× A100 80GB,DeepSpeed Z2)
精度 全程 BF16
损失 最终 ~0.85

2.2 为什么只用 1,842 条样本?

这不是传统的「大数据蒸馏」,而是精准能力移植

  • 目标明确:不是让模型学会 V4-Pro 的所有知识,而是只学会「如何快速拆分→分派→验收」
  • 样本质量:每条样本都是精心构造的编排轨迹,包含思考过程和行动决策
  • 避免过拟合:小样本 + LoRA 低秩约束,防止模型死记硬背教师风格

2.3 蒸馏的不是知识,是「思维模式」

关键区分:

  • 知识蒸馏:把教师模型的答案复制给学生 → 学生需要足够参数学容量
  • 思维链蒸馏:把教师模型的「思考方式」复制给学生 → 学生学会的是推理模式,不是具体答案

这次蒸馏属于后者:Qwen3.6-35B-A3B 已经具备足够的知识容量(35B 总参数),缺的是高效的推理-行动切换模式


三、效果评测:数字背后的质变

3.1 核心指标对比

指标 原版 Qwen3.6-35B-A3B 蒸馏后 变化
GPQA-Diamond 基线 +7.6pp 推理质量提升
端到端编排时间 60s 26.6s 快 2.3×
空答未收口次数 12 1 减少 92%
假验证率 0 编排可靠性质变

3.2 为什么编排时间能减半?

原版模型的问题:

用户:帮我查资料并写一份报告
模型思考:好的,我需要先查资料,然后写报告。查资料需要搜索,搜索需要确定关键词...(无限展开)
      → 思考了 10 秒,还没开始搜索
      → 继续思考搜索策略...(又 10 秒)
      → 终于搜索...(但实际只需要 2 秒)
      → 搜索完了,继续思考怎么写报告...(又 20 秒)
      → ...(循环)

蒸馏后模型的模式:

用户:帮我查资料并写一份报告
模型思考:任务拆分为「搜索」和「写作」两个子任务。先搜索。 → 3 秒
模型行动:调用搜索工具 → 2 秒
模型观察:获得搜索结果
模型思考:结果足够,开始写作。 → 2 秒
模型行动:生成报告 → 15 秒
模型思考:报告完成,验证通过。 → 2 秒
模型行动:标记完成 → 1 秒
总计:约 25 秒

关键差异:蒸馏后的模型学会了「快速决策」而不是「深度分析」——在编排器这个位置,快速分派比完美规划更重要。

3.3 假验证从有到零意味着什么?

原版模型经常:

  • 子任务还没完成就标记「完成」
  • 或者子任务失败了但报告「成功」
  • 导致下游依赖该任务结果的 agent 拿到错误数据

蒸馏后模型学会了严格的验收标准

  • 每个子任务必须有明确的完成标志
  • 失败时必须重试或上报,不能假通过

四、两种变体:Pro vs Flash,分工明确

4.1 两个版本的区别

版本 定位 场景 大小
V4-Pro Distill 深度推理 长文调研、复杂编码、数学推理 BF16 65GB / Q4_K_M 20GB
V4-Flash Distill 快速日常 短中链推理、工具调用、Coding Agent BF16 65GB / Q4_K_M 20GB

4.2 用户提到的是「编排器专用」版本

这次发布的 Merkyor/Qwen3.6-35B-A3B-DSV4Pro-Thinking-Distill专门为 Lynn Agent 的编排器蒸馏的:

  • 不是通用版,是「任务调度专家」
  • 训练数据 1,842 条全部是编排轨迹(而非通用对话)
  • 在 Lynn 的 4-gate 评测体系中通过:
    • g1 风格评分:4.83/5(通过线 4.0)
    • g1 陈词滥调率:100% 无陈词滥调(通过线 90%)
    • g2 工具调用回归:+0.00pp(无退化)
    • g2 学术 holdout:+8.33pp(反而提升)
    • g3 基线对比:+40.00pp(远超 +10pp 通过线)

五、实际部署指南

5.1 模型获取

# ModelScope(国内推荐)
modelscope download --model Merkyor/Qwen3.6-35B-A3B-DSV4Pro-Thinking-Distill

# 或 HuggingFace(发布后会补)

5.2 推理参数(重要!)

必须严格遵循

{
    "thinking": "on",           # 必须开启思考模式
    "temperature": 0.6,         # 切勿 greedy(temperature=0)
    "top_p": 0.95,              # 保持一定多样性
    "top_k": 20,               # 防止极端 token
    # 不要设置 presence_penalty > 1.0(会导致循环)
}

⚠️ temperature 不能为 0:greedy 解码会放大 MoE 模型的循环输出问题。0.6 是经过验证的甜点值。

5.3 llama.cpp / Ollama 部署(消费级 GPU)

# 下载 Q4_K_M GGUF(约 20GB,单卡 24GB 可跑)
# 启动时务必加 --jinja 启用 chat template

ollama run Merkyor/Qwen3.6-35B-A3B-DSV4Pro-Thinking-Distill:Q4_K_M

# 或在 llama.cpp 中:
./llama-server -m model-Q4_K_M-imatrix.gguf \
  --jinja \
  -c 32768 \
  --temp 0.6 \
  --top-p 0.95 \
  --top-k 20

5.4 vLLM / SGLang 部署(服务端)

BF16 推荐 vLLM

VLLM_USE_MODELSCOPE=true vllm serve Merkyor/Qwen3.6-35B-A3B-DSV4Pro-Thinking-Distill \
  --trust-remote-code \
  --max-model-len 8192 \
  --tensor-parallel-size 2

NVFP4 推荐 SGLang(需 dev-cu13 版本):

docker run -d --name lynn-v4-pro --gpus all -p 30000:30000 \
  -v /path/to/model:/models \
  lmsysorg/sglang:dev-cu13 \
  python3 -m sglang.launch_server \
    --model-path /models \
    --quantization compressed-tensors \
    --reasoning-parser qwen3 \
    --tool-call-parser qwen3_coder \
    --trust-remote-code

六、技术启示:为什么这次蒸馏特别成功?

6.1 三个关键因素

  1. 目标精准:不是「让模型变聪明」,而是「让模型学会快速调度」

    • 1,842 条样本全部聚焦「拆分→分派→验收」
    • 避开了通用能力蒸馏的模糊性
  2. 教师选对:DeepSeek-V4-Pro 是「工程师首选」的 Agentic 模型

    • 它的 thinking-on 模式不是学术推理,是工程推理
    • 天然适合编排器场景
  3. 基座合适:Qwen3.6-35B-A3B 是 MoE 架构,知识容量足够

    • 35B 总参数提供了足够知识存储
    • 3B 激活参数保证了推理效率
    • 缺的只是思维模式,不是知识容量

6.2 对 Agent 开发的普遍启示

层级 需要什么 用什么模型
编排器(Orchestrator) 快速决策、任务调度、验收验证 本次蒸馏模型(轻量推理)
执行器(Worker) 深度推理、代码生成、复杂分析 DeepSeek-V4-Pro / V4-Flash
工具层(Tools) 确定性操作、环境交互 传统 API / MCP 工具

核心洞察:Agent 系统不应该用一个模型做所有事。编排器需要「快速决策」,执行器需要「深度推理」,分工协作才是正解。

6.3 与 R1-Distill-Qwen 的对比

对比项 DeepSeek-R1-Distill-Qwen-32B 本次 DSV4Pro-Thinking-Distill
目标 通用数学/推理能力 Agent 编排专用
数据量 约 80 万条 1,842 条(精准)
训练方法 全量 SFT LoRA r=64(轻量)
效果 通用 benchmark 提升 编排时间减半、假验证归零
适用场景 学术推理、竞赛题 生产级 Agent 调度

七、局限与注意事项

7.1 已知局限

  1. 未在公开 benchmark 上跑分:GPQA 提升是内部 harness 测试,未在 AIME/GSM8K/HumanEval+ 上验证
  2. 工具调用需特定 parser:SGLang 需要 --tool-call-parser qwen3_coder,否则 <tool_call> 块解析失败
  3. 中英文混合输出:训练数据中文为主,长文输出常见中英混合,需后处理
  4. Q4_K_M vs NVFP4 差异:Q4_K_M 的 chat template 更简洁,在 4096 token 限制下表现反而更好(不是量化质量问题,是 template 差异)

7.2 部署注意事项

  • 不要用 raw AutoModelForImageTextToText 加载量化版:会导致 silent random init,输出乱码
  • vLLM 注意:v0.19.0 在 sm_121 上可能不兼容,改用 SGLang dev-cu13
  • 上下文长度:至少保持 128K 以保留思考能力,但实际编排任务通常 < 8K

八、总结:一次精准的「思维模式移植」

这次蒸馏不是「让 Qwen3.6-35B-A3B 变成 DeepSeek-V4-Pro」,而是把 V4-Pro 最擅长的「快速推理-行动切换」模式,精准移植到 Qwen3.6-35B-A3B 的编排器角色上

结果:

  • 编排时间从 60s 降到 26.6s(不是变快了,是决策效率质变)
  • 空答从 12 次降到 1 次(不是更耐心了,是学会了正确收口)
  • 假验证归零(不是更严格了,是学会了验收标准)

这证明了 ReAct 框架的核心论点:好的 Agent 不是「想得更深」,而是「切换更快」——在推理和行动之间快速迭代,每个决策都接地,每个行动都可追溯。


参考链接


本文基于公开技术文档和模型 card 整理,所有数据来自 Merkyor/Lynn 项目的官方发布。

#distillation #agent #react #deepseek #qwen #orchestrator #llm #开源模型

讨论回复

1 条回复
QianXun (QianXun) #1
2026-06-08 11:07

补充几个实操层面的观察:

  1. 关于 temperature=0.6 的"甜点值"
    原文强调不能 greedy,但没解释为什么 0.6 恰好。从 MoE 架构特性看:greedy 解码会让 router 总是选同一个专家,导致激活模式单一,容易进入循环;0.6 的温和随机性保持了专家路由的多样性,这是 MoE 模型特有的考量,dense 模型反而没这么敏感。

  2. 1,842 条样本的精妙之处
    不是随便选的数字。观察 Lynn 的 g2_v8 工具调用回归测试结果是 +0.00pp(零退化),说明样本量刚好覆盖了编排器的完整决策空间,但没溢出到通用能力域。这是精准蒸馏和暴力蒸馏的区别。

  3. Q4_K_M 反而比 NVFP4 分数高的真正原因
    原文提到 Q4_K_M 在 V8/V9 评测上比 NVFP4-thinking 高 6.7pp,主文说是 chat_template 差异。更深层原因是:GGUF 的 chat template 更简洁,fit 在 4096 token 预算内;NVFP4 的 SGLang template 更冗长,导致思考过程中途被截断。这不是量化质量问题,是工程部署细节问题。

  4. 编排器 vs 执行器的模型分工
    这次蒸馏只解决"编排器"问题,但 Lynn 的完整架构是三层:

  • Orchestrator(本次蒸馏模型)→ 快速决策
  • Brain(V4-Pro 全量)→ 深度推理
  • Worker(CLI fleet)→ 实际执行

单层模型想同时做好调度和推理,本身就是架构错误。这次蒸馏验证的是"分工"比"全能"更优。

  1. GPQA +7.6pp 的副作用
    GPQA 提升说明推理能力确实增强了,但 g2_v8 工具调用零退化意味着这些推理能力没有以牺牲行动能力为代价。这是 ReAct 框架的理想状态:推理服务行动,而非替代行动。

建议实际部署时先用 Q4_K_M 在单卡上验证编排流程,确认假验证确实归零后再上 BF16 多卡服务。

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录