写点什么

超越 GPT-4!加州大学伯克利分校与微软研究院合作开源大型语言模型 Gorilla

作者:Anthony Alford

  • 2023-08-02
    北京
  • 本文字数:1385 字

    阅读完需:约 5 分钟

超越GPT-4!加州大学伯克利分校与微软研究院合作开源大型语言模型Gorilla

来自加州大学伯克利分校微软研究院的研究人员开源了Gorilla,这是一个可以编写 API 调用代码的大型语言模型(LLM)。在度量代码生成准确性的实验中,Gorilla 优于包括 GPT-4 在内的几个基线模型。

 

Gorilla 被描述为“LLM 的 API 应用商店”。它基于开源大型语言模型LLaMA。这个 LLM 在 APIBench 上做了调优。APIBench 是一个新的 ML 模型 API 描述数据集,托管在HuggingFaceTorchHubTensorHub上。Gorilla 还可以调用 API 定义的外部文档数据库,让它在访问新的 API 时无需重新训练。借助 Gorilla,开发人员可以创建问题的自然语言描述,例如“调用图像分类模型,参数个数不多于 10M,但 ImageNet 准确性至少要达到 70%。”然后,Gorilla 将输出 Python 代码,调用具有适当选项的 ML 模型。按照作者的说法:


在各个领域,LLM 正迅速普及。我们重点关注的是那些可以提高 LLM 在特定任务中 API 识别准确性的技术——这是这项技术发展中一个重要但经常被忽视的方面。作为一种通用语言,API 函数能够实现各种系统间的有效通信。正确使用 API 可以提高 LLM 与更广阔世界中的工具进行交互的能力。

 

GPT-4这样的 LLM 在包括生成代码在内的各种任务上都有出色的表现。然而,它们的 API 知识在训练时被“固定”了,因此,无法生成代码来调用更新的 API。此外,它们经常会产生幻觉——在代码生成时,它们输出的代码可能会调用不存在的 API。InfoQ 之前报道过人们近来为解决这些问题所做的努力,例如,Meta的Toolformer可以调用外部服务 API,ChatGPT的插件系统可以利用外部资源来增强 LLM。

 

不过,伯克利团队指出,那些方法是利用 API 调用的例子来提示 LLM。相比之下,Gorilla 的方法侧重于“系统化地评估并构建一个可供未来使用的管道”。首先,研究人员构建了 APIBench 数据集。他们从 HuggingFace 模型中心、PyTorch 中心和 TensorFlow 中心收集了所有的模型卡。经过过滤之后,获得了一个包含 1645 个 API 调用的集合。对于其中的每一个调用,研究人员使用 GPT-4 生成了一个指令-API 对数据集,用于对 Gorilla 进行调优。

 

在对 Gorilla 的输出进行评价时,一个主要的挑战是识别幻觉。首先,团队将幻觉定义为模型输出调用了在 API 定义外部数据库中不存在的 API。这与错误不同,错误是指模型输出错误地调用了“真实存在”的 API。团队使用所生成代码的抽象语法树(AST)来匹配数据库中的 API 和用于评估的测试集。在零样本任务中使用 AST 准确性度量,Gorilla 比 GPT-4 高了 20.43%。

 

Gorilla 的主要作者Shishir Patil参加了黑客新闻关于这项工作的讨论,并回答了几个问题。当被问及该模型的许可是否允许商业使用时,Patil 指出,Gorilla 有三个版本,基于 LLaMA 的版本没有商业应用许可,但基于 MPT-7 base 和 Falcon-7B 的版本可以。还有一位用户问,Gorilla 与LangChain相比怎么样。Patil 回答说:


Langchain 是一个很棒的项目,它试图教代理如何利用提示来使用工具。我们对此的看法是,如果你想在数以千计的 API 之间做出选择,那么提示不具有可扩展性。而 Gorilla 作为一个 LLM,可以帮你挑选 API 并编写语义、语法正确的 API 调用!它可以方便地替代 Langchain!

 

