写点什么

超越 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:525483

评论

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

为什么 MyBatis 源码中,没有我那种 if···else

程序知音

What's new in dubbo-go-pixiu v0.6.0

apache/dubbo-go

dubbo dubbo-go dubbogo

一座海上营业厅,一个女孩独自守望的十九年

脑极体

5G 智慧农业

【git】将本地代码推送到远程git仓库

石臻臻的杂货铺

git

堪称神级!GitHub上标星157K的Java教程,全程干货,只讲重点

Java

kafka是怎么做到基于磁盘却比内存还快的?

kafka 内存 磁盘

从ChatGPT到AIGC,是一次技术革命也是一次创业浪潮 | 社区征文

打工人!

人工智能 AIGC AI绘画 ChatGPT New Bing

爱不释手!阿里十几位大牛联玦整理—23年最全面试八股文合集

Java java面试 Java八股文 Java面试题 Java面试八股文

写给 go 开发者的 gRPC 教程 - 错误处理

凉凉的知识库

Go 微服务 gRPC RPC RPC框架

什么是数字产品?

涛哥 数字产品和业务架构

数字化转型 数字产品

在文心一言出生地,百度悄悄燃烧AI小宇宙

脑极体

百度 文心一言

Spring Boot 整合流程引擎 Flowable,so easy

Java Spring Boot 流程引擎 flowable

2.基于Label studio的训练数据标注指南:(智能文档)文档抽取任务、PDF、表格、图片抽取标注等

汀丶人工智能

自然语言处理 数据标注

mysql锁及数据一致性总结

阿呆

MySQL innodb 数据一致性 事务/行级锁 脏读

架构实战营 - 模块四作业

🐢先生

架构实战营

数据库“啃”不动?CnosDB带你轻松阅读十万行源码!

CnosDB

IoT 时序数据库 开源社区 CnosDB

DawnSql在数据治理中的优势

陈飞

微服务架构 分布式数据库 架构设计 数据治理 分布式缓存

新增 – 使用基于用户的许可证模式在 Amazon EC2 上运行 Visual Studio 软件

亚马逊云科技 (Amazon Web Services)

赞不绝口!仅靠阿里P9分享的 Redis 工作手册,拿到60W年薪Offer

Java 数据库 redis 缓存 面试

从理论到实践:MySQL性能优化和高可用架构,一次讲清

Java MySQL 数据库 面试 性能优化

一文彻底弄清楚分布式锁

Java 分布式锁

Matlab实现彩色图像的转换 平滑 锐化与分割

timerring

数字图像处理

架构误区系列15:生造的业务概念

agnostic

服务设计

大专毕业,0基础转行C++程序员一个月后,我后悔了

程序员晚枫

程序员 转行 C++ STL

Adapter基础讲解

芯动大师

mvc Adapter arrayadapter

手把手教你使用 Python 调用 ChatGPT-3.5-API

老表

Python GPT-3 ChatGPT

架构误区系列14:纯代码视角的复用

agnostic

复用

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