Data Turnstile:DAG分步校验合成数据,让1.7B小模型多轮Agent表现超越32B

Data Turnstile: A Scalable Open Framework for Function-Calling Data Generation

论文原文 ↗ 论文发布 解读发布 解读:AI前沿分享

在端侧设备、车载系统或企业内部高频低延迟的业务场景中,参数量小于 4B 的轻量级小语言模型(SLM)有着得天独厚的优势:推理成本极低、响应迅速,且能实现完全的本地隐私闭环。然而,让这些轻量级模型掌握可靠的工具调用(Tool-use / Function Calling)与多步 Agent 协同,一直是学术界与工业界悬而未决的瓶颈。与百亿、千亿参数的通用大模型不同,小模型缺乏庞大的参数容量来“容忍”训练集中的语法缺陷、参数幻觉或逻辑断层,任何微小的数据噪声都会在小模型上被剧烈放大,甚至导致原生的常识与拒答能力迅速退化。

ArXiv URL:https://arxiv.org/abs/2607.29250

为了打破“高质量工具调用数据极度依赖闭源昂贵模型或人工标注”的困局,研究团队推出了开源数据生成框架 Data Turnstile。该框架改变了以往使用单个 Prompt 让大模型“一掷定乾坤”生成整段多轮对话的做法,而是将复杂的多轮交互拆解为由原子角色构成的有向无环图(DAG),并在每个生成节点引入严格的结构化校验与带错误反馈的自动重试机制。

凭借这套生成管道,仅用 32B 开源底座合成的数据,就实现了惊人的跨级跃升。在多轮 Agent 真实业务基准 $\tau^2$-bench 的电信领域任务中,经 Data Turnstile 数据微调后的 Qwen3-1.7B 取得了 31.1% 的成功率,不仅相比自身基座模型的 6.6% 暴涨 4.7 倍,更击败了参数量达到其 19 倍的 Qwen2.5-32B-Instruct(27.4%);更小巧的 Qwen3-0.6B 也斩获 24.6% 的高分,达到基座表现的 7 倍。在 BFCL 单轮基准上,Qwen3-0.6B 在不启用任何推理思维链(Chain-of-Thought, CoT)的情况下,综合准确率从 58.2% 攀升至 75.9%,几乎追平体量大其 7 倍且开启慢思考的 Qwen3-4B(79.9%)。

多轮基准结果对比

单次生成的失效与执行验证的死胡同

要理解 Data Turnstile 的突破,必须先看现有合成工具数据的两套主流路径到底卡在哪里。

第一类是最常见的“单次整段生成”(Single-shot Generation),例如经典的 ToolBench。该方法通常向商业大模型输入一段提示词,要求其一口气生成包含用户提问、思考、函数调用、模拟返回、最终答复的完整多轮会话。当交互轮次变多、参数变复杂时,大模型在长序列生成的后半段极其容易出现幻觉:生成的 JSON 字段丢失或类型错误、凭空捏造未在接口中定义的参数值,甚至让模拟的 API 返回结果与上一步请求发生逻辑冲突。小模型一旦吃下这些“外强中中干”的噪声数据,其推理链路就会被彻底带偏。

第二类是以 APIGen 为代表的“真实执行验证”(Execution-verified)方法。这类方案质量极高,因为生成的函数调用会被真正丢进运行环境执行,只有返回合规的样本才会被保留。但它的致命缺陷在于拓展成本过于高昂——并非所有业务接口都有可供随时调用的真实沙盒或后端服务。当需要面向数千个未上线 API 或企业内部专有系统做模型适配时,真实运行沙盒往往难以大规模搭建。更关键的是,许多前沿方案完全绑定了 ChatGPT 或 Claude 等闭源专有模型作为教师,成本居高不下且难以私有化闭环。

Data Turnstile 给出的解法,是在无需真实沙盒的前提下,用“软件工程中的状态机思维”重构合成流程,将一个难以把控的黑盒复杂任务,降维为多个受约束的微型子任务。

拆解为 DAG:Data Turnstile 的核心机制

