关于深度学习:狂追ChatGPT开源社区的平替热潮

57次阅读

共计 4027 个字符,预计需要花费 11 分钟才能阅读完成。

目前,不少优质的类 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?co…)

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

欢送 Star、试用 OneFlow 最新版本:https://github.com/Oneflow-Inc/oneflow/

正文完
 0