成本不到100美元!UC伯克利再開源類ChatGPT模型「考拉」:數(shù)據(jù)量大沒有用,高質(zhì)量才是王道
自從Meta開源LLaMA之后,學(xué)術(shù)界內(nèi)各種類ChatGPT模型如雨后春筍般開始發(fā)布。先是斯坦福提出了70億參數(shù)Alpaca,緊接著又是UC伯克利聯(lián)手CMU、斯坦福、UCSD和MBZUAI發(fā)布的130億參數(shù)Vicuna,在超過90%的情況下實(shí)現(xiàn)了與ChatGPT和Bard相匹敵的能力。最近伯克利又發(fā)布了一個(gè)新模型「考拉Koala」,相比之前使用OpenAI的GPT數(shù)據(jù)進(jìn)行指令微調(diào),Koala的不同之處在于使用網(wǎng)絡(luò)獲取的高質(zhì)量數(shù)據(jù)進(jìn)行訓(xùn)練。
博客鏈接:https://bair.berkeley.edu/blog/2023/04/03/koala/數(shù)據(jù)預(yù)處理代碼:https://github.com/young-geng/koala_data_pipeline評估測試集:https://github.com/arnav-gudibande/koala-test-set模型下載:https://drive.google.com/drive/folders/10f7wrlAFoPIy-TECHsx9DKIvbQYunCfl
在發(fā)布的博客文章中,研究人員描述了模型的數(shù)據(jù)集管理和訓(xùn)練過程,同時(shí)也展示了用戶研究的結(jié)果,將該模型與ChatGPT和斯坦福大學(xué)的Alpaca模型進(jìn)行了比較。研究結(jié)果表明,Koala可以有效地回答各種用戶的查詢,生成的回答往往比Alpaca更受歡迎,至少在一半的情況下與ChatGPT的效果不相上下。研究人員希望這次實(shí)驗(yàn)的結(jié)果可以進(jìn)一步推動圍繞大型閉源模型相對于小型公共模型的相對性能的討論,特別是結(jié)果表明,對于那些能在本地運(yùn)行的小模型,如果認(rèn)真地收集訓(xùn)練數(shù)據(jù),也可以取得大模型的性能。
?
這可能意味著,社區(qū)應(yīng)該投入更多的精力來管理高質(zhì)量的數(shù)據(jù)集,可能比簡單地增加現(xiàn)有系統(tǒng)的規(guī)模來說更有助于建立更安全、更實(shí)際、更有能力的模型。需要強(qiáng)調(diào)的是,Koala只是一個(gè)研究原型,雖然研究人員希望模型的發(fā)布可以提供一個(gè)有價(jià)值的社區(qū)資源,但它仍然在內(nèi)容安全性和可靠性方面存在重大缺陷,不應(yīng)該在研究之外的領(lǐng)域使用。
Koala系統(tǒng)概覽
大型語言模型發(fā)布后,虛擬助手和聊天機(jī)器人的能力也越來越強(qiáng),不僅能閑聊,還能寫代碼、寫詩、故事創(chuàng)作,堪稱無所不能。不過能力最強(qiáng)的那一批語言模型通常都需要海量的計(jì)算資源對模型進(jìn)行訓(xùn)練,并且還需要大規(guī)模的專用數(shù)據(jù)集,普通人基本上沒辦法自己訓(xùn)練模型。換句話說,語言模型在未來將由少數(shù)有實(shí)力的組織控制,用戶和研究人員采用付費(fèi)的方式與模型進(jìn)行交互,無法直接訪問模型內(nèi)部來修改或改進(jìn)。另一方面,最近幾個(gè)月也有一些組織發(fā)布了功能比較強(qiáng)大的免費(fèi)或部分開源模型,比如Meta的LLaMA,這些模型的能力沒辦法和那些封閉模型(比如ChatGPT)相比,但它們的能力在社區(qū)的幫助下一直在迅速提高。?
壓力來到開源社區(qū)這邊:未來是否可以看到越來越多圍繞少數(shù)閉源代碼模型的整合?或者是更多使用更小模型架構(gòu)的開放模型?相同架構(gòu)模型的性能是否能接近規(guī)模更大的閉源模型?
雖然開放模型不太可能與閉源模型的規(guī)模相匹配,但使用精心挑選的訓(xùn)練數(shù)據(jù)或許可以使它們接近沒有微調(diào)過的ChatGPT的表現(xiàn)。
事實(shí)上,在此之前斯坦福大學(xué)發(fā)布的Alpaca模型,根據(jù)OpenAI的GPT模型對LLaMA的數(shù)據(jù)進(jìn)行微調(diào)的實(shí)驗(yàn)結(jié)果已經(jīng)表明,正確的數(shù)據(jù)可以顯著改善規(guī)模更小的開源模型,這也是伯克利的研究人員開發(fā)和發(fā)布Koala模型的初衷,為這個(gè)討論結(jié)果再提供了一個(gè)實(shí)驗(yàn)證明。
Koala 對從網(wǎng)上獲取的免費(fèi)交互數(shù)據(jù)進(jìn)行了微調(diào),并且特別關(guān)注包括與ChatGPT 等高性能閉源模型交互的數(shù)據(jù)。
研究人員根據(jù)從網(wǎng)絡(luò)和公共數(shù)據(jù)集中提取的對話數(shù)據(jù)對 LLaMA 基礎(chǔ)模型進(jìn)行微調(diào),其中包括對來自其他大型語言模型的用戶查詢的高質(zhì)量響應(yīng),以及問答數(shù)據(jù)集和人類反饋數(shù)據(jù)集,由此訓(xùn)練得到的Koala-13B模型展現(xiàn)出了與現(xiàn)有模型相差無幾的性能。
研究結(jié)果表明,從高質(zhì)量的數(shù)據(jù)集中學(xué)習(xí)可以減輕小模型的一些缺點(diǎn),甚至可能在未來與大型閉源模型相匹敵的能力,也就意味著,社區(qū)應(yīng)該投入更多的精力來管理高質(zhì)量的數(shù)據(jù)集,相比簡單地增加現(xiàn)有模型的尺寸規(guī)模來說,更有助于建立更安全、更實(shí)際、更有能力的模型。
通過鼓勵(lì)研究人員參與Koala模型的系統(tǒng)演示,研究人員希望發(fā)現(xiàn)一些意料之外的特點(diǎn)或缺陷,有助于在未來評估模型。
數(shù)據(jù)集和訓(xùn)練
建立對話模型的一個(gè)主要障礙是訓(xùn)練數(shù)據(jù)的管理,包括ChatGPT、Bard、Bing Chat和Claude在內(nèi)的所有聊天模型都使用了大量人工標(biāo)注構(gòu)建的專用數(shù)據(jù)集。
為了構(gòu)建Koala,研究人員通過從網(wǎng)絡(luò)和公共數(shù)據(jù)集中收集對話數(shù)據(jù)來組織訓(xùn)練集,數(shù)據(jù)集中的一部分包括用戶在線發(fā)布的大型語言模型(如 ChatGPT)的對話。
研究人員并沒有追求盡可能多的抓取網(wǎng)絡(luò)數(shù)據(jù)來最大化數(shù)據(jù)量,而是專注于收集一個(gè)小型的高質(zhì)量數(shù)據(jù)集,使用公共數(shù)據(jù)集來回答問題、人類反饋(評分為正面和負(fù)面)以及與現(xiàn)有語言模型的對話。
ChatGPT蒸餾數(shù)據(jù)
與ChatGPT的公共用戶共享對話(ShareGPT):使用公共API收集了大約六萬條用戶在ShareGPT上分享的對話。
網(wǎng)址鏈接:https://sharegpt.com/
為了保證數(shù)據(jù)質(zhì)量,研究人員刪除了重復(fù)的user query,并刪除了所有非英語會話,最后留下了大約三萬條樣本。
人類ChatGPT比較語料(HC3):使用來自 HC3英語數(shù)據(jù)集的人類和 ChatGPT 回復(fù)結(jié)果,其中包含約六萬條人類答案和約2.4萬個(gè)問題的2.7萬個(gè)ChatGPT 答案,總共得到約8.7萬條問答樣本。
開源數(shù)據(jù)
Open Instruction Generalist(OIG):使用從 LAION 策劃的開放指令通用數(shù)據(jù)集中手動選擇的組件子集,包括小學(xué)數(shù)學(xué)指導(dǎo)、詩歌到歌曲以及情節(jié)-劇本-書籍-對話數(shù)據(jù)集,總共得到大約3萬個(gè)樣本。
Stanford Alpaca:包括用于訓(xùn)練斯坦福Alpaca模型的數(shù)據(jù)集。
該數(shù)據(jù)集包含大約5.2萬個(gè)樣本,由 OpenAI 的 text-davinci-003按照self-instruct過程生成的。
值得注意的是,HC3、 OIG 和 Alpaca 數(shù)據(jù)集是單輪問答,而 ShareGPT 數(shù)據(jù)集是多輪對話。
Anthropic HH:包含人類對模型輸出的有害性和有益性的評級。
該數(shù)據(jù)集包含約16萬條人類評估的示例,其中每個(gè)示例由一對來自聊天機(jī)器人的回復(fù)組成,其中一個(gè)是人類偏好的,該數(shù)據(jù)集為模型提供了功能和額外的安全保護(hù)。
OpenAI WebGPT:該數(shù)據(jù)集包括總共約2萬條的對比,其中每個(gè)示例包括一個(gè)問題、一對模型答案和元數(shù)據(jù),答案由人類根據(jù)自己的偏好進(jìn)行打分。
OpenAI Summarization:包含約9.3萬條樣例,包含來自人類的關(guān)于模型生成摘要的反饋,人類評估者從兩個(gè)選項(xiàng)中選擇了更好的摘要結(jié)果。
當(dāng)使用開源數(shù)據(jù)集時(shí),一些數(shù)據(jù)集可能會提供兩個(gè)回復(fù),對應(yīng)于評定為好或壞(AnthropicHH、WebGPT、OpenAI摘要)。
之前的研究結(jié)果證明了條件語言模型對人類偏好標(biāo)記(有用/無用)的有效性以提高性能,研究人員根據(jù)偏好標(biāo)簽將模型置于正標(biāo)記或負(fù)標(biāo)記上,如果沒有人類反饋的話,對數(shù)據(jù)集使用正標(biāo)記。在評估階段,編寫的prompt中包括正標(biāo)記。
Koala 基于開源框架EasyLM(預(yù)訓(xùn)練、微調(diào)、服務(wù)和評估各種大型語言模型),使用JAX/Flax實(shí)現(xiàn);訓(xùn)練設(shè)備為一臺 Nvidia DGX 服務(wù)器與8個(gè)A100 GPU,需要6個(gè)小時(shí)訓(xùn)練完成2個(gè)epochs。
在公共云計(jì)算平臺上,預(yù)期訓(xùn)練成本不超過100美元。
初步評估
在實(shí)驗(yàn)中,研究人員評估了兩個(gè)模型:Koala-Distill,只使用蒸餾數(shù)據(jù);Koala-All使用所有的數(shù)據(jù),包括蒸餾和開源數(shù)據(jù)。
實(shí)驗(yàn)的目的是比較模型的性能,并評估蒸餾和開源數(shù)據(jù)集對最終模型性能的影響;對Koala模型進(jìn)行人類評估,并將Koala-All與Koala-Distill, Alpaca和ChatGPT進(jìn)行對比。
實(shí)驗(yàn)的測試集由斯坦福的Alpaca Test Set和Koala Test Set組成,包括180個(gè)測試query
Alpaca測試集由從self-isntruct數(shù)據(jù)集中抽樣的user prompt組成,并表示 Alpaca 模型的分布式數(shù)據(jù);為了提供更實(shí)際的評估協(xié)議,Koala測試集包含180個(gè)在線發(fā)布的真實(shí)用戶query,跨越不同的主題,通常是會話式的,更能代表基于聊天系統(tǒng)的實(shí)際用例,并且為了減少可能的測試集泄漏,最終從訓(xùn)練集中篩選出 BLEU 得分大于20% 的查詢。
此外,由于研究團(tuán)隊(duì)都更擅長英語,所以研究人員刪除了非英語和編碼相關(guān)的提示以提供更可靠的標(biāo)注結(jié)果,最后在亞馬遜眾包平臺上對大約100名標(biāo)注員進(jìn)行一次盲測,在評分界面為每個(gè)評分者提供一個(gè)輸入提示和兩個(gè)模型的輸出,然后要求使用與回復(fù)質(zhì)量和正確性相關(guān)的標(biāo)準(zhǔn)來判斷哪個(gè)輸出更好(允許同樣好)。
在 Alpaca 測試集中,Koala-All的表現(xiàn)與 Alpaca 相當(dāng)。
在Koala測試集(包含真實(shí)的user query)中,Koala-All所有在將近一半的樣本中比 Alpaca 更好,70% 的案例中超過或與Alpaca同樣好,其中肯定有Koala訓(xùn)練集合測試集相似度更高的原因,所以這個(gè)結(jié)果并不是特別意外。
但是只要這些提示更像這些模型的下游用例,也就意味著Koala在類似助手的應(yīng)用中會表現(xiàn)得更好,表明使用網(wǎng)絡(luò)上發(fā)布的樣例與語言模型進(jìn)行交互,是賦予這些模型有效的指令執(zhí)行能力的有效策略。
比較讓人以外的是,研究人員發(fā)現(xiàn)除了蒸餾數(shù)據(jù)(Koala-All)之外,對開源數(shù)據(jù)的訓(xùn)練比僅對 ChatGPT 蒸餾數(shù)據(jù)(Koala-Distill)的訓(xùn)練表現(xiàn)稍差。
雖然這種差異可能并不顯著,但這一結(jié)果表明,ChatGPT對話的質(zhì)量非常高,以至于即使包含兩倍的開源數(shù)據(jù)也不會獲得顯著的改進(jìn)。
最初的假設(shè)是,Koala-All應(yīng)該表現(xiàn)得更好一些,因此在所有的評估中都使用Koala-All作為主要的評估模型,最終可以發(fā)現(xiàn),有效的指令和輔助模型可以從大型語言模型中獲得,只要這些prompts能夠代表用戶在測試階段的多樣性即可。
所以,建立強(qiáng)有力的對話模式的關(guān)鍵可能更多地在于管理高質(zhì)量的對話數(shù)據(jù),這些數(shù)據(jù)在用戶查詢方面各不相同,并不能簡單地將現(xiàn)有數(shù)據(jù)集重新格式化為問題和答案。
限制與安全
和其他語言模型一樣,Koala同樣也有局限性,如果被誤用的話,可能會對用戶造成傷害。
研究人員觀察到,Koala會產(chǎn)生幻覺,并以非常自信的口吻作出非事實(shí)性的反應(yīng),可能是對話微調(diào)的結(jié)果,換句話說,就是較小的模型繼承了較大語言模型的自信風(fēng)格,并沒有繼承同等水平的事實(shí),在未來需要重點(diǎn)改進(jìn)。
當(dāng)被誤用時(shí),Koala的幻覺回復(fù)可能會促進(jìn)錯(cuò)誤信息、垃圾郵件和其他內(nèi)容的傳播。
考拉能夠以一種自信和令人信服的語調(diào)幻想不準(zhǔn)確的信息,除了幻覺,考拉還有其他聊天機(jī)器人語言模型的不足之處。其中包括:
- 偏見和刻板印象: 模型繼承了帶有偏見的訓(xùn)練對話數(shù)據(jù),包括刻板印象、歧視和其他傷害。
- 缺乏常識: 雖然大型語言模型可以生成看似連貫和語法正確的文本,但它們往往缺乏人們認(rèn)為理所當(dāng)然的常識知識,這可能導(dǎo)致荒謬或不適當(dāng)?shù)姆磻?yīng)。
- 有限理解: 大型語言模型可能難以理解對話的上下文和細(xì)微差別,也很難識別諷刺或反諷,可能會導(dǎo)致誤解。
為了解決Koala的安全隱患,研究人員在 ShareGPT 和 AnthropicHH 的數(shù)據(jù)集中包含了對抗性提示,以使模型更加健壯和無害。
為了進(jìn)一步減少潛在的濫用,還在演示中部署了 OpenAI 的內(nèi)容審核過濾器來標(biāo)記和刪除不安全的內(nèi)容。
未來工作
研究人員希望Koala模型能夠成為未來大型語言模型學(xué)術(shù)研究的一個(gè)有用的平臺:該模型足以展示現(xiàn)代語言模型的諸多功能,同時(shí)又足夠小,可以用更少的計(jì)算量進(jìn)行微調(diào)或使用,未來的研究方向可能包括:
- 安全性和一致性: 進(jìn)一步研究語言模型的安全性和更好的與人類意圖的一致性。
- 模型偏見:更好地理解大型語言模型的偏見、對話數(shù)據(jù)集中虛假相關(guān)性和質(zhì)量問題的存在,以及減輕這種偏差的方法。
- 理解大型語言模型:因?yàn)镵oala的推理可以在相對廉價(jià)的 GPU 上執(zhí)行,可以更好地檢查和理解對話語言模型的內(nèi)部,使黑盒語言模型更容易理解。