API Pack: A Massive Multi-Programming Language Dataset for API Call Generation

📄 arXiv: 2402.09615v6 📥 PDF

作者: Zhen Guo, Adriana Meza Soria, Wei Sun, Yikang Shen, Rameswar Panda

分类: cs.CL, cs.AI, cs.LG

发布日期: 2024-02-14 (更新: 2025-02-13)

🔗 代码/项目: GITHUB


💡 一句话要点

提出API Pack数据集以提升API调用生成能力

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

关键词: API调用生成 多编程语言 数据集 模型微调 机器学习 自然语言处理 开源模型

📋 核心要点

  1. 现有的API调用生成方法在处理全新API时表现不佳,尤其是开源模型的能力有限。
  2. 论文提出的API Pack数据集通过提供丰富的指令-API调用实例,旨在提升模型的API调用生成能力。
  3. 实验结果表明,微调后的模型在生成新API调用方面超越了GPT-3.5和GPT-4,且多语言生成准确性显著提高。

📝 摘要(中文)

我们介绍了API Pack,这是一个包含超过一百万条指令-API调用的大规模多编程语言数据集,旨在提升大型语言模型的API调用生成能力。我们的评估突出了三个关键发现:首先,在API Pack上进行微调使开源模型在生成全新API调用的代码方面超越GPT-3.5和GPT-4。其次,在一种语言的大型数据集上微调,结合其他语言的小型数据集,可以提高多语言的API生成准确性。最后,我们确认了更大数据集对API泛化的好处,将微调数据增加到一百万条实例显著增强了对新API的泛化能力。为了支持进一步研究,我们开源了API Pack数据集、训练模型和代码,地址为https://github.com/zguo0525/API-Pack。

🔬 方法详解

问题定义:本论文旨在解决现有API调用生成模型在面对全新API时的生成能力不足,尤其是开源模型在此方面的局限性。

核心思路:通过构建一个包含超过一百万条指令-API调用的多编程语言数据集API Pack,论文希望通过丰富的训练数据提升模型的API调用生成能力。

技术框架:整体架构包括数据收集、数据预处理、模型微调和评估四个主要模块。数据收集阶段聚焦于多种编程语言的API调用实例,预处理阶段则确保数据格式一致性,微调阶段使用API Pack数据集对模型进行训练,最后通过评估阶段验证模型性能。

关键创新:API Pack数据集的构建是本研究的核心创新点,它提供了丰富的多语言API调用实例,显著提升了模型在生成新API调用时的准确性和泛化能力。与现有方法相比,API Pack的规模和多样性是其本质区别所在。

关键设计:在模型微调过程中,采用了特定的损失函数以优化API调用生成的准确性,并设计了适应不同编程语言的网络结构,以确保模型在多语言环境中的有效性。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果显示,经过API Pack微调的CodeLlama-13B模型在生成全新API调用方面的表现超越了GPT-3.5和GPT-4,具体提升幅度达到了显著的准确性提高。此外,结合多语言数据集的微调策略也有效提升了多语言API生成的准确性。

🎯 应用场景

该研究的潜在应用领域包括软件开发、自动化测试和智能编程助手等。通过提升API调用生成的准确性,开发者可以更高效地利用API,减少编码错误,提高开发效率。未来,该研究可能推动智能编程工具的普及,促进编程教育和软件工程的进步。

📄 摘要(原文)

We introduce API Pack, a massive multi-programming language dataset containing over one million instruction-API calls for improving the API call generation capabilities of large language models. Our evaluation highlights three key findings: First, fine-tuning on API Pack enables open-source models to outperform GPT-3.5 and GPT-4 in generating code for entirely new API calls. We show this by fine-tuning CodeLlama-13B on 20,000 Python instances from API Pack. Second, fine-tuning on a large dataset in one language, combined with smaller datasets from others, improves API generation accuracy across multiple languages. Third, we confirm the benefits of larger datasets for API generalization, as increasing fine-tuning data to one million instances enhances generalization to new APIs. To support further research, we open-source the API Pack dataset, trained model, and code at https://github.com/zguo0525/API-Pack.