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