Revisiting On-Policy Distillation: Empirical Failure Modes and Simple Fixes
重新审视在线蒸馏:经验性失效模式与简单修复
作者:Yuqian Fu, Haohuan Huang, Kaiwen Jiang, Yuanheng Zhu, Dongbin Zhao
机构:中科院自动化所多模态人工智能系统全国重点实验室 (CASIA); 国科大人工智能学院 (UCAS)
📄 查看 ArXiv 原文
📍 研究背景与痛点
在大型语言模型 (LLM) 的 Post-training(尤其是长程推理和 Agentic 场景)中,On-Policy Distillation (OPD, 在线蒸馏) 展现出了巨大潜力。相比于在固定的 Teacher Traces 上进行离线 SFT,OPD 允许 Student 模型在自己生成的 Rollouts 上接收更强 Teacher 模型的反馈,这对于探索未知状态空间至关重要。
当前工程实践中,OPD 通常被简化为一种 Sampled-token OPD (单Token采样对比):在每个解码步,Student 仅通过评估当前采样出的那一个 Token 在 Teacher 和 Student 之间的 Log-ratio 来进行更新。然而,作者指出这种范式在长程 (Long-horizon) 设定下极为脆弱,主要存在三大致命痛点:
- 极度不平衡的单 Token 信号: 绝大多数采样出的 Token 的奖励为负(因为 Student 的置信度往往偏高),导致正向学习信号仅集中在极少数具有 Positive Advantage 的 Token 上。训练很容易被一些短期的、Teacher 局部偏好的无意义 Filler(填充词)所带偏。
- Teacher 对 Student 生成的前缀出现“幻觉”指导: 当 Student 偏离 Teacher 的常见分布(OOD Prefix)时,Teacher 会给一些看似合理但对任务毫无帮助的 Token(如过度推理、死循环)赋予极高的概率,导致严重的 Reward Hacking。
- Tokenizer 与 Special-token 不匹配导致的失真: 当 Teacher 和 Student 的 Tokenizer 切词粒度不同,或结束符标记不一致时,在单 Token 级别上进行对齐会导致严重的误杀(如将语义完全正确的输出判为低概率惩罚)。
🚀 核心贡献
- 揭示了 OPD 估计器中的 Bias-Variance Tradeoff: 理论证明并实验验证了 Sequence-level 的 Reverse-KL 目标虽然无偏,但其 Worst-case 梯度方差随序列长度呈 $O(T^4)$ 爆炸,而 Token-level OPD 将方差降至 $O(T^2)$,这是其在长程任务中被广泛采用的根本原因。
- 系统梳理并实证了 Sampled-token OPD 的三大失败模式, 为后续对齐与强化学习研究提供了宝贵的 Debug 视角。
- 提出了简单且极具实效的修复方案 —— Teacher Top-K Local Support Matching: 结合 Top-p rollout 采样与 Special-token Masking,摒弃了不稳定的单 Token 约束,转而要求 Student 在 Teacher 的局部合理支撑集 (Local Plausible Support) 上进行截断概率分布级匹配。
🔍 具体案例剖析 (Case Studies)
作者从训练日志中提取了极具代表性的 Reward Hacking 灾难现象,揭示了 Teacher 模型作为 Reward 判别器的局限性:
- Repetition Loop (死循环现象): 在数学题求解中,Student 模型陷入了疯狂输出
\boxed{-14} 以及各种标点符号的死循环。令人吃惊的是,在这些无意义的重复 Token 上,Teacher 模型依然给出了极高的概率(因为从局部语言模型接续角度看是合理的),导致这一破坏性行为没有受到任何惩罚甚至被强化。
- Hesitation Loops (过度延迟与无意义的CoT): 当 Student 模型实际上已经得出答案后,它并没有干净利落地终止生成,而是开始输出大量如
Wait, let me think..., Let me see... 等 Filler Token。由于 Teacher 模型自身的推理惯性也会给出这类词高概率,导致模型不仅浪费了算力,还增加了后续出错的概率。
- Off-distribution 崩溃 (无意义乱码的高概率): 当 Student 生成了彻底无意义的中文组合或乱码字符时,Teacher 依然对其中几个 Token 赋予了高置信度。单 Token OPD 将这些高置信度作为正反馈,直接导致了分布的严重偏移 (Drift)。
⚙️ 方法论与技术实现
为了在保持低方差的同时解决单 Token 评估的脆弱性,作者提出将训练目标从“点估计”升级为局部支撑集上的“分布估计”。
1. 目标函数推演:从单样本蒙特卡洛到截断 Reverse-KL
标准的 Sampled-token OPD 可以视为计算 Reverse-KL 时的单样本蒙特卡洛近似:
L_sample(c_t, y_t) = \log [\pi_\theta(y_t | c_t) / q(y_t | c_t)] , y_t \sim \pi_\theta(· | c_t)
为了使梯度更新更平稳并减少由于意外采样引起的剧烈扰动,作者定义了基于 Teacher 的支撑集:对于给定的前缀 $c_{i,t}$,选取 Teacher 概率分布最高的 K 个 Token 作为支撑集 $S(c_{i,t}) = TopK_q(c_{i,t})$。
2. Support-set Renormalization (支持集内重归一化)
在截断集合 $S$ 内,由于概率总和不足 1,必须分别对 Teacher ($q$) 和 Student ($\pi_\theta$) 的概率分布进行重新归一化,得到 $\hat{q}(v|c_{i,t})$ 和 $\hat{\pi}_\theta(v|c_{i,t})$。最终的优化目标(Local Support Matching, LSM)是在该集合内的截断 Reverse-KL:
\mathcal{L}_{LSM} = \mathbb{E}_{x, \{o_i\}} \left[ \frac{1}{|o_i|} \sum_{t=1}^{|o_i|} \sum_{v \in S} \hat{\pi}_\theta(v) \log \frac{\hat{\pi}_\theta(v)}{\hat{q}(v)} \right]
3. 工程级 Stabilization Choices
- Top-p Rollout Sampling: 强制生成 Rollout 时采用 Top-p=0.9 的采样策略,避免 Student 踏入极低概率区域,从而保证 Teacher 能够给出具备信噪比的指导。
- Special-token Masking: 针对 EOS 和不同语种切词习惯,在计算 Loss 时直接 Mask 掉这些特殊的 Token 对齐项,从根源上缓解因 Tokenizer 格式不同带来的虚假惩罚 (Spurious Penalty)。
📊 实验设置与结论分析
实验基座: Student 为 Qwen2.5-7B-Instruct。对于 Math 任务,Teacher 为 OpenThinker3-7B;对于 Agentic 任务,Teacher 为 GiGPO-Qwen2.5-7B-Instruct-ALFWorld。实验场景分为纯数学单任务 (DAPO-Math-17K, 16K上下文) 和 Agent+Math 的多任务交替训练。
- 单任务 Math 表现大幅超越基线: 基座模型性能为平均 28.2,标准的 Sampled-token OPD 提升至 36.4,而加入了 Special-token Masking 可达 40.7。本文提出的完整方法 (LSM + Mask) 则进一步提升至平均 41.5。
- 多任务下的非对称收益: 在交替多任务训练下,Teacher Top-K Support 策略在保障了极高的 Agent 任务能力 (ALFWorld 成功率 97.7%) 的同时,还能显著提升原本容易出现灾难性遗忘或策略漂移的 Math500 表现 (从 76.0 跃升至 82.0)。
- 训练动力学更加稳定: 实验数据表明,相较于基线,LSM 方法产出的梯度范数 (Gradient Norms) 更小,触发 Clipping 边界的频率大幅降低,且生成的 Response 长度回归正常,不再因 Reward Hacking 陷入冗长无意义的 Token 输出。
💡 关键技术亮点分析 (Takeaways for LLM Practitioners)
对于工业界负责 LLM 对齐和 RLHF/PPO 的从业者来说,本文给出了极具指导意义的结论:
- 单 Token 评估的致命缺陷已被坐实: 在长逻辑链场景下(如 O1 类推导模型),基于单个生成 Token 的 KL Penalty 或 Reward 计算极其不稳定。本文的局部 Top-K 匹配提供了一个兼顾计算效率与训练稳定性的 Sweet Spot。
- Teacher 作为判别器会存在严重的泛化盲区: 当 Student 的轨迹偏离时,Teacher 在 Next-token prediction 视角的“局部合理性”(例如输出标点或过渡句)绝不能等同于“全局轨迹的合理性”。此问题提醒我们,长程 OPD 不能单靠 Log-prob 差距,未来必须结合基于 Outcome 的可验证奖励(如 PRM/ORM)。
- Tokenizer 差异是无声的杀手: 如果使用跨模型蒸馏,务必要排查两者的词表和 Special Tokens,实施 Masking 可能是避免训练初期就崩溃的最廉价也是最有效的手段。
CRAFT: Grounded Multi-Agent Coordination Under Partial Information
CRAFT:局部信息不对称下的具身多智能体协作基准
作者:Abhijnan Nath, Hannah VanderHoeven, Nikhil Krishnaswamy
机构:Colorado State University (SIGNAL Lab)
📄 查看 ArXiv 原文
1. 研究背景与核心痛点
随着大语言模型(LLMs)从单轮对话助手向多智能体系统(Multi-Agent Systems, MAS)演进,智能体协作能力成为了核心议题。然而,业内资深从业者和研究人员发现,现有的多智能体评估基准往往存在严重的脱离实际问题:
- 全局可观测性假设(Perfect Information):现有基准(如常见的文本游戏、代码协作)通常假设智能体共享相同的环境上下文。但在真实的具身场景或复杂业务流中,智能体往往面临局部可观测性(Partial Observability),每个智能体只掌握碎片化的私有信息。
- “个体能力”与“协作沟通”的混淆:当前模型在单体推理(如思维链 CoT)上表现卓越,展现了极强的“形式能力(Formal competence)”。但这并不等同于“功能性沟通能力(Functional competence)”。面对信息不对称,智能体需要展现语用沟通(Pragmatic Communication)能力——即根据伙伴的认知状态,决定“说什么、说多少、何时说”(Gricean Maxims 合作原则)。
- 信度分配难题(Credit Assignment):在多智能体执行任务失败时,很难界定是“指导者没说清楚”还是“执行者理解/执行能力太差”。
为了探究当前前沿模型(Frontier Models)在真实不对称信息下的协作水位,本文提出了 CRAFT,一个旨在评估LLMs在严格局部信息约束下的语用沟通与协作能力的具身基准。
2. 核心贡献
- 引入 CRAFT 协作构建基准:构建了一个多视角的 3D 乐高积木搭建任务。设定了 3 个“指挥者(Director)”智能体和 1 个“建造者(Builder)”智能体。每个指挥者只能看到 3D 目标结构的一个 2D 投影(左墙、远墙、右墙),必须通过自然语言沟通,指导建造者还原 3D 结构。
- 多发送者有界语用说话人(Multi-Sender BPS)理论框架:将经典的“理性言语行为(RSA)”模型扩展到多智能体环境。将每个指挥者形式化为一个“有界语用说话人”,不仅需要基于自身观察进行内部推理,还要建模“联合听众(Joint ToM Listener)”,确保自己发出的信息对建造者有效,且不与同伴冗余。
- 解耦执行与沟通的“Oracle辅助器”机制:为解决信度分配痛点,CRAFT为建造者提供了一组经过物理引擎验证的“Oracle合法动作候选”。建造者只需“做选择题”而非“做填空题”。这使得任务失败能被精准归因为指挥者群体的沟通失效。
- 反直觉的缩放定律(Scaling Behaviors)发现:通过对包含 GPT-4o、Claude 3.5 Sonnet、Qwen-2.5 等 15 款模型的详尽评测,发现:前沿闭源模型的协作成功率往往不如参数量较小的开源模型(如 Mistral-7B, Qwen-7B)。个体的强推理能力不仅不能保证集体成功,反而可能引发“过度纠正螺旋(Correction Spirals)”。
3. 具体案例剖析:前沿模型的“纠错螺旋”陷阱
论文中揭示了一个极具洞察力的现象:模型越聪明(个体空间推理越强),在缺乏全局视野时越容易陷入死锁。以 Qwen-32B 作为指挥者的一局游戏(Turn 10-14)为例:
场景设定:当前棋盘上第0层放着蓝色长积木,第1层放着橙色长积木。由于视角遮挡,D1(左侧指挥者)看到了这块放错的橙色积木,并试图让建造者移除它。
[Turn 13]
D1 (内部推理 / 视角): 发现这块橙色积木在“我视角的最底层”。
D1 发送指令: "Remove the large orange block from the bottom layer." (从最底层移除橙色大积木)
D2 发送指令: "Remove orange from bottom left corner."
系统引擎反馈: 失败!(Cannot remove layer 0 at (1,0))。因为真实的物理底层(Layer 0)是蓝色积木,橙色其实在 Layer 1。必须先移除最上层的积木。
[Turn 14] 灾难重演:
由于模型没有全局记忆机制来记录“上一轮的拆除动作因为层数报错”,D1和D2在下一轮看到了同样的棋盘错误状态,于是凭借其“优秀的单体发现错误能力”,又发出了完全相同的错误指令。
D3 发送指令: "Focus on removing the large orange from D1's bottom layer" (D3甚至开始附和这个错误指令)。
案例解析:在这个过程中,Oracle 一直在给建造者推荐“放置其他正确位置的积木”作为合法动作,但由于 D1 和 D2 达成了“强烈的错误共识”,建造者盲从了指挥者,导致连续多个回合零进度。这证明了:仅有优秀的私有知识提取能力,而缺乏跨回合的语用修复和联合状态追踪,会导致多智能体协作彻底崩溃。
4. 方法论与技术实现
为了科学量化这种沟通能力,CRAFT 在技术框架上做了两层精密设计:
4.1 Multi-Sender BPS (多发送者有界语用说话人) 理论
作者将每个指挥者 $D_i$ 建模为 BPS。在每一步 $t$,指挥者的目标是发出话语 $u_{i,t}$,使建造者(联合听众 $L_{ToMjoint}$)能结合所有指挥者的信息推导出目标状态 $z^\star$:
π⋆(u1, u2, u3 | z⋆, c) ∝ ( ∏i=13 Sbasei(ui | zi⋆, ci) ) · LToMjoint(z⋆ | u1, u2, u3, c)
这意味着最优策略要求:(1) $S_{base}$:内部推理必须符合私有观测;(2) $L_{ToMjoint}$:必须提供对建造者最有用且不与他人冗余的信息。论文利用强制区分 <think> (私有推理) 和 <message> (公开话语) 来显式对齐这一过程。
4.2 LLM-as-a-Judge 细粒度诊断指标
任务成功率不足以揭示“为什么失败”。作者设计了三个相互独立的 LLM 裁判(采用 GPT-4o-mini):
- 空间基础验证 (Spatial Grounding, SG):只看指挥者的
<think> 模块,评估其是否准确识别了自己视角下的缺件。
- 心智模型验证 (Mind Modeling, MM):评估公共
<message>,判断其是否提供了新信息、是否利用了独家视角、是否化解了与其他指挥者的冲突。
- 语用充分性验证 (Pragmatic Sufficiency, PS):这是一个群体级指标,评估三位指挥者的共同话语是否足以让理性的建造者选出一个 Oracle 推荐的正确动作。
5. 实验设置与结论分析
评测了 8 款开源模型 (如 Qwen 2.5 系列, Llama-3-8B, Mistral-7B) 和 7 款前沿闭源模型 (GPT-4o, Claude 3.5 Sonnet, Gemini 系列)。
- 核心结论 1:开源小模型“反杀”前沿大模型。 在总体任务进度上,Gemini-3-Flash 表现最好 (0.675),但紧随其后的是 Mistral-7B (0.631) 和 Qwen-7B (0.612)。而 GPT-4o-mini (0.333), Claude-Sonnet-4.6 (0.285) 和 Gemini-2.5-Flash (0.257) 表现垫底。
- 核心结论 2:更好的个人沟通质量 ≠ 更好的团队协作。 裁判数据显示,前沿模型在 SG (空间推理, 0.829 vs 0.658) 和 MM (心智建模, 0.642 vs 0.502) 上的得分远超开源模型。换句话说,GPT-4o和Claude在自己眼前的推理非常完美,表达也很有条理。但在评估群体信息的 PS 指标以及最终进度上,它们却输了。
- 深度归因:过度移除(Over-removal)带来的灾难。 通过中介效应分析(Mediation Analysis)发现:前沿模型因为具有极强的“独特视角利用能力(MM5)”,总是能敏锐地发现棋盘上的错误,因此它们频繁发出 "Remove" (拆除) 指令。然而,在复杂积木栈中,拆除需要极高的前后文对齐(先拆上面才能拆下面)。前沿模型的“聪明”导致它们陷入了第 3 节描述的“纠错螺旋”,白白耗尽了 20 轮的操作预算(Turn Budget),导致进度停滞。相反,较弱的开源模型由于发现不了深层错误,反而倾向于不断搭建(放置),误打误撞积累了更高的完成度。
6. 关键技术亮点分析与启发
作为资深从业者,这篇论文带来的最核心启示在于揭示了 LLM 多智能体系统中的“协作鸿沟(Collaboration Gap)”:
- RLHF的局限性:目前前沿模型(尤其是经历了深度 RLHF 甚至 RLVR 强化学习的模型)被高度优化为“完美的单轮指令响应者”或“精确的纠错者”。这种单体视角下的最优策略,在缺乏共享记忆池的多智能体非完全信息博弈中,会演变成灾难性的“微操狂热”(过度纠错)。
- 多智能体评测的范式转移:以往的 MAS 评测多为信息对称场景下的分工协作(如代码生成)。CRAFT 证明了引入信息不对称才是检验大模型真实协作能力的试金石。未来的 Agent 架构必须设计专门的“共识状态跟踪(Common Ground Tracking)”模块,而不能仅仅依赖 LLM 自身的上下文理解窗口。
- Oracle Builder 设计的精妙:在构建评测 Benchmark 时,如何隔离 Agent 通信能力和工具调用/执行能力一直是个难题。CRAFT 使用合法动作过滤(Oracle Move Enumeration)并将其作为选择题喂给执行者,极大地提升了指标归因的纯洁度,这一方法非常值得在其他 Agent Benchmark 开发中借鉴。
WebTestBench: Evaluating Computer-Use Agents towards End-to-End Automated Web Testing
WebTestBench:评估计算机使用智能体迈向端到端自动化Web测试
作者:Fanheng Kong, Jingyuan Zhang, Yang Yue 等
机构:Northeastern University (东北大学), Kuaishou Technology (快手科技)
📄 查看 ArXiv 原文
📌 研究背景与痛点
随着大语言模型(LLMs)的爆发,编程范式正在向“Vibe Coding”(意图驱动编程)演进。用户仅通过自然语言指令即可构建完整的Web项目甚至直接控制计算机(Computer-Use Agents, CUAs)。虽然AI驱动的Web前端与全栈开发日益成熟,但软件工程生命周期中的关键瓶颈已经悄然转移:如何自动化地验证这些生成出的Web应用的质量和可靠性?
现有的自动化测试评估基准存在显著缺陷:
- 评估维度过浅:大多依赖UI截图的静态视觉相似度(Static Visual Similarity)比对,或者孤立的组件级交互匹配,无法反映复杂的真实动态Web环境。
- 极度依赖人工:主流基准(如 WebGen-Bench、GUITestBench)严重依赖人工预先编写好的测试用例(Checklists),不仅成本高昂,且难以泛化到开放域生成的项目中。
- 忽略“潜在逻辑约束(Latent Logical Constraints)”:在真实业务系统中,“同一个会议室同一时间段不能被重复预订”这种隐含业务逻辑往往比显式的按钮点击更关键,而现有研究几乎完全忽视了这一层面。
💡 核心贡献
为了填补在端到端(End-to-End)自主Web测试领域的空白,本文主要提出了以下贡献:
- 推出 WebTestBench 基准:一个精心标注的Web测试Benchmark,包含100个利用
Lovable.dev 合成的、覆盖7大功能类别(搜索、电商、数据管理等)且包含自然代码缺陷的Web应用,专为评估端到端自动化测试设计。
- 提出 WebTester 评估框架与评估准则:将传统的复杂测试流程解耦为级联的两大Agent任务:检查表生成(Checklist Generation)和缺陷检测(Defect Detection)。并设计了一套严谨的自动化度量 Pipeline。
- 系统性暴露当前模型的极限:对包括 GPT-5.1/5.2、Claude 4.5 家族、MiMo-V2 等在内的前沿模型进行详尽测评,发现即便是最强模型在无先验知识的端到端测试 F1 分数也不足 30%,揭示了 CUA 在工业级测试场景部署中的巨大能力鸿沟。
🔍 具体案例剖析 (Case Study)
论文构建的 WebTestBench 从四个维度全面考察 Agent 的测试能力:功能性 (Functionality)、约束 (Constraint)、交互 (Interaction)、和 内容 (Content)。
案例:宠物领养网站(Pet Adoption Website)
输入指令:“我需要一个宠物领养网页,可以搜索和过滤来自多个收容所的动物(选项包括种类、年龄、体型、是否适合儿童)。点击能看详细资料并能提交领养询问表单...”
在测试阶段,Agent需要自行发掘并执行测试项:
- Functionality 维度:Agent 应当生成“用户可以通过种类、年龄等过滤待领养动物”的测试项并验证。
- Constraint 维度:Agent 需要推理出业务隐含边界条件。例如:“在提交领养表单前,必填信息(如联系电话)必须经过校验”。如果Agent执行后发现填空后直接提交成功了,应当报告
Bug: You can submit the form without filling in your phone number.
- Content 维度:由于页面是AI生成的,往往会有占位符幻觉。测试需确认:“所有宠物图片必须与该宠物的描述匹配”。如果发现柴犬条目配了哈士奇图片,需报出对应 Bug。
- 执行过程(长程交互):如在家电维修预约应用中,CUA需连续调用 Playwright 接口:
browser_navigate -> browser_click ("Book Repair") -> 选择具体家电 -> 填入描述 browser_type -> 进行支付 -> 在历史记录页 browser_click ("Cancel Booking")。这类动辄十余步的长程交互极易导致上下文截断或规划崩溃。
⚙️ 方法论与技术实现
本文提出了基准框架 WebTester。基于 Claude Agent SDK 及 Playwright MCP(模型上下文协议提供浏览器控制接口)构建,流程定义为严格的两阶段 Pipeline:
阶段一:Checklist Generation Agent ($A_C$)
将高层开发指令 $I$ 分解为结构化、可执行的测试列表 $\mathcal{T}_{pred}$。每个测试项 $p$ 表达为一个三元组:
$$p = (d, a, e)$$
其中 $d$ 是测试描述,$a$ 是需在网页上执行的交互动作,$e$ 是决定通过/失败的预期结果。完整检查表为 $\mathcal{T}_{pred} = \mathcal{A}_C(I) = \{ p_j \}_{j=1}^m$。
阶段二:Defect Detection Agent ($A_D$)
根据指令 $I$ 和上一步骤的 $\mathcal{T}_{pred}$,Agent 模拟人类交互(调用 Click, Fill_form 等),为每个测试项输出执行状态 $s_j \in \{\text{Pass}, \text{Fail}\}$,并为 Fail 项提供 bug 报告 $b_j$:
$$\mathcal{S} = \mathcal{A}_D(\mathcal{T}_{pred}, I, W) = \{(p_j, s_j [, b_j])\}_{j=1}^m$$
评测指标体系设计
直接通过字面对比预测的 Checklist 与 Ground-truth Checklist 是不现实的。本文引入 Qwen3.5-27B 作为“语义法官(Semantic Judge)” 进行 bipartite matching:定义匹配函数 $\phi: \mathcal{T}_{pred} \to \mathcal{T}_{gold} \cup \{\emptyset\}$。如果预测项 $p_j$ 在意图上与专家标注项 $g_i$ 等价,则匹配成功。基于此:
- 覆盖率 Coverage:表征测试用例挖掘的完整度:
$$\text{Coverage} = \frac{|\{ g_i \in \mathcal{T}_{gold} \mid \Phi(g_i) \neq \emptyset \}|}{|\mathcal{T}_{gold}|}$$
- 缺陷检测二分类度量:以真实缺陷为 Positive 类别。只要匹配到某个 $g_i$ 的预测项里报了 Fail,就认为该 gold 检查点被检出缺陷:
$$D(g_i) = \begin{cases} \text{Fail}, & \text{if } \exists p_j \in \Phi(g_i), s_j = \text{Fail} \\ \text{Pass}, & \text{otherwise} \end{cases}$$
最终根据 $D(g_i)$ 与 Ground-truth 真实标签 $r_i$ 计算标准分类指标 Precision (P), Recall (R), 和 F1。
📊 实验设置与结论分析
在包含 100 个真实复杂场景应用(共计1750个测试项,其中448个Fail项目)的评测集上,对比了当前主流 SOTA 模型。
- 整体性能极低:目前所有的模型端到端评测 F1 分数均未超过 30%。GPT-5.1 以 26.4% 的 F1 分数排名第一(得益于其 33.3% 的相对高 Recall);国产开源模型 MiMo-V2-Flash 表现优异,以 25.1% 位列第二,并且拥有最高准确率(Precision 34.8%)。
- 测试发现不完整(Checklist 瓶颈):所有测试模型的用例覆盖率 (Coverage) 都在 70% 以下,尤其是开源模型对于“隐性需求”捕捉能力极弱。即便是在直接提供标准测试用例的“Oracle Setting”下进行消融实验,整体 F1 依然封顶于 49.2%(Claude Sonnet 4.5)。
- 检测中的两极化偏见 (Detection Bias):
- 高 False Positive (FP):模型极易将 UI 异步渲染延迟、短暂的加载态等良性行为误判为 Bug。
- 保守型偏好:在遇到缺乏强证据的情况下,模型普遍默认该测试项通过(Pass),导致真实 Bug 的高漏报(False Negative)。
- 不同维度挑战差异巨大:Data Management 类应用得益于结构化的增删改查逻辑,F1得分最高(约26.5%);而 User-Generated Content (UGC) 类需要大量深层语义判断与对齐验证,F1得分断崖式跌落至仅 15.6%。在四项属性中,对 Content(图片文本语义匹配等)进行排错是当前模型面临的最严峻挑战。
✨ 关键技术亮点分析
- “潜逻辑”评测维度的首次引入: 突破了既有工作仅针对“可点击元素是否正常交互”的局限。将
Constraint 和深层交互 Interaction 列为核心评测标准。这一改变非常贴合真实的 Web 业务(如订单边界值校验、库存防冲突),使得该 Benchmark 真正具有了工业界的参考价值。
- 基于 Playwright MCP 工具调用代替视觉截图:当前许多纯 VLM 的 GUI Agent 高度依赖截屏,而在复杂的现代网页结构(多级浮层、异步长列表)中往往捉襟见肘。本文赋予模型调用 Playwright 直接操作 DOM 树节点的权限,不仅更具工程化,而且使得 Agent 能聚焦在业务逻辑推断上,有效规避了因视觉 OCR 失败引发的级联错误。
- 鲁棒的基于 LLM 的语义测评系统:由于 CUA 产出的操作序列与检查点描述具有发散性,传统的字符串匹配直接失效。本文用 Qwen3.5-27B 充当语义判别法官来对齐 Ground-truth $\mathcal{T}_{gold}$ 和 Model Pred $\mathcal{T}_{pred}$,并且经验证该裁判模型与人类评判的 Kendall’s $\tau$ 高达 78.5,不仅极大降低了人工评估成本,更提供了长久稳定、可复现的自动化度量手段。
Sparton: Fast and Memory-Efficient Triton Kernel for Learned Sparse Retrieval
Sparton:面向学习型稀疏检索的快速且内存高效的 Triton 算子
👥 作者:Thong Nguyen, Cosimo Rulli, Franco Maria Nardini, Rossano Venturini, Andrew Yates
🏛️ 机构:阿姆斯特丹大学、意大利国家研究委员会 (ISTI-CNR)、比萨大学、约翰霍普金斯大学
🔗 链接:📄 查看 ArXiv 原文 | 💻 GitHub 代码
📍 研究背景与痛点 (Background & Pain Points)
在信息检索领域,**学习型稀疏检索 (Learned Sparse Retrieval, LSR)** 模型(如 SPLADE)通过将预训练语言模型(如 BERT、Mistral)的隐藏状态映射到词表维度的稀疏向量中,成功桥接了词汇检索(如 BM25)和神经检索之间的鸿沟。由于其生成的稀疏表示可以使用现有的倒排索引(Inverted Index)或 HNSW 等数据结构进行极速检索,LSR 在工业界备受青睐。
然而,LSR 模型的**训练效率**一直是一个巨大的瓶颈,其核心痛点在于网络末端的**语言模型头 (Language Model Head, LM Head)**:
- 巨大的显存占用 (Memory Bottleneck): 给定 Batch Size $B$、序列长度 $S$ 和隐藏层维度 $D$,LM Head 需要将隐藏状态 $H \in \mathbb{R}^{B \times S \times D}$ 投影到词表空间 $L \in \mathbb{R}^{B \times S \times |V|}$。现代模型的词表大小 $|V|$ 通常在 30k 到 250k 之间。在 PyTorch Eager 模式下,这个巨大的 Logit 矩阵必须被完整物化(Materialize)到全局显存 (HBM) 中。以 $B=S=512, |V|\approx 30k$ 为例,仅这个矩阵就需要占用 16GB 显存,这严重限制了可以使用的最大 Batch Size,从而影响训练速度和对比学习的效果。
- 严重的 I/O 墙 (Memory-bound Overhead): 标准的 PyTorch 实现中,矩阵乘法 (MatMul)、ReLU、log1p 和 Max-Pooling 是顺序执行的。巨大的 Logit 矩阵需要在片上内存 (SRAM) 和 全局显存 (HBM) 之间反复读写。
- torch.compile 的局限性: 即使使用 PyTorch 2.0+ 的自动编译,由于 PyTorch 底层高度依赖黑盒库 (如 cuBLAS) 进行矩阵乘法,它无法将 MatMul 与后续的逐元素操作和化简操作 (Reduction) 融合 (Fuse),因此中间庞大的 Logit 矩阵仍然必须写入 HBM,无法从根本上解决显存峰值问题。
🚀 核心贡献 (Core Contributions)
本文提出了 Sparton,一个专门为 LSR 模型 LM Head 定制的、基于 Triton 编写的高效融合算子 (Fused Kernel)。它从算法和系统架构层面联合优化,彻底打破了内存瓶颈:
- 前向传播的在线化简 (Online Max-Reduction): 巧妙利用 $\log(1+\text{ReLU}(x))$ 算子的单调不减特性,将 Max-Pooling 提前到激活函数之前。结合 Triton,在 SRAM 中直接完成分块矩阵乘法后的 Max 化简,只将化简后的最大值和索引写回 HBM,彻底避免了完整 Logit 矩阵 $B \times S \times |V|$ 的物化。
- 极致稀疏的反向传播 (Sparse Backward Pass): 设计了一个全融合的反向 Triton 算子。由于 Max 算子在前向时只选择了一个序列位置,反向传播只需计算该位置的梯度。Sparton 消除了多余的激活值存储,将反向传播的状态保存从 $\mathcal{O}(BS|V|)$ 锐减至 $\mathcal{O}(B|V|)$。
- 极强的扩展性 (Scalability): 支持超长上下文和多语言大词表。在长上下文(如 $S=8192$)或超大词表($|V| \approx 250k$)下,标准 PyTorch 直接 OOM,而 Sparton 依然保持平稳的内存和时间开销。
🔍 具体案例剖析 (Case Study)
为了直观感受 Sparton 带来的降维打击,我们来看论文中针对**长序列极限压测 (Sequence Length Scaling)** 的对比案例(基于单张 A100 GPU,固定 $B=128, |V|=30522$,压测反向传播):
场景:序列长度 $S = 4096$
- ❌ PyTorch (Eager): 耗时 1031.0 ms,显存消耗 33.44 GB (濒临极限)。
- ❌ PyTorch (Compiled 优化版): 直接 OOM (Out of Memory) 崩溃。
- ✅ Sparton (Ours): 耗时仅 212.7 ms,显存消耗仅 2.68 GB。
场景:序列长度 $S = 8192$ (长文本检索)
- ❌ PyTorch (Eager & Compiled): 双双 OOM。
- ✅ Sparton (Ours): 依然坚挺,耗时 399.6 ms,显存消耗仅 5.13 GB。
该案例清晰地证明了:Sparton 并非只做了常数级别的工程优化,而是从根本上改变了显存占用随序列长度 $S$ 增长的渐进复杂度,使得单卡训练超长文本稀疏检索模型成为可能。
⚙️ 方法论与技术实现 (Methodology & Implementation)
LSR 模型末端的数学表达式为:
$$ Y = \max_S \left[ \log(1 + \text{ReLU}(HE^\top + b)) \odot M' \right] $$
其中 $E \in \mathbb{R}^{|V| \times D}$ 是词表嵌入,$M'$ 是 Mask 矩阵。
1. 数学重排:利用单调性 (Exploiting Monotonicity)
映射函数 $f(x) = \log(1+\text{ReLU}(x))$ 是单调不减的。这意味着:
$$ \max_S(f(\ell_{b,s,v})) = f(\max_S(\ell_{b,s,v})) $$
作者利用这一特性,将基于序列维度 $S$ 的 Max-Pooling 操作提前到了 Mask 操作之后、激活函数之前。这使得 ReLU 和 log1p 的输入规模从 $B \times S \times |V|$ 锐减到 $B \times |V|$,直接砍掉了 $S$ 倍的算术和数据传输开销。
2. 前向算子设计:混合分块流水线 (Hybrid Tiled Pipeline)
尽管理论上使用单一 Triton 算子完成所有工作最省内存,但目前 Triton 编写的 GEMM(矩阵乘法)在极限吞吐上仍略逊于 NVIDIA 官方的 cuBLAS。因此 Sparton 采用了混合设计:
- 沿着 Batch 和 Vocab 维度进行分块 (Tiling)。
- 在循环中,调用高度优化的 cuBLAS/rocBLAS 计算一个块(Tile)的局部 Logit 矩阵 $\tilde{L}$。
- 紧接着,立即触发 Triton 算子,在 SRAM 中流式计算这一块的 masked $\max_S$ 以及 argmax 索引。
- 最后,只将池化后的最大值写入 HBM。完整的三维 Logit 矩阵从未被完整物化。
3. 反向传播算子:极致稀疏梯度 (Sparse Backward Kernel)
在反向传播中,基于链式法则,仅当序列位置等于前向保存的 $i_{max}$(即最大值所在的 Token 位置)时,才会产生非零梯度:
$$ g \leftarrow \begin{cases} \delta / \exp(s_{max}), & \text{if } s_{max} > 0 \\ 0, & \text{otherwise} \end{cases} $$
Sparton 编写了一个完全独立的融合反向 Triton 算子。它直接读取上游梯度 $\delta$,结合保存的极小状态量 $(s_{max}, i_{max})$,一步到位地完成梯度的路由分配和权重累加 ($\nabla_E$ 和 $\nabla_H$)。这一设计彻底抛弃了 PyTorch 基于稠密中间张量的 Autograd 机制,消除了致命的内存膨胀。
📊 实验设置与结论分析 (Experiments & Results)
实验在 A100/H100/H200 等多款架构上展开。模型基座包括标准的 SPLADE-v3 ($|V| \approx 30k$) 以及多语言模型 xlm-roberta-base ($|V| \approx 250k$),评测在 Mistral-Splade 数据集和 small-BEIR 上进行。
- 微观 Kernel 性能 (Table 1): 在 H100 上的完整前后台传播中,Sparton 相比 `torch.compile` 版本,延迟从 473.0ms 降低到 423.9ms,而显存峰值从 70.0 GB 暴降至 51.3 GB。这意味着原先由 LM Head 占据的 40% 以上额外内存开销被基本抹平。
- 端到端训练提升 (Table 3 - SPLADE-v3, 30k Vocab): 凭借内存节省,Sparton 允许将 Batch Size 扩大 33%(从 384 提升至 512)。整体训练时间缩短了 14%(14.24小时 $\rightarrow$ 12.24小时),并且得益于更大的 Batch Size 在 InfoNCE 损失中的正向收益,NDCG@10 指标不仅没有掉点,反而微升 (0.421 $\rightarrow$ 0.427)。
- 多语言极端场景 (250k Vocab): 随着词表的膨胀,PyTorch 的劣势被无限放大。在 H100 上,Sparton 使得可用 Batch Size 扩大了惊人的 26 倍(从仅仅 16 扩大到 420),训练速度提升 2.5 倍(67小时 $\rightarrow$ 25小时)。
💡 关键技术亮点分析 (Key Technical Highlights)
- 硬件意识的极致体现 (Hardware-Awareness): 在当前的 GPU 架构中,算力 (FLOPs) 往往是过剩的,真正的墙在于 SRAM 与 HBM 之间的访存带宽 (Memory-Bound)。Sparton 准确切中了这一痛点,用片上的“额外轻量计算”完全替代了代价高昂的“跨级内存通信”。
- 打破 PyTorch 抽象泄漏的经典范例: 尽管 `torch.compile` 极大地简化了算子融合,但当涉及到高性能库(cuBLAS)的黑盒调用时,目前的自动编译体系依然存在断层(无法自动融穿 MatMul 的输出屏障)。Sparton 提供了一个优雅的底层手写 Triton 破局方案,对那些涉及“大矩阵映射 + 激活/池化”的推荐系统、长文本生成场景极具启发性。
- 数学规律对系统优化的指导: 本文最精妙之处并非纯粹的代码实现,而是首先发掘了复合算子 $f(x)$ 的单调性,从算法数学层面先消除了一个大维度 $S$,再配合系统级(Triton)优化,属于典型的 Algorithm-System Co-design。
FinMCP-Bench: 在模型上下文协议(MCP)下评估真实金融场景中大语言模型Agent工具调用能力的基准测试
作者:Jie Zhu, Yimin Tian, Boyang Li, Kehao Wu 等
机构:阿里云通义点金团队 (Qwen DianJin Team)、且慢财富(YINGMI Wealth Management)、苏州大学
📄 查看 ArXiv 原文
🔍 研究背景与痛点
随着大语言模型(LLMs)作为Agent在金融领域的广泛部署,其实际应用已经超越了单纯的文本生成,更多地需要理解用户意图、调用外部金融工具(如查询股票走势、基金持仓、市场分析等),并进行多步推理。然而,现有的金融评测基准主要存在以下痛点:
- 脱离真实工具调用场景: 现有金融评测多集中在特定任务(如阅读理解、情感分析),鲜少涉及真实的工具调用(Tool Use),尤其缺乏对工具链隐式依赖关系的评估。
- 缺乏标准化协议支持: 真实金融工具通常存在跨服务器、异构API的问题。Anthropic提出的模型上下文协议(MCP, Model Context Protocol)正成为工具调用的标准Schema,但在金融垂直领域尚无针对MCP调用的专业Benchmark。
- Agent评测维度单一: 过去多关注“最终答案的准确性”,而难以量化评估Agent在中间过程中的“工具编排(Orchestration)”与“规划(Planning)”能力。
💡 核心贡献
为了填补上述空白,本文提出了 FinMCP-Bench,这是一个标准化、极具挑战性的真实金融MCP工具调用评测基准。核心贡献如下:
- 构建了首个金融MCP基准: 包含 613 个高质量样本,覆盖 10 大主场景和 33 个子场景,全面接入了 65 个真实的金融MCP工具。
- 多层级复杂度的用例设计: 数据集由真实用户查询和合成数据混合构成,划分为三种类型:单工具调用(Single-tool)、多工具调用(Multi-tool,包含并行与串行)和多轮对话(Multi-turn),全面评估模型处理不同任务复杂度的能力。
- 提出了显式的工具调用评估指标: 摒弃了仅看最终回复的评测方式,创新性地提出了工具召回率(TR)、工具精确率(TP)、工具F1(TF1)和完全匹配率(EMR),系统性评估了主流大模型的工具调用准确度与推理能力。
🛠️ 具体案例剖析 (Case Study)
FinMCP-Bench 重点考察模型在多轮对话中,根据上下文演进动态规划MCP工具的能力。以下是一个典型的“投资规划与配置(IPA)”多轮场景案例:
User (Round 1): "我有十万元用于投资,请给我一个投资建议方案..."
LLM Agent (Reasoning): "用户有10万元,想进行投资,我需要先搜索并推荐符合其风险偏好和金额的基金..."
Action: 调用 MCP 工具 SearchFund(arguments: ...)
Observation: [工具返回了若干匹配的基金列表]
LLM Agent (Response): "根据工具返回结果,向您推荐下列基金..."
User (Round 2): "好的,我想再详细了解一下关于XX基金的持仓和近期表现..."
LLM Agent (Reasoning): "用户想要了解指定XX基金的具体详情,需要调用热门基金/详情查询工具..."
Action: 调用 MCP 工具 GetPopularFund(arguments: {fund_name: "XX基金"})
Observation: [返回XX基金的详细持仓与走势信息]
LLM Agent (Response): "根据查询,下面是XX基金的详细持仓信息..."
难点分析: 在复杂的 Multi-tool 场景中,某些工具的入参必须依赖前置工具的出参(串行依赖 $t_1 \to t_3$),而另外一些工具则可以并行执行(并行的 $t_1, t_2$)。如果模型无法理清这些拓扑关系,就会导致编排失败。
⚙️ 方法论与技术实现
数据集的构建结合了真实生产数据与LLM的高级合成策略,经过严格的人工校验(Expert Review)。具体分为三大步:
- 真实生产数据清洗(Data Source): 原始数据源自“且慢APP(盈米基金)”的智能助手“小顾”积累的1万条真实历史日志。经过脱敏过滤后,提取出145个高质量单工具样本,并保留部分数据用于后续复杂场景的合成(Seed Pool $\mathcal{S}_o$)。
- 基于链的多工具样本合成(Chain-based Multi-tool Construction): 为了生成包含复杂依赖的长调用链,作者设计了图驱动的合成方法:
- 依赖图构建: 从真实日志中提取潜在的依赖关系 $t_i \to t_j$(例如后一个工具群组紧接前一个执行),并利用LLM作为裁判(LLM-as-a-Judge)验证依赖的合理性,最终构建出一个包含65个节点、288条边的全局工具依赖图 $\mathcal{G}$。
- Query与轨迹生成: 在图 $\mathcal{G}$ 中随机游走采样一条工具链 $\mathcal{C} = c_1, \dots, c_n$,并提供相关单工具样本作为In-context示例,Prompt Qwen3-235B生成符合该链的复杂User Query,随后连接到真实的且慢MCP服务器生成完整的执行轨迹(Trajectory)。
- 基于角色扮演的多轮交互生成(Role-Playing Multi-turn): 为了模拟真实的客户服务,引入了“规划者Agent”先设定用户画像(Persona,如年龄、收入)和意图目标(User Goal),然后让Qwen3-235B同时扮演User和Assistant进行左右互搏生成多轮对话候选,最终由金融专家按5分Likert量表进行人工筛选。
📊 实验设置与结论分析
作者在基准上对主流大模型(Qwen3系列、DeepSeek-R1、GPT-OSS-20B、Seed-OSS-36B等)进行了评测。采用以下四个核心指标评估工具调用(而非最终文本答案):
- Tool Recall (TR) & Precision (TP): 召回率和精确率,不考虑依赖关系单纯统计工具覆盖情况。
- Tool F1 (TF1): $TF_1 = \frac{2 \times TR \times TP}{TR + TP}$,权衡召回与精确度。
- Exact Match Rate (EMR): 严苛的完全匹配率。不仅要求预测工具集一致,且其内在的并行/串行编排组结构必须与基准(Reference)完全一致。
关键结论:
- Qwen3系列表现出色: Qwen3-235B-A22B-Thinking 和 Qwen3-30B-A3B-Thinking 在TF1指标上领先。有趣的现象是:模型参数量并不绝对与表现正相关,例如 Qwen3-4B-Thinking 的EMR分数(18.82%)甚至略高于 Qwen3-30B,但30B的F1分数更高,说明不同尺寸模型在“精确调用”与“容错召回”上的倾向不同。
- 单工具场景容易“过度预测”: 在Single-tool场景中,模型普遍TR(召回率)很高,但TP(精确率)极低。这说明当前大模型遇到简单问题时,容易产生“过度思考”和“过度调用(over-predicting)”冗余工具的坏习惯。
- 难度倒挂现象: 在按难度划分的切片中,强模型(如Qwen3大尺寸)在Hard用例上的TF1反而高于Easy用例。因为Easy用例是对单工具的精准要求(多调则降低精确率),而Hard用例允许多个工具链的探索,奖励了模型的复杂规划能力。
- 多轮对话(Multi-turn)是最大软肋: 所有模型在多轮交互中的EMR都极低(DeepSeek-R1与GPT-OSS甚至为0),表明处理跨越多轮的历史上下文并准确执行工具结构,依然是当前LLM的阿喀琉斯之踵。
🌟 关键技术亮点分析 (Takeaways for Practitioners)
对于致力于研发垂直领域 Agent 的算法工程师而言,本文有几个极其重要的启发:
- MCP协议的红利期: 将金融Agent接入统一的MCP协议,使其具备了跨生态即插即用的能力。这标志着Agent评测从“模拟假API”迈向了“真实服务端交互”的工业级水准。
- 解决高质量Agent数据匮乏的范式: 面对多步工具调用标注成本极高的问题,本文提供了一套“真实日志提取单点池 -> LLM校验提取全局依赖图 -> 依赖图内随机游走采样 -> LLM根据路径逆向生成Query”的巧妙 Pipeline。这种将数据合成与图结构结合的方法,能有效保障合成数据的逻辑严密性(Logical consistency)。
- 重塑Agent评测视角: 在复杂业务中,业务团队往往更关心“Agent是否调对了API、有没有漏调多调”,而不是“最后废话生成得好不好”。引入 EMR (Exact Match Rate) 这种严苛的编排匹配度指标,对工业界诊断Agent中枢有着极强的指导意义。