目前,不少优质的类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/