Gorilla是由加州大学伯克利分校的伯克利人工智能研究实验室开发的一种大型语言模型。它专门设计用于生成准确的API调用,将自然语言指令转换为可执行的函数调用。该模型在2023年的一篇研究论文中提出,并被定位为提升与外部软件服务交互的AI系统可靠性的工具。
Gorilla的核心创新在于其训练方法和对API使用领域的专注。与可能产生幻觉或生成语法不正确代码的通用语言模型不同,Gorilla在大量API文档和相应调用示例的语料库上进行了微调。这使其能够理解从云服务到机器学习库等数千种不同API的结构和参数。
训练与架构
Gorilla建立在底层变换器架构之上,与其他当代大型语言模型类似。初始版本基于Meta发布的基础模型LLaMA-7B进行微调。训练过程采用了一种称为检索增强微调(RAFT)的技术,该技术将标准微调与检索机制相结合。在训练期间,模型会同时看到API文档片段、用户查询和正确的API调用。这种方法教会模型生成基于所提供文档的调用,从而减少发明不存在的函数或参数的可能性。
训练数据来自多种来源,包括亚马逊网络服务、微软Azure和谷歌云服务的文档,以及流行的机器学习框架。这种广泛的覆盖使Gorilla能够处理各种任务,从简单的数据存储操作到复杂的模型部署工作流。
能力与基准测试
Gorilla在APIBench基准测试上进行了评估,该数据集由研究人员创建,用于衡量API调用生成的准确性。在这些评估中,Gorilla在生成调用的正确性和减少幻觉错误方面,均显著优于包括OpenAI的GPT-4在内的现有模型。该模型能够从大量候选项中选择正确的API,理解所需的参数,并生成Python等语言的语法有效代码。
Gorilla的关键特性之一是能够适应API文档的更新。通过在推理时使用检索,模型可以将最新文档纳入其响应中,使其对底层服务的变化更具鲁棒性。这在云计算和机器学习工具快速演变的领域中尤为重要。
应用与影响
Gorilla的主要应用领域是需要与外部工具和服务交互的生成式AI代理。它可以作为虚拟助手、自动化工作流系统和代码生成工具的后端。通过在自然语言和编程API之间提供可靠的接口,Gorilla有助于弥合人类意图与机器执行之间的鸿沟。
Gorilla的发布影响了后续关于API感知语言模型的研究。其将检索与微调相结合的方法已被其他研究团队采用和扩展。该模型还以其开源特性而著称,代码和模型权重已公开提供,使其他研究人员能够在此基础上继续工作。
局限性与未来方向
尽管有其优势,Gorilla仍存在局限性。其性能依赖于训练期间使用的API文档的质量和覆盖范围。对于小众或文档不完善的API,模型仍可能生成错误的调用。此外,与所有大型语言模型一样,Gorilla可能对输入提示的措辞敏感,可能需要仔细的提示工程才能获得最佳结果。
未来的研究方向包括扩展模型以支持更多编程语言和API领域,改进其处理多步骤API交互的能力,以及更深入地整合基于人类反馈的强化学习(RLHF)以进一步优化其输出。伯克利团队继续迭代该模型,后续版本旨在提高其准确性和效率。