Training Small Language Models for Transferable Tool Selection
Zhaoyi Zhou, Akshayaa Magesh, Jeongyeol Kwon, Artem Kuriksha, Daniel Jiang, Andrea Zanette, Ayush Jain
cs.LG, cs.AI
2026-10-23
Meta与卡内基梅隆用监督微调加热身、再用GRPO训练Qwen3-8B,让它拆开指令并驱动检索器选工具,ToolBench G3精确匹配达到41.5%,超过402B Maverick提示词方案的最好成绩30.6%。
工具过万之后,说明放不进上下文,选工具卡在调用之前。BM25 按词面重合打分,稠密检索按向量相似度打分,都只处理「像不像」。指令里叠着几件事时,整句检索会让不同子任务的词互相干扰。排在前面,也不等于这一步真要用。
近作改由 Claude 或 ChatGPT 驾驶检索器:拆开指令,按子步骤取候选,再点名。工具选择是 agent 流水线里的重复子程序,每次都调闭源大模型。不训练的小模型走不好这套 Plan-Retrieve-Select,训完又得能直接换库、换检索器。
Qwen3(1.7B、4B、8B)换两套提示词做规划和选择,检索器外置。规划把指令拆成短子步骤,每步只写一种能力。默认 BM25,这种词法检索不用按语料训练;分数高于 τ=3 的留下,最多 K=15 条。选择每步只点一个工具,再取并集。假设每步恰好一个工具,且各步独立,不使用上一步的返回。调用无状态,上下文不随库变大。
基座很少走完流程,所以先用 Llama-4-Maverick 造监督轨迹来热启动。金标来自参考解题轨迹,有些工具问句里没提到。没有共同实词的配对先丢掉,其余交给教师判断是否同义,拆步用不到的金标再删。规划推理重写一遍,防止教师见过的金标漏进思维链。
监督微调只学格式和基本拆法。接着用 GRPO 把规划和选择分开训。GRPO 对同一输入采样一组输出,按组内相对优劣更新策略。训选择时喂教师写好的子步骤,不用模型自己的规划,免得拆错把奖励打脏。
规划奖励不用人工打分。每步拿去检索,按顺序独占一个尚未命中的金标:命中比例是精确率,用来罚多余步骤;召回按名次打折,金标越靠前越高。二者取 F1。选择奖励只有 0 和 1,必须刚好选中该步金标。测试则看整句的预测集合与过滤后的金标是否完全一致。
训练集是 ToolBench G3 的 21361 条指令、1419 个 API,测试集 2124 条。成功要求预测集合与过滤后的金标完全一致,多选或漏选都失败。论文把要选的单位定为单个 API。
8B 从基座的 20.5% 到监督微调 36.2%,再到加强化学习的 41.5%。不做监督、直接强化学习只到 35.7%。1.7B 和 4B 的完整配方是 37.6%、40.3%。三个尺寸只做监督微调都超过 30%。
402B 的 Llama-4-Maverick 只靠提示词。四种协议里最好的是 Search-R1,30.6%;同流程只有 10.1%,低于未训练的 Qwen3-8B。ReAct 为 28.4%,每个子步骤最多五次模型调用;本流程的选择每步一次。训完的 1.7B 仍高于 Maverick 的最好结果。
| 方法 | 设置 | G3 精确匹配 |
| Llama-4-Maverick | 层次搜索 | 8.6% |
| Llama-4-Maverick | 同流程,只提示词 | 10.1% |
| Llama-4-Maverick | ReAct | 28.4% |
| Llama-4-Maverick | Search-R1 式 | 30.6% |
| Qwen3-8B | 基座 | 20.5% |
| Qwen3-8B | 只强化学习 | 35.7% |
| Qwen3-8B | 只监督微调 | 36.2% |
| Qwen3-1.7B | 监督微调+强化学习 | 37.6% |
| Qwen3-4B | 监督微调+强化学习 | 40.3% |
| Qwen3-8B | 监督微调+强化学习 | 41.5% |
检查点不重训就换库。G2 有 11474 个工具,约为 G3 的 8 倍,大约只重叠 9%。8B 掉到 25.8%(4B 为 23.5%),仍高于 Maverick 加 Search-R1 的 20.8%。Gorilla、CRAFT 每题一个金标,不考规划,8B 为 29.9% 和 69.0%,Maverick 最好是 16.0% 和 47.9%。CRAFT 上未训练的 8B 已有 53.4%,监督微调到 66.4%,强化学习再到 69.0%。跨库涨幅主要来自监督微调。
TaskBench 又多工具又换域。Maverick 的 Search-R1 为 80.6%,8B 为 72.8%。这种规划要一点领域知识,不拆解反而更高。8B 仍高于其 ReAct(60.2%)和同流程(36.9%)。
训练时检索器是 BM25。换成 ToolBench 上的稠密检索器 COLT 后,三个尺寸都上升,正文没给百分点。用 BM25 训练,是为了跨域成绩不靠域内专家检索器。
8B 消融里,选择和检索固定,只换规划器:未训练 Qwen3-8B 为 27.6%,Maverick 为 17.2%,训过的为 41.5%。每步改交 BM25 第一名只有 28.6%。K 到 20 后不再提高,默认 15 不是最高点。
窄任务上,训过的 8B 可以压过只靠提示词的 402B,并且换库、换检索器不用重训,选择每步只调用一次。域内精确匹配仍只有 41.5%。TaskBench 上不拆解的大模型更高。子任务大体独立时,它用得上。步骤要互相传结果,或规划依赖领域知识时,覆盖不到。
每步只能一个工具,步骤之间也不能传数据。后一步要读前一步返回的任务,这套流程做不了。
金标经过同一套过滤,训练和测试都对着洗过的集合,不是原始 ToolBench 标注。和 Maverick 的对比内部可比,和旧文的 Recall@K 不能比。问句里看不出的工具被删掉后,精确匹配更窄,也更容易。
选择的强化学习吃教师写的子步骤,推理时吃模型自己的规划,两边不一致。这道缝掉了多少分,论文没测。赢过的是提示词版 402B,不是用同一套奖励训过的 402B。
G2 从约 40% 掉到约 25%,能迁移,衰减也明显。COLT 的增益绑在 ToolBench 专家检索器上。训练库只有 1419 个 API,万级工具库是换库时才遇到的。过滤规则没有外部一致性核验,正文也没给够复现 GRPO 的超参。