Small Models, Big Tasks: An Exploratory Empirical Study on Small Language Models for Function Calling

📄 arXiv: 2504.19277v1 📥 PDF

作者: Ishan Kavathekar, Raghav Donakanti, Ponnurangam Kumaraguru, Karthik Vaidhyanathan

分类: cs.AI, cs.SE

发布日期: 2025-04-27

备注: Accepted at EASE 2025 AI Models and Data Evaluation track


💡 一句话要点

探索性研究:小型语言模型在函数调用任务中的应用潜力与局限性

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 小型语言模型 函数调用 零样本学习 少样本学习 微调 边缘计算 提示注入

📋 核心要点

  1. 大型语言模型在函数调用任务中表现出色,但计算成本高,不适用于资源受限场景,小型语言模型有望解决此问题。
  2. 该研究探索了小型语言模型在函数调用任务中的能力,通过零样本、少样本和微调等方法进行评估。
  3. 实验结果表明,小型语言模型通过微调可以提升函数调用性能,但在输出格式控制方面仍有不足,且对提示注入具有一定的鲁棒性。

📝 摘要(中文)

函数调用是一项复杂的任务,在信息检索、软件工程和自动化等领域有着广泛的应用。大型语言模型(LLMs)可以自动化这个过程,但计算成本高昂,在资源受限的环境中不切实际。相比之下,小型语言模型(SLMs)可以高效运行,提供更快的响应时间和更低的计算需求,使其成为边缘设备上函数调用的潜在候选者。本研究评估了SLMs在不同领域中生成函数调用的有效性,采用了零样本、少样本和微调方法,无论是否进行提示注入。同时,我们提供了微调后的模型,以促进未来的应用。此外,我们分析了模型在各种指标上的响应,捕捉了函数调用生成的各个方面。我们还在边缘设备上进行了实验,评估了它们的延迟和内存使用情况,为它们的实际应用提供了有用的见解。我们的研究结果表明,虽然SLMs从零样本到少样本有所改进,并且在微调后表现最佳,但它们在遵守给定的输出格式方面存在显著困难。提示注入实验进一步表明,这些模型通常是稳健的,并且性能仅略有下降。虽然SLMs展示了函数调用生成任务的潜力,但我们的结果也突出了实时功能需要进一步改进的领域。

🔬 方法详解

问题定义:论文旨在研究小型语言模型(SLMs)在函数调用任务中的性能表现。现有的大型语言模型(LLMs)虽然在函数调用方面表现出色,但计算资源需求高,难以在边缘设备等资源受限的环境中部署。因此,如何利用计算效率更高的SLMs实现有效的函数调用是本文要解决的核心问题。

核心思路:论文的核心思路是通过实验评估SLMs在函数调用任务中的能力,并分析其优势和局限性。通过零样本、少样本学习和微调等方法,探索SLMs在不同条件下的性能表现,并分析模型在输出格式控制、鲁棒性等方面的表现。

技术框架:该研究的技术框架主要包括以下几个部分:1) 数据集构建:选择或构建包含函数调用任务的数据集,涵盖不同的领域和场景。2) 模型选择:选择合适的SLMs作为实验对象。3) 实验设计:设计零样本、少样本学习和微调等实验,评估SLMs在函数调用任务中的性能。4) 评估指标:选择合适的评估指标,例如准确率、召回率、F1值等,评估模型生成的函数调用的质量。5) 边缘设备部署:将微调后的模型部署到边缘设备上,评估其延迟和内存使用情况。

关键创新:该研究的关键创新在于对SLMs在函数调用任务中的能力进行了全面的探索性研究。通过对比不同方法和评估指标,揭示了SLMs在函数调用任务中的优势和局限性,为未来的研究提供了有价值的参考。此外,该研究还提供了微调后的模型,方便其他研究者进行进一步的实验和应用。

关键设计:论文的关键设计包括:1) 采用零样本、少样本和微调等多种学习方法,全面评估SLMs的性能。2) 设计提示注入实验,评估模型的鲁棒性。3) 在边缘设备上进行实验,评估模型的实际应用性能。4) 使用多种评估指标,全面评估模型生成的函数调用的质量。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,小型语言模型通过微调可以显著提升函数调用性能,但仍难以完全遵守给定的输出格式。提示注入实验表明,模型具有一定的鲁棒性,性能仅略有下降。在边缘设备上的实验表明,小型语言模型具有较低的延迟和内存占用,具备实际应用潜力。

🎯 应用场景

该研究成果可应用于智能助手、自动化脚本、物联网设备等领域。通过在边缘设备上部署小型语言模型,可以实现低延迟、低功耗的函数调用功能,提升用户体验和系统效率。未来的研究可以进一步优化小型语言模型,提高其在复杂函数调用任务中的性能,并探索更有效的模型压缩和加速技术。

📄 摘要(原文)

Function calling is a complex task with widespread applications in domains such as information retrieval, software engineering and automation. For example, a query to book the shortest flight from New York to London on January 15 requires identifying the correct parameters to generate accurate function calls. Large Language Models (LLMs) can automate this process but are computationally expensive and impractical in resource-constrained settings. In contrast, Small Language Models (SLMs) can operate efficiently, offering faster response times, and lower computational demands, making them potential candidates for function calling on edge devices. In this exploratory empirical study, we evaluate the efficacy of SLMs in generating function calls across diverse domains using zero-shot, few-shot, and fine-tuning approaches, both with and without prompt injection, while also providing the finetuned models to facilitate future applications. Furthermore, we analyze the model responses across a range of metrics, capturing various aspects of function call generation. Additionally, we perform experiments on an edge device to evaluate their performance in terms of latency and memory usage, providing useful insights into their practical applicability. Our findings show that while SLMs improve from zero-shot to few-shot and perform best with fine-tuning, they struggle significantly with adhering to the given output format. Prompt injection experiments further indicate that the models are generally robust and exhibit only a slight decline in performance. While SLMs demonstrate potential for the function call generation task, our results also highlight areas that need further refinement for real-time functioning.