Gorilla 的代码和模型文件托管在 GitHub 上。这里还有一个在谷歌 Colab 笔记本中的模型演示。

 

原文链接:

https://www.infoq.com/news/2023/07/microsoft-gorilla/


相关阅读:

比Bing更早将LLM集成到搜索引擎中,这家由谷歌前高管创立的公司为什么还是失败了?

马斯克等人热捧:高薪缺人,但要懂全栈懂LLM,一个全新职业正在兴起!

2023-08-02 10:525082

评论

发布
暂无评论
发现更多内容

Vue-VueRouter使用

格斗家不爱在外太空沉思

vue.js VueRouter 11月月更

从0制作一个web端网易云

格斗家不爱在外太空沉思

vue.js axios 11月月更

数据湖(十七):Flink与Iceberg整合DataStream API操作

Lansonli

数据湖 11月月更

【LeetCode】三角形最小路径和Java题解

Albert

算法 LeetCode 11月月更

云栖探馆!云小宝首秀遇上老司机小龙,猜猜谁赢了?

OpenAnolis小助手

龙蜥社区 2022云栖大会 小龙 云小宝 开源活动

【超干货】阿里内部 Spring Boot 笔记,全硬核知识点

程序知音

Java spring 架构 springboot 后端技术

漏洞扫描的种类

穿过生命散发芬芳

漏洞扫描 11月月更

我没想到,做IT还有感动众生的机会

明道云

数据湖(十八):Flink与Iceberg整合SQL API操作

Lansonli

数据湖 11月月更

架构误区系列(Architecture Pitfall)

agnostic

构架师

架构误区系列1:简单依靠扩容解决容量问题

agnostic

架构误区

披荆斩棘成功上岸美团、字节、华为,分享Java面经及答案

程序知音

Java java面试 后端技术 Java面试八股文

Mac部署spark2.4.4

程序员欣宸

大数据 spark 11月月更

随机森林-分类森林

烧灯续昼2002

Python 机器学习 算法 随机森林 11月月更

一次遍历导致的崩溃

小小怪下士

Java 程序员

华为开发者大会HDC2022:HMS Core 持续创新,与开发者共创美好数智生活

HarmonyOS SDK

HMS Core

【愚公系列】2022年11月 微信小程序-app.json配置属性

愚公搬代码

11月月更

数据湖(十九):SQL API 读取Kafka数据实时写入Iceberg表

Lansonli

数据湖 11月月更

SAP UI5 barcode 控件的 feature 检查探测机制单步调试 - checkCordovaInIframe

汪子熙

JavaScript Fiori SAP UI5 ui5 11月月更

为了面试字节,熬夜肝完这份Redis笔记后,我终于“硬”了一回

小小怪下士

Java redis 程序员 面试

HEM亮相华为HDC2022开发者大会,助力企业数字化办公

最新动态

架构实战营模块四

Geek_408c99

架构实战营模块4作业

冷夫冲

架构实战营

全网首次公开!阿里巴巴分布式系统设计核心原理技术内幕

程序员小毕

程序员 架构 面试 分布式 程序人生

Verilog语法入门

芯动大师

Verilog 11月月更 组合逻辑电路

设计模式之美-面向对象

GalaxyCreater

设计模式

计算机网络:流量控制与可靠传输机制

timerring

计算机网络 流量控制 11月月更 可靠传输

uniapp-如何在邀请页面生成海报

格斗家不爱在外太空沉思

vue.js uniapp 11月月更

Go语言入门14—Channel

良猿

Go golang 后端 11月月更

【C 语言】const 关键字

謓泽

11月月更

华为云从入门到实战 | AI云开发ModelArts入门与WAF应用与部署

TiAmo

华为 华为云 云开发 11月月更

超越GPT-4!加州大学伯克利分校与微软研究院合作开源大型语言模型Gorilla_生成式 AI_InfoQ精选文章