news 2026/4/18 3:49:41

小参数语言模型工具调用能力深度测评:基于ToolBench-Static数据集的实践研究

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小参数语言模型工具调用能力深度测评:基于ToolBench-Static数据集的实践研究

小参数语言模型工具调用能力深度测评:基于ToolBench-Static数据集的实践研究

【免费下载链接】Qwen3-1.7BQwen3-1.7B具有以下特点: 类型:因果语言模型 训练阶段:训练前和训练后 参数数量:17亿 参数数量(非嵌入):1.4B 层数:28 注意力头数量(GQA):Q 为 16 个,KV 为 8 个 上下文长度:32,768项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-1.7B

在人工智能飞速发展的今天,大语言模型(LLMs)的工具使用能力已成为衡量其智能化水平的关键指标。然而,对于参数规模较小的语言模型而言,如何有效集成API调用完成复杂任务仍是亟待突破的技术瓶颈。本文基于ToolBench基准测试框架(Qin et al., 2023b),通过构建静态测试集(ToolBench-Static)对小参数模型的工具学习能力进行系统性评估,重点考察模型在已知工具(域内)与未知工具(域外)场景下的任务执行表现,为小模型工具调用能力的优化提供实证参考。

测试框架与数据集构建

ToolBench作为当前主流的工具调用评估基准,其核心任务要求智能体(Agent)能够根据用户需求准确筛选适用API,并构建符合规范的请求参数。为更全面地评估模型的泛化能力,我们创新性地将原始测试集划分为两大子集:域内测试集(in domain)包含训练过程中已接触过的工具类型,共计1588个测试实例;域外测试集(out of domain)则涵盖未在训练数据中出现的新型工具,包含781个测试实例。这种划分方式能够精准模拟模型在实际应用中可能面临的两种典型场景——常规任务处理与未知工具适配,从而实现对模型分布内与分布外性能的双重验证。

实验设计与执行流程

本次测评选用Qwen3-1.7B模型作为实验对象,该模型作为轻量级语言模型的代表,在资源受限场景下具有广泛的应用潜力。实验基于EvalScope评估框架进行,通过以下步骤完成测试配置:

首先,初始化任务配置对象(TaskConfig),指定模型路径为"Qwen/Qwen3-1.7B",数据集选择"tool_bench",并设置测试样本限制为5条,评估批次大小为5。考虑到工具调用任务对输出完整性的要求,生成配置参数中特别将最大token数设为1000以避免内容截断。同时,参考Qwen系列模型官方推荐参数,设置temperature=0.7、top_p=0.8、top_k=20的采样策略,确保输出既具备多样性又维持一定的确定性。值得注意的是,为排除思考过程对工具调用决策的潜在影响,通过设置'extra_body'参数中的'chat_template_kwargs'字典,将'enable_thinking'选项关闭。

执行代码示例如下:

