130億參數,8個A100訓練,UC伯克利發布對話模型Koala
自從 Meta 發布并開源了 LLaMA 系列模型,來自斯坦福大學、UC 伯克利等機構的研究者們紛紛在 LLaMA 的基礎上進行「二創」,先后推出了 Alpaca、Vicuna 等多個「羊駝」大模型。
羊駝已然成為開源社區的新晉頂流。由于「二創」過于豐富,生物學羊駝屬的英文單詞都快不夠用了,但是用其他動物的名字給大模型命名也是可以的。
最近,UC 伯克利的伯克利人工智能研究院(BAIR)發布了一個可以在消費級 GPU 上運行的對話模型 Koala(直譯為考拉)。Koala 使用從網絡收集的對話數據對 LLaMA 模型進行微調。
項目地址:?https://bair.berkeley.edu/blog/2023/04/03/koala/?
Koala 已經推出線上測試 demo:
- Demo 地址:https://chat.lmsys.org/?model=koala-13b
- 開源地址:https://github.com/young-geng/EasyLM
Koala 概述
與 Vicuna 類似,Koala 也使用從網絡收集的對話數據對 LLaMA 模型進行微調,其中重點關注與 ChatGPT 等閉源大模型對話的公開數據。
研究團隊表示,Koala 模型在 EasyLM 中使用 JAX/Flax 實現,并在配備 8 個 A100 GPU 的單個 Nvidia DGX 服務器上訓練 Koala 模型。完成 2 個 epoch 的訓練需要 6 個小時。在公共云計算平臺上,進行此類訓練的成本通常低于 100 美元。
研究團隊將 Koala 與 ChatGPT 和斯坦福大學的 Alpaca 進行了實驗比較,結果表明:具有 130 億參數的 Koala-13B 可以有效地響應各種用戶查詢,生成的響應通常優于 Alpaca,并且在超過一半的情況下與 ChatGPT 性能相當。
Koala 最重要的意義是它表明:在質量較高的數據集上進行訓練,那么小到可以在本地運行的模型也可以獲得類似大模型的優秀性能。這意味著開源社區應該更加努力地管理高質量數據集,因為這可能比簡單地增加現有系統的規模更能實現安全、真實和強大的模型。從這個角度看,Koala 是 ChatGPT 一種小而精的平替。
不過,Koala 還只是一個研究原型,在內容、安全性和可靠性方面仍然存在重大缺陷,也不應用于研究之外的任何用途。
數據集和訓練
構建對話模型的主要障礙是管理訓練數據。ChatGPT、Bard、Bing Chat 和 Claude 等大型對話模型都使用帶有大量人工注釋的專有數據集。為了構建 Koala 的訓練數據集,研究團隊從網絡和公共數據集中收集對話數據并整理,其中包含用戶公開分享的與大型語言模型(例如 ChatGPT)對話的數據。
不同于其他模型盡可能多地抓取網絡數據來最大化數據集,Koala 是專注于收集小型高質量數據集,包括公共數據集中的問答部分、人類反饋(正面和負面)以及與現有語言模型的對話。具體而言,Koala 的訓練數據集包括如下幾個部分:
ChatGPT 蒸餾數據:?
- 公開可用的與 ChatGPT 對話數據(ShareGPT);
- Human ChatGPT 比較語料庫 (HC3),其中同時使用來自 HC3 數據集的人類和 ChatGPT 響應。
開源數據:?
- Open Instruction Generalist (OIG);
- 斯坦福 Alpaca 模型使用的數據集;
- Anthropic HH;
- OpenAI WebGPT;
- OpenAI Summarization。
實驗與評估
該研究進行了一項人工評估,將 Koala-All 與 Koala-Distill、Alpaca 和 ChatGPT 幾個模型的生成結果進行比較,結果如下圖所示。其中,使用兩個不同的數據集進行測試,一個是斯坦福的 Alpaca 測試集,其中包括 180 個測試查詢(Alpaca Test Set),另一個是 Koala Test Set。
總的來說,Koala 模型足以展示 LLM 的許多功能,同時又足夠小,方便進行微調或在計算資源有限的情況下使用。研究團隊希望 Koala 模型成為未來大型語言模型學術研究的有用平臺,潛在的研究應用方向可能包括:
- 安全性和對齊:Koala 允許進一步研究語言模型的安全性并更好地與人類意圖保持一致。
- 模型偏差:Koala 使我們能夠更好地理解大型語言模型的偏差,深入研究對話數據集的質量問題,最終有助于改進大型語言模型的性能。
- 理解大型語言模型:由于 Koala 模型可以在相對便宜的消費級 GPU 上運行,并且執行多種任務,因此 Koala 使我們能夠更好地檢查和理解對話語言模型的內部結構,使語言模型更具可解釋性。