认识Gorilla:加州大学伯克利分校和微软的API增强LLM表现优于GPT-4、Chat-GPT和Claude
该模型使用了Torch Hub、TensorFlow Hub和HuggingFace的API进行增强
我最近开始了一份以人工智能为重点的教育通讯,已经拥有超过160,000个订阅者。TheSequence是一份面向机器学习的通讯,没有炒作(没有炒作、没有新闻等等),只需5分钟阅读。我们的目标是让您了解机器学习项目、研究论文和概念的最新动态。请订阅以下以了解详情:
大型语言模型(LLMs)的最新进展已经彻底改变了领域,使它们具备了自然对话、数学推理和程序合成等新能力。然而,LLMs仍然面临固定权重约束的信息存储能力和静态图形和狭窄上下文的计算能力的固有限制。此外,随着世界的发展,LLMs需要重新训练以更新其知识和推理能力。为了克服这些限制,研究人员开始赋予LLMs工具。通过授予广泛而动态的知识库的访问权,并启用复杂的计算任务,LLMs可以利用搜索技术、数据库和计算工具。领先的LLM提供商已经开始整合插件,使LLMs可以通过API调用外部工具。从手工编码工具的有限集合到访问广泛的云API数组的转变,有潜力将LLMs转变为计算基础设施和Web的主要接口。例如,预订假期或主持会议这样的任务可能只需要与具有航班、租车、酒店、餐饮和娱乐Web API访问权限的LLMs进行交流即可。
- 微软人工智能推出鲸鱼(Orca):一个拥有130亿参数的模型,学习模仿大型基础模型(LFMs)的推理过程
- 普林斯顿大学的研究人员介绍了MeZO:一种记忆效率高的零阶优化器,可以微调大型语言模型(LLM)
- Atari 100K基准测试中的超人表现:BBF的力量-来自Google DeepMind,Mila和蒙特利尔大学的新价值RL智能体
最近,加州大学伯克利分校和微软的研究人员发布了名为Gorilla的LLaMA-7B模型,专门用于API调用。Gorilla依靠自我训练微调和检索技术,使LLMs能够从通过其API和文档表达的大型和不断发展的工具集中准确选择。作者通过从主要模型中心(如TorchHub、TensorHub和HuggingFace)中抓取机器学习API来构建一个大型的API语料库,称为APIBench。使用自我训练,他们生成了一对指令和相应API。微调过程涉及将数据转换为用户代理聊天样式的格式,并对基本LLaMA-7B模型执行标准指令微调。
API调用通常带有约束条件,这增加了LLM对调用的理解和分类的复杂性。例如,提示可能需要使用特定的参数大小和准确性约束调用图像分类模型。这些挑战凸显了LLMs不仅需要理解API调用的功能描述,而且需要推理嵌入式约束。
数据集
手头的技术重点数据集包括三个不同的领域:Torch Hub、Tensor Hub和HuggingFace。每个领域都提供了丰富的信息,揭示了数据集的多样性。例如,Torch Hub提供了95个API,为其提供了坚实的基础。相比之下,Tensor Hub则进一步提供了一个庞大的696个API集合。最后,HuggingFace以惊人的925个API领先于其他领域,使其成为最全面的领域。
为了增强数据集的价值和可用性,另外进行了一项努力。数据集中的每个API都附带有一组10个精心制作的独特指令。这些指令是训练和评估的不可或缺的指南。这项举措确保每个API不仅仅是表示,而且能够更加强大地利用和分析。
体系结构
Gorilla引入了“检索器感知训练”的概念,其中经过指令调整的数据集包括一个附加字段,用于检索API文档以供参考。这种方法旨在教授LLM解析并根据提供的文档回答问题的能力。作者们证明了这种技术使LLM能够适应API文档的变化,提高性能并减少幻觉误差。
在推理过程中,用户以自然语言提供提示。Gorilla可以在两种模式下运行:零-shot和检索。在零-shot模式下,提示直接提供给Gorilla LLM模型,该模型返回推荐的API调用以完成任务或目标。在检索模式下,检索器(BM25或GPT-Index)从API数据库中检索最新的API文档。这些文档与用户提示连接在一起,并包含一个指示对API文档的引用的消息。然后将连接的输入传递给Gorilla,后者输出要调用的API。在此系统中,并不会在连接步骤之外执行提示微调。
通过合成符合特定测试用例的程序,归纳式程序合成在各个领域都取得了成功。然而,在评估API调用时,仅依赖测试用例不足以验证代码的语义正确性。让我们考虑图像分类的例子,该任务有40多个不同的模型可用。即使我们将其缩小到一个特定的族群,例如Densenet,也有四种可能的配置。因此,存在多个正确的答案,这使得难以通过单元测试确定正在使用的API是否与参考API在功能上等效。为了评估模型的性能,使用收集到的数据集进行比较它们的功能等效性。为了识别数据集中LLM调用的API,采用了AST(抽象语法树)树匹配策略。通过检查候选API调用的AST是否是参考API调用的子树,可以追踪使用的API是哪个。
识别和定义幻觉是一个重要的挑战。AST匹配过程被利用来直接识别幻觉。在这个上下文中,幻觉是指不是数据库中任何API的子树的API调用,实际上调用了完全想象出来的工具。需要注意的是,这个幻觉的定义与错误调用API不同,后者被定义为错误。
AST子树匹配在识别数据集中调用的特定API方面起着至关重要的作用。由于API调用可以具有多个参数,因此需要匹配每个参数。此外,考虑到Python允许默认参数,定义每个API要匹配哪些参数是至关重要的。
Gorilla in Action
与论文一起,研究人员开源了Gorilla的一个版本。该版本包括许多示例的笔记本。此外,下面的视频清楚地展示了Gorilla的一些奇迹。
gorilla_720p.mp4
Gorilla是工具增强LLM领域中最有趣的方法之一。希望我们将在该领域的一些主要ML中心看到该模型的分发。
Jesus Rodriguez目前是Intotheblock的CTO。他是一位技术专家、高管投资者和初创企业顾问。Jesus创立了Tellago,这是一家专注于帮助公司通过利用新的企业软件趋势成为优秀软件组织的屡获殊荣的软件开发公司。
原文。经许可转载。