from evalscope import TaskConfig, run_task task_cfg = TaskConfig( model='Qwen/Qwen3-1.7B', datasets=['tool_bench'], limit=5, eval_batch_size=5, generation_config={ 'max_tokens': 1000, # 确保输出完整的工具调用信息 'temperature': 0.7, # 平衡创造性与确定性 'top_p': 0.8, # 控制词汇多样性 'top_k': 20, # 限制候选词数量 'extra_body': {'chat_template_kwargs': {'enable_thinking': False}} # 禁用思考模式 } ) run_task(task_cfg=task_cfg)

评估指标与结果分析

实验采用五大核心指标全面衡量模型性能:

  • Plan.EM:计划精确匹配率,评估代理在工具调用步骤、答案生成或任务放弃等决策上的精准度;
  • Act.EM:动作精确匹配率,考察工具名称与参数设置的完全匹配程度;
  • HalluRate:幻觉率(数值越低越好),反映代理在回答过程中产生无关信息或错误工具调用的频率;
  • Avg.F1:平均F1得分,综合考量工具调用的精确率与召回率;
  • Rouge-L:基于最长公共子序列的文本相似度得分,评估生成内容与标准答案的一致性。

经实验执行,部分存在格式错误的脏数据被系统自动过滤,导致实际有效样本数量略有减少。最终测试结果如下表所示:

ModelDatasetMetricSubsetNumScoreCat.0
Qwen3-1.7Btool_benchAct.EMin_domain20default
Qwen3-1.7Btool_benchAct.EMout_of_domain50.2default
Qwen3-1.7Btool_benchPlan.EMin_domain00default
Qwen3-1.7Btool_benchPlan.EMout_of_domain00default
Qwen3-1.7Btool_benchF1in_domain20default
Qwen3-1.7Btool_benchF1out_of_domain50.2default
Qwen3-1.7Btool_benchHalluRatein_domain20default
Qwen3-1.7Btool_benchHalluRateout_of_domain50.4default
Qwen3-1.7Btool_benchRouge-Lin_domain20default
Qwen3-1.7Btool_benchRouge-Lout_of_domain50.1718default

从关键指标表现来看,Qwen3-1.7B在域内测试中表现不佳,Act.EM与F1得分均为0,表明模型在处理已知工具时未能实现精确的参数匹配。而在域外场景中,模型展现出一定的适应能力,Act.EM与F1得分均达到0.2,但幻觉率上升至0.4,反映出模型在面对未知工具时容易产生错误调用。值得注意的是,Plan.EM指标在两个子集上均为0,说明模型在任务规划阶段存在严重缺陷,无法正确判断工具调用的必要性及步骤安排。Rouge-L得分在域外场景中达到0.1718,表明生成内容与标准答案存在一定相似性,但距离实用要求仍有显著差距。

结论与未来展望

本次实验结果揭示了小参数语言模型在工具调用能力上的明显短板:Qwen3-1.7B不仅在已知工具的精确调用上表现欠佳,更在任务规划层面存在根本性缺陷。这一发现印证了"Small LLMs Are Weak Tool Learners"的研究结论,即轻量级模型在复杂工具使用场景中仍面临严峻挑战。

对于未来发展方向,我们提出三点改进建议:首先,应优化训练数据中的工具交互样本质量,增加API调用流程的结构化训练;其次,可探索多轮反馈机制,通过强化学习提升模型对工具调用效果的判断能力;最后,开发针对小模型的工具调用专项优化算法,如参数高效微调(PEFT)技术,在有限资源条件下最大化工具使用性能。随着这些技术的逐步成熟,轻量级语言模型有望在工具增强智能领域发挥更大价值,为边缘计算、嵌入式设备等资源受限场景提供智能化解决方案。

【免费下载链接】Qwen3-1.7BQwen3-1.7B具有以下特点: 类型:因果语言模型 训练阶段:训练前和训练后 参数数量:17亿 参数数量(非嵌入):1.4B 层数:28 注意力头数量(GQA):Q 为 16 个,KV 为 8 个 上下文长度:32,768项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-1.7B

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 7:58:33

Typst裁剪魔法:让内容完美适配任何容器

Typst裁剪魔法:让内容完美适配任何容器 【免费下载链接】typst A new markup-based typesetting system that is powerful and easy to learn. 项目地址: https://gitcode.com/GitHub_Trending/ty/typst 还在为内容溢出而烦恼吗?Typst的裁剪功能就…

作者头像 李华
网站建设 2026/4/18 9:43:04

5个实战策略:让你的Git历史浏览不再受API限流困扰

你是否曾在查看文件历史时,突然发现界面停滞不前,无论怎么刷新都看不到新的提交记录?这种体验就像在高速公路上突然遇到临时管控,让人既焦虑又无奈。API速率限制正是导致Git History项目使用体验下降的"隐形瓶颈"。 【免…

作者头像 李华
网站建设 2026/4/18 3:43:00

1、深入探索 Linux Shell 脚本编程

深入探索 Linux Shell 脚本编程 1. 入门与基础概念 在 Linux 系统中,Shell 脚本是一种强大的工具,可用于解决各种实际问题。首先,我们来了解一些基础概念。 1.1 Shell 概述 Shell 是用户与操作系统内核之间的接口,它负责解释用户输入的命令并执行相应的操作。常见的 She…

作者头像 李华
网站建设 2026/4/18 10:05:09

8、Shell脚本编程技巧与算术运算指南

Shell脚本编程技巧与算术运算指南 在Shell脚本编程中,文件处理和调试是非常重要的技能,同时,算术运算也是不可或缺的一部分。下面我们将详细介绍这些方面的内容。 1. 文件处理 1.1 显示文件描述符信息 可以编写脚本来显示与文件关联的实际文件描述符。以下是示例脚本: …

作者头像 李华
网站建设 2026/4/18 7:05:34

11、脚本中的自动化决策与重复任务处理

脚本中的自动化决策与重复任务处理 在脚本编程中,自动化决策和重复任务处理是非常重要的部分。下面将详细介绍脚本中自动化决策的实现方法,以及如何使用不同的循环结构来处理重复任务。 1. 自动化决策 1.1 文件类型判断 我们可以使用 if-elif-else 语句来判断一个文件是…

作者头像 李华