目前,不少优质的类ChatGPT模型都只能通过API接入,而一些开源LLM的效果与ChatGPT相比差距不小。不过,近期开源社区开始密集发力了。

其中,Meta的LLaMA模型泄漏是开源“ChatGPT”运动的代表性事件。基于LLaMA模型,开源社区近期接连发布了ChatLLaMa、Alpaca、Vicuna、Koala等模型,效果直追GPT-3.5,它也因此成为了开源LLM领域的创新地。

4月12日,Databricks完全开源了12B参数的指令跟随LLMDolly 2.0,包括训练代码、数据集(15000个prompt/response pairs)和模型权重,这些都可以随意商用。Dolly 2.0 基于EleutherAI pythia模型系列而开发。同一天,为了以更低成本、更快速度训练类ChatGPT模型,微软发布了DeepSpeed-Chat。

来自开源社区的“ChatGPT平替”浪潮正在爆发,LLM的生态构建将迎来新变革。

作者 | Toooold

OneFlow编译

翻译 | 贾川

当今,开源社区一直在寻求一种独立于OpenAI和ChatGPT的方法,正如早期的飞行器想要摆脱重力一样。

今年三月初,斯坦福大学AI研究所(Stanford HAI)分享了一种成功方法“Alpaca: A Strong, Replicable Instruction-Following Model(https://github.com/tatsu-lab/stanford_alpaca)”,证明指令调优是一种有前途的方法。于是,这场ChatGPT“平替”的竞争开始了!

(本文在遵循CC BY-NC-SA 4.0协议的基础上由OneFlow编译发布,译文转载请联系OneFlow获得授权。原文:https://toooold.com/2023/04/08/magnificient_underdogs.html?continueFlag=91058ca99dd78323ff38cb1f8e6b2d7c)

1

再思考大型语言模型之“大”

LLM指的是“大型语言模型”,通常认为只有足够大的模型才能达到GPT的性能水平。然而,斯坦福的Alpaca提出了一条重要信息:只需对较小模型进行有限的指令调优,同样也能在重要任务中表现良好。这可以分成两个方面来解释:较小的模型和重要任务。

在Alpaca对Llama的7B模型进行指令调优之前,人们普遍认为模型越大,性能才能达到GPT的水平,而且可能需要一个175B的模型才能够与GPT-3相媲美。Alpaca利用Llama的预训练模型为基础,仅使用来自GPT模型的一个非常小的调优数据集(只有52000个样本),建立了一个具有对话功能的LLM。这表明:在拥有良好的指令调优数据集的情况下,只要语言模型足够强大,就可以达到良好的性能,而不需要非常大的模型来匹配GPT-3。

此外,Alpaca和Llama还表明,LLM并不需要在所有任务中表现得很好。例如,Alpaca和Llama 7B在处理编程相关任务时表现不佳,但在对话和一般任务方面表现良好。指令调优提供的逐步方法是,添加更多知识到Alpaca模型中并利用其已学到的对话功能。例如,通过添加额外的2万个编程特定样本,可以让codealpaca在许多编程任务中表现良好。

另一方面,OpenAI展示了其超大型模型的工程债,例如可用时间有限以及ChatGPT Plus客户每3小时只能进行25个查询等等。这些结果表明:较小的LLM可能是更好的选择。

事实上,现在Llama和Alpaca 7B已经能够运行在最便宜的设备上,如Macbook Air、树莓派4和谷歌Pixel 6手机上,因此它们成为了AI时代的新“毁灭战士”。

它能运行LLaMA 7B吗?这会不会是“它能运行Doom吗”的新表述?——@ylecun

2

更多的ChatGPT开源“平替”加入这场角逐

Llama和Alpaca率先开启了这场角逐,随后更多的LLM模型也加入了其中。它们带来了更多的数据,以改进Alpaca;同时还有更快的调优方法或其他网络结构来代替Llama。

Alpaca需要更多的调优数据。来自“Guanaco: A Multilingual Instruction-Following Language Model Based on LLaMA 7B”(https://github.com/Guanaco-Model/Guanaco-Model.github.io)的Guanaco通过将Alpaca的指令用多种语言重新编写,并添加新的指令以对齐多种语言、理解内容等方式,引入了530k的多语言数据。像“Chinese-Vicuna: A Chinese Instruction-following LLaMA-based Model”(https://github.com/Facico/Chinese-Vicuna)和Chinese-LLaMA-Alpaca(https://github.com/ymcui/Chinese-LLaMA-Alpaca)这样的语言特定模型也提供了优化。源自“Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90% ChatGPT Quality”(https://github.com/lm-sys/FastChat#vicuna-weights)的Vicuna则专注于改进Alpaca的聊天功能。

微软的低秩(Low Rank)采用方式“LoRA”对加速tuning起了很大作用。这个想法很好:它将权重“冻结(freezed)”,但“在Transformer架构的每个层中注入可训练的秩分解矩阵(rank decomposition matrices)”,使得调优速度可以提高3倍。LoRA技术不仅对语言模型有用,它还有助于更快地调优文本到图像任务中的稳定扩散(stable diffusion)模型。(https://github.com/cloneofsimo/lora

与此同时,Llama在这个框架中并不是那么重要,可以被替换成其他模型。Meta的Llama不允许对任何代码或权重进行商用。为更加独立,Lit-llama编写了Llama推理代码,但它仍需要使用Llama权重。开源社区提供了一些选择,其中GLM和RWKV是最有前途的两个模型。

GLM(https://arxiv.org/abs/2103.10360)是一系列不同尺寸的模型。它采用的方法与Meta的Llama不同,其6B模型具有聊天功能,可称为ChatGLM。与此同时,RWKV非常独特。它没有跟随像GPT中的堆叠式解码器Transformer结构,而是使用了类似RNN的递归网络,因此其上下文长度在理论上是无限的,而且其推理速度更快,内存成本更低。RWKV可以达到Transformer模型的质量,其对话版本可作为ChatRWKV找到。

当然,我们也没有忘记上一代的GPT家族。Databricks开源了他们使用GPT-neox网络结构和应用指令调优的Dolly。结果也不错!

我们可以在Language Model Evaluation Harness框架(https://github.com/EleutherAI/lm-evaluation-harness)中比较LLM的性能,基准在这里 https://bellard.org/ts_server/。截至目前(2023年4月上旬),这场角逐中LLama的表现最好。

3

更多社区支持

近年来,受Alpaca的启发,使用self-instruct进行精调变得愈发流行。借助框架,微调也变得更加容易。其中,xtuning是一个易于使用且优秀的框架。最近,xtuning宣布使用Alpaca-Lora进行INT4调优(使用GPT-4的知识进行调优也是一个不错的想法),进一步推动了数据采集的发展。GLM团队还提出了更加高效的调优方法,如P-tuning-v2。

社区还推崇脱离GPU的独立性。从3月初开始,像llama.cpp和alpaca.cpp这样的工作提供了工程优化,使得我们能够在CPU上运行量化模型。然而需要明白“天下没有免费的午餐”,量化可能会导致精度等方面的损失,因此需要参考上述LLM基准测试以了解更多细节。

值得一提的是,像llama-index和LangChain这样的下游工具支持将这些开源的GPT竞争对手作为替代后端。请参考这些工具的文档,了解使用自定义LLM的更多细节

https://github.com/jerryjliu/llama_index/blob/main/docs/how_to/customization/custom_llms.md)。

4

Alpaca是完美的方法吗?

Alpaca引起了人们对比赛中这些LLM大模型的关注,但我们也必须承认它们存在一些缺点:法律问题、数据偏见、编码和数学问题。

Alpaca使用Llama作为其源结构,但Llama不允许商用,且其权重未公开,除非通过申请。

alpaca_data.json的52000条指令调优数据具有很好的多样性,但随后研究表明其存在质量问题,可在此处找到修复方法:https://github.com/gururise/AlpacaDataCleaned

GPT-4在数学和推理方面的能力已经更加强大,但Alpaca仍然无法获取足够的调优数据以执行此类任务。

5

总结

在1910年,一架比空气重的飞行器完成了从伦敦到巴黎的旅行,用时25小时11分钟。当时没有人能想到大约50年后人类会登上月球,这一壮举只有通过人类共同努力探索所有可能性才能实现。

我相信Alpaca是AIGC时代最早的“飞行器”之一,我们很快就会有开源实现来超越GPT模型。

题图源:Midjourney

其他人都在看

  • “ChatGPT们”的淘金时代

  • 大型语言模型的推理演算

  • GPT-4创造者:第二次改变AI浪潮的方向

  • 谷歌科学家:ChatGPT秘密武器的演进与局限

  • 比快更快,开源Stable Diffusion刷新作图速度

  • OneEmbedding:单卡训练TB级推荐模型不是梦

  • GLM训练加速:性能最高提升3倍,显存节省1/3

欢迎Star、试用OneFlow: github.com/Oneflow-Inc/oneflow/http://github.com/Oneflow-Inc/oneflow/

狂追ChatGPT:开源社区的“平替”热潮相关推荐

  1. 堵俊平:开放治理是开源社区的终极之路 | DEV. Together 2021 中国开发者生态峰会...

    点击上方"开源社"关注我们 | 作者:堵俊平 | 转载自:开发者生态 | 编辑:刘雪洁 | 设计:宋传琪 | 责编:王玥敏 内容来源: 2021 年 6 月 5 日,由 Segme ...

  2. ChatGPT 速通手册——开源社区的进展

    开源社区的进展 在 ChatGPT 以外,谷歌.脸书等互联网巨头,也都发布过千亿级参数的大语言模型,但在交谈问答方面表现相对 ChatGPT 来说都显得一般.根据科学人员推测,很重要的一部分原因是缺失 ...

  3. 【AI热点技术】ChatGPT开源替代品——LLaMA系列之「羊驼家族」

    ChatGPT开源替代品--LLaMA系列之「羊驼家族」 1. Alpaca 2. Vicuna 3. Koala 4. ChatLLaMA 5. FreedomGPT 6. ColossalChat ...

  4. 追赶ChatGPT的难点与平替

    卷友们好,我是rumor. 最近ChatGPT真的太火爆了,让人很难静下心.一方面是对它的能力感到不安,以后各个NLP子任务可能就统一起来了,范式也会变成预训练+Prompt,不需要那么多精调模型的算 ...

  5. 还在为多集群管理烦恼吗?RedHat 和蚂蚁、阿里云给开源社区带来了OCM

    简介: 为了让开发者.用户在多集群和混合环境下也能像在单个 Kubernetes 集群平台上一样,使用自己熟悉的开源项目和产品轻松开发功能,RedHat 和蚂蚁.阿里云共同发起并开源了 OCM(Ope ...

  6. Jpeglib使用指南, 各种压缩包的压缩和解压方法, 开源社区分裂史

    http://antkillerfarm.github.io/ Jpeglib使用指南 1.问题的由来 Jpeg图片在图像处理领域已经用的相当广泛了.但在编程领域,尤其是嵌入式编程领域使用的还不是很广 ...

  7. 李国杰院士:国内开源社区的崛起需要一个过程

    [CSDN.NET 付江/文]日前,在第二届"龙芯杯"中国开源软件设计大赛启动仪式上,CSDN记者专访了中国工程院院士.第三世界科学院院士李国杰.李国杰院士就国产基础软件现状.面临 ...

  8. twitter开源_30位开源社区经理将在Twitter上关注

    twitter开源 在2015年社区经理感谢日中 ,我想做些特别的事情,以感谢参与开源生态系统的许多勤奋工作的社区经理. 去年,来自各种开源项目的社区经理(包括Ubuntu,Kaltura,Mongo ...

  9. 开源社区那些事|社区分享

    1.举个例子 大家经常看到开源社区这四个字,什么是开源社区呢?咱们先看个例子. 一个程序员 A,写了一个简单的计算器,支持加减乘除四个功能,然后公开到网上了,类似一个在线文档,可以协同编辑,他就成了第 ...

最新文章

  1. jdbc连接操作mysql,直接操作和预处理方式
  2. 开源图像编辑器 GIMP 开发者透露 2019 年计划
  3. (转)谷歌公开dopamine
  4. mysql 5.7主从延迟 相关参数配置
  5. java项目:永和大王项目_Java项目:书评
  6. 使用Blink SQL+UDAF实现差值聚合计算
  7. 【Java】Date类和Calendar类必知必会
  8. 为什么我们做不到【员工篇】作者:金刚波
  9. godotenv简介
  10. 拓端tecdat|R语言主题模型LDA评估公司面临的风险领域与可视化
  11. 微服务架构实践之邮件通知系统改造
  12. 如何共享OneNote笔记本
  13. 【方法】如何提高专注能力
  14. 基于C语言设计的唐诗三百首
  15. meta的http-equiv属性
  16. CSS 滚动条,浮动问题,图片bug
  17. VScode 完整安装、配置及完全卸载
  18. c#上位机开发(三)——简易串口发送数据
  19. 2024武汉理工大学计算机考研信息汇总
  20. 为什么我不再使用MVC框架?

热门文章

  1. 65寸的电视机长和宽是多少 65寸电视长宽多少厘米
  2. jquery 点击事件切换样式
  3. 计算机清灰后无法联网,电脑清灰后无法开机?不要慌,请这样用排除法逐步排查问题-电脑打不开机怎么办...
  4. “阿凡达”给3D网络游戏敲醒警钟!!
  5. 一个常用的自定义弹框封装(适配 AndroidX),加载 ProgressDialog,状态显示的 StatusDialog 和自定义 Toast,全部支持背景颜色,圆角,边框和文字的自定义,构建者模
  6. “中国农技推广信息服务平台”的农技推广有哪些创新模式?
  7. [Go] 开源客服系统以及多商户客服系统-GOFLY在线客服
  8. lxml解析html报错
  9. Android手机做无线中继路由器
  10. Window布局参数简单描述