当前位置: 首页 > news >正文

DART:采样两份草稿估计思考预算,节省 67% token 效果还更好

一句话总结

混合推理模型可以直接回答问题,也可以深度思考后再作答,但实际应用时到底该选那种?现有方案一般让用户选择,或者额外训练路由器,DART 的做法却是极度的简单有效:先采两份 nothink 草稿,根据他俩的一致性判断是否需要思考,再利用熵来推测思考预算,不仅节省了 5.7× token,效果甚至还比 always-thinking 更好


  • 论文标题:DART: Draft-Agreement Routing for Training-Free Adaptive Thinking Budgets in Hybrid Reasoning Models
  • 论文地址:https://arxiv.org/abs/2606.23181
  • 作者背景:高丽大学等

一、动机

Qwen3、DeepSeek-V3.2 这类混合推理模型,都提供了快速回答和思考模式,实践时可能会遇到问题:

  • 思考成本:简单题也会花上千 token 做链式推理,计算量和延迟都剧增
  • 过度思考:研究表明,强制思考有时还会拉低准确率,模型想太多导致偏移
  • 固定预算两难:给少了难题写不完答案,给多了简单题全浪费

现有解决方案基本上都是做一个路由器,控制问题该走思考模式还是快速回答,或者更细致地控制思考强度;而路由器一般通过两类方式得到:

  • 专门训练:利用 MLP / GBT 等模型,收集带标签的难度数据。缺点是与模型能力与业务场景耦合,换模型、换场景就要重训
  • 启发式:基于置信度 / 熵等推理信息,启发式判断当前问题是否有必要做思考。缺点是实测效果较差,尤其是在代码场景

可见当前的核心问题是:缺少直接的 “答案级证据” 来判断思考策略够不够用


二、方法

DART (Draft-Agreement Routing for Thinking) 分两个阶段,核心思路极其简单

2.1 一致性路由

  1. 对输入 query,在 nothink 模式下独立采样 K=2 份草稿(temperature=0.6)
  2. 用任务相关的等价函数(数学用字符串归一化,代码用沙箱执行)比较两份草稿的答案
  3. 一致则接受:直接输出答案。这里要根据问题领域定好 “一致” 的判定规则,比如数学题就看结果数字、代码就看执行结果
  4. 不一致则送入后续阶段(见下一小节)

为什么只要 2 份草稿?消融实验表明,K=3 时多花 22% token 只多 0.5 分,K=4 反而回落到 88.5

概率直觉:如果模型给某个答案分配的概率是 p,两次独立采样恰好都落在这个答案上的概率 ≥ p²。简单题 p 接近 1,两份草稿几乎一定给出相同的正确答案;难题概率分散在多个候选上,两次撞到同一个答案很难,自然被路由到 think

2.2 思考预算

于其他启发式思考预算规划方法类似,作者也利用模型推理时的熵来估算需要多大程度的思考。为了建立 “熵 → 思考长度” 的映射关系,作者准备一份与测试集不重叠的校准集,分析它们推理时的平均 token 熵(在 K 份草稿的所有位置上取均值),利用保序回归(要求 “输入越大输出不减”)拟合出单调的映射关系,如下图所示:


保险起见,拟合函数在使用时还乘以一个安全系数(γ=1.5)作为冗余,确保思考预算充足。当思考达到预算后直接注入</think>,答案在独立的 completion call 中生成


三、实验结果

3.1 基准测试

对照组包括:Not Think(全部不思考)、Always Think(全部思考)、SC-Route(一致性路由,不一致则回退到 AT),测试指标为各回答问题的准确率与思考 token 效率;Route 指的是草稿接受率,即直接回答问题的占比

结果表明,在大部分实验组合中,DART 都在显著优化思考效率的前提下,超过了 AT(全部走思考模式)

3.2 Token 效率

DART 在 MATH-500 上平均只用约 2.8K thinking tokens 就拿到 88.2%,而 AT 需要约 16K budget 才达到 85.6%。即 DART 拿到了 5.7 的思考 token 缩减,准确率还更高

