Meta開源的ChatGPT平替到底好不好用?測試結(jié)果、加料改裝方法已出爐,2天5.2k星
ChatGPT 的持續(xù)爆火,早已讓各大科技公司坐不住了。
就在剛剛過去的一周,Meta「開源」了一個新的大模型系列 ——??LLaMA???(Large Language Model Meta AI),參數(shù)量從 70 億到 650 億不等。因為 LLaMA 比之前發(fā)布的很多大模型參數(shù)更少,但性能更好,所以一經(jīng)發(fā)布讓很多研究者興奮不已。
例如,130 億參數(shù)的 LLaMA 模型「在大多數(shù)基準上」可以勝過參數(shù)量達 1750 億的 GPT-3,而且可以在單塊 V100 GPU 上運行;而最大的 650 億參數(shù)的 LLaMA 模型可以媲美谷歌的 Chinchilla-70B 和 PaLM-540B。
參數(shù)量的減少對于普通研究者和商業(yè)機構(gòu)來說都是好事,但 LLaMA 真的像論文中說得那樣表現(xiàn)那么好嗎?和當前的 ChatGPT 相比,LLaMA 是否可以勉強一戰(zhàn)?為了解答這些疑問,有些研究者已經(jīng)對這一模型進行了測試。
還有公司已經(jīng)在嘗試補齊 LLaMA 短板,想看能不能通過添加 RLHF 等訓(xùn)練方法讓 LLaMA 表現(xiàn)更好。
LLaMA 初步評測
這份評測結(jié)果來自一位名叫 @Enryu 的 Medium 作者。它比較了 LLaMA 和 ChatGPT 在解釋笑話、零樣本分類和代碼生成三個頗具挑戰(zhàn)性的任務(wù)中的效果。相關(guān)博客文章為《Mini-post: first look at LLaMA》。
作者在 RTX 3090/RTX 4090 上運行 LLaMA 7B/13B 版本,在單個 A100 上運行 33B 版本。
需要注意的是,與 ChatGPT 不同,其他模型并不是基于指令微調(diào),因此 prompt 的結(jié)構(gòu)有所不同。
解釋笑話
這是谷歌原始 PaLM 論文中展示的一個用例:給出一個笑話,讓模型來解釋它為什么好笑。該任務(wù)需要將世界知識和一些基本邏輯相結(jié)合。PaLM 之前的所有模型都無法做到這一點。作者從 PaLM 論文中提取了一些示例,比較了 LLaMA-7B、LLaMA-13B、LLaMA-33B 與 ChatGPT 的表現(xiàn)。
可以看到,結(jié)果很糟糕。這些模型 get 到了一些笑點,但無法真正理解,它們只是隨機生成一些相關(guān)的文本流。ChatGPT 雖與 LLaMA-33B 一樣表現(xiàn)很差(其他幾個模型更差),但它遵循了不一樣的策略:生成了一大堆文本,希望自己的回答至少有一部分是正確的(但大部分顯然不是),是不是很像大家考試時應(yīng)對問答題的策略?
不過,ChatGPT 起碼 get 到了關(guān)于 Schmidthuber 的笑話。但總的來說,這些模型在零樣本笑話解釋任務(wù)上的效果與 PaLM 相差甚遠(除非 PaLM 的示例是精心挑選)。
零樣本分類
作者考慮的第二項任務(wù)更具挑戰(zhàn)性 —— 標題黨(clickbait)分類。由于連人類也無法就什么是標題黨達成一致,作者在 prompt 中為這些模型提供了一些示例(因此實際上是小樣本而非零樣本)。如下為 LLaMa 的 prompt:
下圖為 LLaMA-7B、LLaMA-13B、LLaMA-33B 與 ChatGPT 的更多示例結(jié)果。
很明顯,贏家為 LLaMA-33B,它是唯一一個能夠遵循所有請求格式(yes/no)的模型,并且預(yù)測合理。ChatGPT 也還可以,但有些預(yù)測不太合理,格式也有錯誤。較小的模型(7B/13B)不適用于該任務(wù)。
代碼生成
雖然 LLM 擅長人文學(xué)科,但在 STEM 學(xué)科上表現(xiàn)糟糕。LLaMA 雖然有基準測試結(jié)果,但作者在代碼生成領(lǐng)域嘗試了一些特別的東西,即將人類語言零樣本地轉(zhuǎn)換為 SQL 查詢。這并不是很實用,在現(xiàn)實生活中直接編寫查詢會更有效率。這里只作為代碼生成任務(wù)的一個示例。
在 prompt 中,作者提供表模式(table schema)以及想要實現(xiàn)的目標,要求模型給出 SQL 查詢。如下為一些隨機示例,老實說,ChatGPT 看起來效果更好。
從測試結(jié)果來看,LLaMA 在一些任務(wù)上表現(xiàn)還不錯,但在另一些任務(wù)上和 ChatGPT 還有一些差距。如果能像 ChatGPT 一樣加入一些「訓(xùn)練秘籍」,效果會不會大幅提升?
加入 RLHF,初創(chuàng)公司 Nebuly AI 開源 ChatLLaMA 訓(xùn)練方法
雖然 LLaMA 發(fā)布之初就得到眾多研究者的青睞,但是少了 RLHF 的加持,從上述評測結(jié)果來看,還是差點意思。
在 LLaMA 發(fā)布三天后,初創(chuàng)公司 Nebuly AI 開源了 RLHF 版 LLaMA(ChatLLaMA)的訓(xùn)練方法。它的訓(xùn)練過程類似 ChatGPT,該項目允許基于預(yù)訓(xùn)練的 LLaMA 模型構(gòu)建 ChatGPT 形式的服務(wù)。項目上線剛剛 2 天,狂攬 5.2K 星。
項目地址:https://github.com/nebuly-ai/nebullvm/tree/main/apps/accelerate/chatllama
ChatLLaMA 訓(xùn)練過程算法實現(xiàn)主打比 ChatGPT 訓(xùn)練更快、更便宜,我們可以從以下四點得到驗證:
- ChatLLaMA 是一個完整的開源實現(xiàn),允許用戶基于預(yù)訓(xùn)練的 LLaMA 模型構(gòu)建 ChatGPT 風格的服務(wù);
- 與 ChatGPT 相比,LLaMA 架構(gòu)更小,但訓(xùn)練過程和單 GPU 推理速度更快,成本更低;
- ChatLLaMA 內(nèi)置了對 DeepSpeed ZERO 的支持,以加速微調(diào)過程;
- 該庫還支持所有的 LLaMA 模型架構(gòu)(7B、13B、33B、65B),因此用戶可以根據(jù)訓(xùn)練時間和推理性能偏好對模型進行微調(diào)。
圖源:https://openai.com/blog/chatgpt
更是有研究者表示,ChatLLaMA 比 ChatGPT 訓(xùn)練速度最高快 15 倍。
不過有人對這一說法提出質(zhì)疑,認為該項目沒有給出準確的衡量標準。
項目剛剛上線 2 天,還處于早期階段,用戶可以通過以下添加項進一步擴展:
- 帶有微調(diào)權(quán)重的 Checkpoint;
- 用于快速推理的優(yōu)化技術(shù);
- 支持將模型打包到有效的部署框架中。
Nebuly AI 希望更多人加入進來,創(chuàng)造更高效和開放的 ChatGPT 類助手。
該如何使用呢?首先是使用 pip 安裝軟件包:
然后是克隆 LLaMA 模型:
一切準備就緒后,就可以運行了,項目中介紹了 ChatLLaMA 7B 的訓(xùn)練示例,感興趣的小伙伴可以查看原項目。