Data Turnstile 将每次人机工具交互抽象为一个由类型化节点(Roles)与依赖边构成的有向无环图(DAG),形式化表示为交互模板 $\mathcal{T}=(V,E,\Theta)$。这里的节点 $V$ 代表原子生成角色,包括用户提问(USER)、推理轨迹(THINKING)、API 调用(API_CALL)、执行结果(API_OBS)以及最终助手回复(ASSISTANT);边 $E$ 规范了生成时序;而 $\Theta$ 则封装了当前实例的具体上下文,包括接口定义、用户画像以及校验标准。

Data Turnstile 架构概览

这种解耦带来了两层确定性的控制保障:

其一是序列与格式的刚性约束。在时序上,框架强制规定 API_OBS 必须严格跟在 API_CALL 之后,THINKING 必须位于动作或回复之前;在角色语法上,每个 API_CALL 必须在生成完成的瞬间,通过抽象语法树(AST)和 Schema 校验,确保参数类型与字段完全合法,模拟的 API_OBS 也必须解析为规范的 JSON 结构。

其二是生成前自检(Validate-before-Generate)与带错误反馈的重试机制。在驱动 LLM 生成下一个节点前,系统会启动轻量级的预校验逻辑,审查上一节点的合理性,精准拦截参数虚构和语义矛盾。一旦某个节点未通过语法或语义校验,系统不会直接丢弃整条已经生成数轮的长会话,而是将具体的报错信息(如“参数 port 缺失或类型应为 int”)作为上下文反馈给教师模型,触发局部重新生成。

统计数据显示,在通过该框架最终生成的约 10 万条高质量会话中,有约 22% 的样本在中间步骤触发过至少一次校验失败,但均通过错误反馈机制成功修正并恢复。其中 87% 的拦截归功于确定性的结构化校验,其余 13% 则来自基于大模型裁判的参数接地(Groundedness)审查。若采用传统的生成失败即抛弃策略,算力浪费将极其惊人。正是由于单步任务被大幅简化并辅以即时反馈,即便采用开源的 Qwen2.5-32B-Instruct 作为教师模型,也能极其稳定地跑通整个生成流程,完全摆脱了对百万元级商业专有 API 的依赖。

此外,为了防止小模型学成只会“顺从调用”的死板机器,Data Turnstile 在模板中设计了动态扰动。系统会主动在生成图中注入异常:例如故意模拟接口返回超时或鉴权失败,迫使后续节点生成模型反思与重试调用;或者刻意生成不完整的用户提问,训练模型停下来向用户反问澄清,而不是盲目抓取默认参数直接发包。

颠覆直觉的单轮评测:开源数据可能在“毒害”小模型

在伯克利函数调用基准(BFCL)单轮测试集上,研究团队进行了一场极具说服力的对照实验。该评测涵盖了单接口调用、多接口选择、同接口并行、多接口并行、无相关接口拒答(Irrelevance)以及真实世界 API 等严苛维度。

最值得深思的发现来自原始开源数据与 Turnstile 生成数据的直面碰撞。在完全相同的原始 API 定义池(xLAM 与 Glaive,共计 1000 至 3000 个接口)下,研究人员对比了两种微调策略:一组使用未经修改的原始开源训练集(Raw-OS),另一组则使用由 Turnstile 重新生成的规范数据(Turnstile-OS)。测试模型统一采用 Qwen3-0.6B。

实验结果令人咋舌:原生未经微调的 Qwen3-0.6B 基座在开启思考链时的得分为 67.4%,但经过 Raw-OS 训练后,性能不仅没有提升,反而断崖式下跌至 55.1%,出现了严重的“负向迁移”。深入到细分项会发现,开源数据集中近乎所有样本都在调用工具,导致微调后的小模型彻底丧失了拒答能力——在面对无需调用或无可用工具的场景时,其识别准确率从原生的 81% 暴跌至 35.7%,无论用户问什么都会硬挤出一个函数调用。而在同样接口池下,Turnstile-OS 训练出的模型取得了 70.4% 的成绩,不仅大幅领先开源数据 15.3 个百分点,拒答识别率也稳定在 77.5%,在未见过的真实世界接口上同样保持了高泛化度。

