目前,不少優(yōu)質(zhì)的類ChatGPT模型都只能通過API接入,而一些開源LLM的效果與ChatGPT相比差距不小。不過,近期開源社區(qū)開始密集發(fā)力了。
其中,Meta的LLaMA模型泄漏是開源“ChatGPT”運動的代表性事件?;贚LaMA模型,開源社區(qū)近期接連發(fā)布了ChatLLaMa、Alpaca、Vicuna、Koala等模型,效果直追GPT-3.5,它也因此成為了開源LLM領(lǐng)域的創(chuàng)新地。
4月12日,Databricks完全開源了12B參數(shù)的指令跟隨LLMDolly 2.0,包括訓(xùn)練代碼、數(shù)據(jù)集(15000個prompt/response pairs)和模型權(quán)重,這些都可以隨意商用。Dolly 2.0 基于EleutherAI pythia模型系列而開發(fā)。同一天,為了以更低成本、更快速度訓(xùn)練類ChatGPT模型,微軟發(fā)布了DeepSpeed-Chat。
來自開源社區(qū)的“ChatGPT平替”浪潮正在爆發(fā),LLM的生態(tài)構(gòu)建將迎來新變革。
作者?|?Toooold
OneFlow編譯
翻譯 |?賈川
當(dāng)今,開源社區(qū)一直在尋求一種獨立于OpenAI和ChatGPT的方法,正如早期的飛行器想要擺脫重力一樣。
今年三月初,斯坦福大學(xué)AI研究所(Stanford HAI)分享了一種成功方法“Alpaca: A Strong, Replicable Instruction-Following Model(https://github.com/tatsu-lab/stanford_alpaca)”,證明指令調(diào)優(yōu)是一種有前途的方法。于是,這場ChatGPT“平替”的競爭開始了!
(本文在遵循CC BY-NC-SA 4.0協(xié)議的基礎(chǔ)上由OneFlow編譯發(fā)布,譯文轉(zhuǎn)載請聯(lián)系OneFlow獲得授權(quán)。原文:https://toooold.com/2023/04/08/magnificient_underdogs.html?continueFlag=91058ca99dd78323ff38cb1f8e6b2d7c)
1
再思考大型語言模型之“大”
LLM指的是“大型語言模型”,通常認為只有足夠大的模型才能達到GPT的性能水平。然而,斯坦福的Alpaca提出了一條重要信息:只需對較小模型進行有限的指令調(diào)優(yōu),同樣也能在重要任務(wù)中表現(xiàn)良好。這可以分成兩個方面來解釋:較小的模型和重要任務(wù)。
在Alpaca對Llama的7B模型進行指令調(diào)優(yōu)之前,人們普遍認為模型越大,性能才能達到GPT的水平,而且可能需要一個175B的模型才能夠與GPT-3相媲美。Alpaca利用Llama的預(yù)訓(xùn)練模型為基礎(chǔ),僅使用來自GPT模型的一個非常小的調(diào)優(yōu)數(shù)據(jù)集(只有52000個樣本),建立了一個具有對話功能的LLM。這表明:在擁有良好的指令調(diào)優(yōu)數(shù)據(jù)集的情況下,只要語言模型足夠強大,就可以達到良好的性能,而不需要非常大的模型來匹配GPT-3。
此外,Alpaca和Llama還表明,LLM并不需要在所有任務(wù)中表現(xiàn)得很好。例如,Alpaca和Llama 7B在處理編程相關(guān)任務(wù)時表現(xiàn)不佳,但在對話和一般任務(wù)方面表現(xiàn)良好。指令調(diào)優(yōu)提供的逐步方法是,添加更多知識到Alpaca模型中并利用其已學(xué)到的對話功能。例如,通過添加額外的2萬個編程特定樣本,可以讓codealpaca在許多編程任務(wù)中表現(xiàn)良好。
另一方面,OpenAI展示了其超大型模型的工程債,例如可用時間有限以及ChatGPT Plus客戶每3小時只能進行25個查詢等等。這些結(jié)果表明:較小的LLM可能是更好的選擇。
事實上,現(xiàn)在Llama和Alpaca 7B已經(jīng)能夠運行在最便宜的設(shè)備上,如Macbook Air、樹莓派4和谷歌Pixel 6手機上,因此它們成為了AI時代的新“毀滅戰(zhàn)士”。
它能運行LLaMA 7B嗎?這會不會是“它能運行Doom嗎”的新表述?——@ylecun
2
更多的ChatGPT開源“平替”加入這場角逐
Llama和Alpaca率先開啟了這場角逐,隨后更多的LLM模型也加入了其中。它們帶來了更多的數(shù)據(jù),以改進Alpaca;同時還有更快的調(diào)優(yōu)方法或其他網(wǎng)絡(luò)結(jié)構(gòu)來代替Llama。
Alpaca需要更多的調(diào)優(yōu)數(shù)據(jù)。來自“Guanaco: A Multilingual Instruction-Following Language Model Based on LLaMA 7B”(https://github.com/Guanaco-Model/Guanaco-Model.github.io)的Guanaco通過將Alpaca的指令用多種語言重新編寫,并添加新的指令以對齊多種語言、理解內(nèi)容等方式,引入了530k的多語言數(shù)據(jù)。像“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)這樣的語言特定模型也提供了優(yōu)化。源自“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起了很大作用。這個想法很好:它將權(quán)重“凍結(jié)(freezed)”,但“在Transformer架構(gòu)的每個層中注入可訓(xùn)練的秩分解矩陣(rank decomposition matrices)”,使得調(diào)優(yōu)速度可以提高3倍。LoRA技術(shù)不僅對語言模型有用,它還有助于更快地調(diào)優(yōu)文本到圖像任務(wù)中的穩(wěn)定擴散(stable diffusion)模型。(https://github.com/cloneofsimo/lora)
與此同時,Llama在這個框架中并不是那么重要,可以被替換成其他模型。Meta的Llama不允許對任何代碼或權(quán)重進行商用。為更加獨立,Lit-llama編寫了Llama推理代碼,但它仍需要使用Llama權(quán)重。開源社區(qū)提供了一些選擇,其中GLM和RWKV是最有前途的兩個模型。
GLM(https://arxiv.org/abs/2103.10360)是一系列不同尺寸的模型。它采用的方法與Meta的Llama不同,其6B模型具有聊天功能,可稱為ChatGLM。與此同時,RWKV非常獨特。它沒有跟隨像GPT中的堆疊式解碼器Transformer結(jié)構(gòu),而是使用了類似RNN的遞歸網(wǎng)絡(luò),因此其上下文長度在理論上是無限的,而且其推理速度更快,內(nèi)存成本更低。RWKV可以達到Transformer模型的質(zhì)量,其對話版本可作為ChatRWKV找到。
當(dāng)然,我們也沒有忘記上一代的GPT家族。Databricks開源了他們使用GPT-neox網(wǎng)絡(luò)結(jié)構(gòu)和應(yīng)用指令調(diào)優(yōu)的Dolly。結(jié)果也不錯!
我們可以在Language Model Evaluation Harness框架(https://github.com/EleutherAI/lm-evaluation-harness)中比較LLM的性能,基準在這里?https://bellard.org/ts_server/。截至目前(2023年4月上旬),這場角逐中LLama的表現(xiàn)最好。
3
更多社區(qū)支持
近年來,受Alpaca的啟發(fā),使用self-instruct進行精調(diào)變得愈發(fā)流行。借助框架,微調(diào)也變得更加容易。其中,xtuning是一個易于使用且優(yōu)秀的框架。最近,xtuning宣布使用Alpaca-Lora進行INT4調(diào)優(yōu)(使用GPT-4的知識進行調(diào)優(yōu)也是一個不錯的想法),進一步推動了數(shù)據(jù)采集的發(fā)展。GLM團隊還提出了更加高效的調(diào)優(yōu)方法,如P-tuning-v2。
社區(qū)還推崇脫離GPU的獨立性。從3月初開始,像llama.cpp和alpaca.cpp這樣的工作提供了工程優(yōu)化,使得我們能夠在CPU上運行量化模型。然而需要明白“天下沒有免費的午餐”,量化可能會導(dǎo)致精度等方面的損失,因此需要參考上述LLM基準測試以了解更多細節(jié)。
值得一提的是,像llama-index和LangChain這樣的下游工具支持將這些開源的GPT競爭對手作為替代后端。請參考這些工具的文檔,了解使用自定義LLM的更多細節(jié)
(https://github.com/jerryjliu/llama_index/blob/main/docs/how_to/customization/custom_llms.md)。
4
Alpaca是完美的方法嗎?
Alpaca引起了人們對比賽中這些LLM大模型的關(guān)注,但我們也必須承認它們存在一些缺點:法律問題、數(shù)據(jù)偏見、編碼和數(shù)學(xué)問題。
Alpaca使用Llama作為其源結(jié)構(gòu),但Llama不允許商用,且其權(quán)重未公開,除非通過申請。
alpaca_data.json的52000條指令調(diào)優(yōu)數(shù)據(jù)具有很好的多樣性,但隨后研究表明其存在質(zhì)量問題,可在此處找到修復(fù)方法:https://github.com/gururise/AlpacaDataCleaned。
GPT-4在數(shù)學(xué)和推理方面的能力已經(jīng)更加強大,但Alpaca仍然無法獲取足夠的調(diào)優(yōu)數(shù)據(jù)以執(zhí)行此類任務(wù)。
5
總結(jié) ?
在1910年,一架比空氣重的飛行器完成了從倫敦到巴黎的旅行,用時25小時11分鐘。當(dāng)時沒有人能想到大約50年后人類會登上月球,這一壯舉只有通過人類共同努力探索所有可能性才能實現(xiàn)。
我相信Alpaca是AIGC時代最早的“飛行器”之一,我們很快就會有開源實現(xiàn)來超越GPT模型。
題圖源:Midjourney
其他人都在看
-
“ChatGPT們”的淘金時代
-
大型語言模型的推理演算
-
GPT-4創(chuàng)造者:第二次改變AI浪潮的方向
-
谷歌科學(xué)家:ChatGPT秘密武器的演進與局限
-
比快更快,開源Stable Diffusion刷新作圖速度
-
OneEmbedding:單卡訓(xùn)練TB級推薦模型不是夢
-
GLM訓(xùn)練加速:性能最高提升3倍,顯存節(jié)省1/3文章來源:http://www.zghlxwxcb.cn/news/detail-424393.html
歡迎Star、試用OneFlow: github.com/Oneflow-Inc/oneflow/http://github.com/Oneflow-Inc/oneflow/文章來源地址http://www.zghlxwxcb.cn/news/detail-424393.html
到了這里,關(guān)于狂追ChatGPT:開源社區(qū)的“平替”熱潮的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!