以单次 AT 协议作为部署成本参照,MATH-500 上 DART 平均 3.5K vs AT 5.4K,总 token 减少 35%;HumanEval 上缩减 55%,因为大量代码题被一致性路由的草稿直接解决

3.3 路由策略对比

  • 启发式方案:多数投票(MV-3/5/7)与模型自行判断要不要 think(MC-Binary)在数学题上还能凑合,文本级投票在代码上彻底失效
  • 监督学习:收集 250 条有标签样本训练的 MLP/GBT,特征包括草稿熵、草稿长度、草稿一致性等,训练后的效果尚可但没打过 DART。分析特征贡献度发现草稿一致性的特征权重非常高,所以直接把这一特征当门控来使用的 DART 方法效果更好

3.4 跨难度、跨规模测试

一致性路由中的草稿接受率随难度单调递减,而接受精度始终保持 83.8%-95.5%

在 0.6B-32B 尺寸的 Qwen3 模型上测试可见,0.6B-4B 小模型的 nothink 能力本身不足,被路由出去的简单题也答不对,8B 以上 DART 才能稳定匹配 AT

四、局限

  • 选择题不适用:4 选 1 碰撞概率 ≥ 36%,一致性失去判别力
  • 需要合适的等价函数:新领域需要定义合适的 eq 函数
  • 需要 logits + budget 控制:某些 API 可能不支持
http://www.jsqmd.com/news/1098874/

相关文章:

  • ai-image-gen-mcp MCP 服务说明文档
  • 数据安全检查,这3个API盲区最容易被问穿
  • Windows 11 点击“电源和电池”设置直接闪退?罪魁祸首竟然是Sensor Service!
  • 机器学习与模式识别 第一章 机器学习导论 考点压缩
  • 吃透Spring事务 :核心原理,传播机制,隔离级别,使用场景
  • 自动化测试框架选型与Robot Framework环境搭建实战指南
  • Windows Defender深度控制架构设计与系统级安全策略管理实现
  • 基于改进YOLOv8与无人机航拍的电动自行车违规行为智能检测系统实战
  • E-Hentai下载器完整指南:如何轻松批量下载并打包图片资源
  • 如何快速部署Python自动化脚本:京东商品预约下单的完整解决方案
  • 第一次学 volatile 关键字,我看了三遍才搞懂它到底在干嘛
  • 如何免费使用Outfit字体:9种字重打造专业品牌设计的完整指南
  • 别再傻傻手写了!Python一行代码判断是不是数字,爽到飞起
  • Ansible自动化运维实战:从入门到精通,轻松管理服务器集群
  • JVM 运行时数据区 —— 5 大块内存
  • C++ Primer Plus 重读精讲 _ 指针进阶全集:三类const指针辨析、指针数组数组指针硬核区分、指针地址传参、工控函数双向改参实战
  • VMware虚拟机组网通信全链路解析(ESXi 7.0+vSphere 8.0实测验证)
  • 面向对象——多态
  • Focus架构:视觉语言模型的高效加速方案
  • 群辉Nas部署GitServer随笔
  • 别再被Python列表拷贝坑了!浅拷贝深拷贝,一个不注意就让你代码崩盘
  • 如何快速查找 *Bash* 命令的*类型*?
  • File和IO
  • 与你的 Elasticsearch 数据对话:使用 Google ADK 和 MCP 构建一个实时语音 agent ,分为 3 个组件
  • 5分钟快速上手:RedisDesktopManager-Windows终极可视化数据库管理工具完整指南
  • 告别串口乱码!STM32F401RCT6用Arduino框架点灯+串口打印保姆级教程
  • C#工业视觉实战:集成工业相机与YOLOv8实现缺陷检测系统
  • 探索兴趣爱好的内涵
  • 廖雪峰Python2教程PDF!20行代码秒杀C语言1000行,速度慢?谁在乎
  • 别再让激光器‘发烧’了!手把手教你用运放搭建高精度恒流源(附LTspice仿真文件)