更进一步,当在 Turnstile 数据中同时融入合成领域接口与 BFCL 自身接口定义后,Qwen3-0.6B 的免思考评测成绩直接飙升至 75.9%,甚至击败了自身开启思考链时的表现(72.8%)。

这里暴露了小模型在工具调用领域的一个关键机制:在单轮函数调用中,显式的思维链(CoT)推理对于微调充分的小模型而言并非必须,甚至可能带来负面影响。论文分析指出,小模型的容量有限,在生成较长的推理前置文本时,常常出现“过度合理化”(Irrelevance Rationalization)——本来不需要调用的工具,在模型冗长自我论证后被强行赋予了“合理性”;或是面对并行调用约束时出现“参数过度脑补”(Parameter Overthinking)。而 Data Turnstile 赋予了小模型精准映射语义到参数的能力,使得“免思考直接调用”(No-Think)在保持极低延迟的同时,反而在准确率上全面超越了思考模式。

多轮排障的层级设计:Issue 与 Scenario 的模块化

单轮函数调用的难点在于语义和参数映射,而多轮 Agent 的痛点则在于必须严格遵循复杂的企业政策文档(Policy Documents),并与模拟用户完成持续数轮的交互诊断。为此,研究团队在 $\tau^2$-bench 的电信客服诊断场景中,将 Data Turnstile 的生成能力进一步拓展为分层的状态机生成。

多轮业务数据生成框架

在该框架下,业务流程被解构为两个核心层级:

这种模块化设计让长程会话的数据生成兼备了极高的受控度与组合多样性。研究人员据此从电信政策文档中提炼出 17 个基础 Issue 与 34 个复合 Scenario,生成了包含 3.5 万条交互、平均每通会话包含 39 个角色节点、长度达 1.6K Token 的多轮交互数据集。

在评测中,基座未经微调的 Qwen3-0.6B、1.7B 和 4B 在面对复杂的电信工单排障时几乎无法正常运转,成功率仅分别为 3.5%、6.6% 和 11.4%。在使用 Turnstile 数据集进行监督微调后,Qwen3-1.7B 实现了戏剧性的跨级超越,成功率暴拉至 31.1%,一举越过了未经微调的零样本巨型模型 Qwen2.5-32B-Instruct(27.4%);4B 版本的表现进一步上探至 33.6%。

由于多轮排障任务依赖跨轮次的状态记忆与步骤推导,在这类任务中思维链的加入重新展现了价值。但数据质量带来的提升幅度,已经远远盖过了单纯依赖模型规模所带来的红利。对于端侧和垂直业务落地而言,这一结论极具工程指导意义:用 1.7B 模型配合高质量微调,不仅能在任务成功率上抗衡 32B 大模型,其显存占用与推理延迟更是降低了一个数量级。

工业落地的启发与范式迁移

Data Turnstile 的核心价值不仅在于一组亮眼的基准数字,更在于它向业界展示了一条务实的端侧 Agent 落地流水线。

过去很长一段时间,行业对小模型 Agent 的认知停留在“小模型只能充当路由或简单执行器,主脑必须依赖云端大模型”。然而该框架证明,限制端侧小模型能力的往往不是其参数量上限,而是训练数据中充斥的逻辑断裂、格式抖动与分布偏差。大模型能凭借强大的自注意力机制在噪声中自动滤出正确模式,小模型却会在垃圾数据中迅速迷失。

通过将多轮长文本生成降维为有向图拓扑,并在每一步卡紧语法与语义的“闸机”(Turnstile),开发者完全可以使用现有的单张或少量消费级 GPU,驱动 32B 规模的开源模型,针对自身业务沉淀出专有且纯净的合成训练集。随着 Data Turnstile 的全量开源以及随之释出的覆盖 1000 多个 API、10 万余条多轮交互的 Synthetic Domains 数据集,轻量级模型真正进驻边缘设备、担当可靠复杂助手的门槛,正在被实质性地拆除。