環球快看點丨每一個人的大模型:開源BELLE項目集訓練、數據、模型、評估、APP一體
最近一段時間,以 “羊駝” 家族為代表的各類 ChatGPT 替代模型不斷涌現。一方面,開源社區也有了可以與 ChatGPT “一較高下” 的開源模型;而另一方面,各模型在如何提升 LLM 的指令表現方面以及評估 LLM 效果的方法不盡相同。
此前,一個基于斯坦福的 Alpaca 、并進行了中文優化的項目受到大家關注,即開源中文對話大模型 70 億參數的??BELLE??(BeEveryone"sLargeLanguage modelEngine)。它基于斯坦福的 Alpaca 完成,但進行了中文優化,并對生成代碼進行了一些修改,不僅如此,模型調優僅使用由 ChatGPT 生產的數據(不包含任何其他數據)。
(資料圖片)
BELLE 的目標是促進中文對話大模型開源社區的發展,愿景是成為能夠幫到每一個人的 LLM Engine。
相比如何做好大語言模型的預訓練,BELLE 更關注如何在開源預訓練大語言模型的基礎上,幫助每一個人都能夠得到一個屬于自己的、效果盡可能好的具有指令表現能力的語言模型,降低大語言模型、特別是中文大語言模型的研究和應用門檻。為此,BELLE 項目會持續開放指令訓練數據、相關模型、訓練代碼、應用場景等,也會持續評估不同訓練數據、訓練算法等對模型表現的影響。
BELLE 項目亮點包括:
研究報告:從指令微調策略到模型評估范式等多方面探究提升大語言模型指令表現能力的因素數據開放:豐富、大量且持續完善的訓練和評估數據開箱即用的多種模型和指令微調 / LoRA / 量化代碼多終端 LLM 推理和聊天 app,無需聯網,離線運行還有其他功能,請移步Github項目。
項目地址:https://github.com/LianjiaTech/BELLE
BELLE 項目的研究方向著眼于提升中文指令調優模型的指令跟隨、指令泛化效果,降低模型訓練和研究工作的門檻,讓更多人都能感受到大語言模型帶來的幫助。
為此 BELLE 進行了一系列研究,涵蓋模型評估方法、影響模型指令表現效果的因素、模型調優等多方面。
最近,兩篇相關論文已經公開,下面我們看看論文內容。
論文介紹論文 1:Towards Better Instruction Following Language Models for Chinese: Investigating the Impact of Training Data and Evaluation
論文地址:https://arxiv.org/pdf/2304.07854.pdf
為了推動開源大語言模型的發展,大家投入了大量精力開發能夠類似于 ChatGPT 的低成本模型。首先,為了提高模型在中文領域的性能和訓練 / 推理效率,我們進一步擴展了 LLaMA 的詞匯表,并在 34 億個中文詞匯上進行了二次預訓練。
此外,目前可以看到基于 ChatGPT 產生的指令訓練數據方式有:1)參考 Alpaca 基于 GPT3.5 得到的 self-instruct 數據;2)參考 Alpaca 基于 GPT4 得到的 self-instruct 數據;3)用戶使用 ChatGPT 分享的數據 ShareGPT。在這里,我們著眼于探究訓練數據類別對模型性能的影響。具體而言,我們考察了訓練數據的數量、質量和語言分布等因素,以及我們自己采集的中文多輪對話數據,以及一些公開可訪問的高質量指導數據集。
為了更好的評估效果,我們使用了一個包含一千個樣本和九個真實場景的評估集來測試各種模型,同時通過量化分析來提供有價值的見解,以便更好地促進開源聊天模型的發展。
這項研究的目標是填補開源聊天模型綜合評估的空白,以便為這一領域的持續進步提供有力支持。
實驗結果如下:
其中BELLE-0.5M-CLEAN 是從 230 萬指令數據中清洗得到 0.5M 數據,其中包含單輪和多輪對話數據,和之前開放的 0.5M 數據不是同一批數據。
需要強調指出的是,通過案例分析,我們發現我們的評估集在全面性方面存在局限性,這導致了模型分數的改善與實際用戶體驗之間的不一致。構建一個高質量的評估集是一個巨大的挑戰,因為它需要在保持平衡難易程度的同時包含盡可能多樣的使用場景。如果評估樣本過于困難,那么所有模型的表現將會很差,更難辨別各種訓練數據和策略的效果;相反,如果評估樣本都相對容易,評估將失去其比較價值。同樣地,評估集多樣性不夠的時候,容易出現評估有偏(例如當某個模型的訓練和評估領域或任務類型十分一致)。二者的聯合分布還可能導致部分任務上難易區分度高,部分任務上難易區分度低,進一步加大評估的難度和有效性。此外,必須確保評估數據與訓練數據保持獨立。
圖 1 評估集的難易度與多樣性分布示意圖
基于這些觀察,我們謹慎地提醒不要假設模型僅通過在有限數量的測試樣本上獲得良好結果就已經達到了與 ChatGPT 相當的性能水平。我們認為,優先發展全面評估集的持續發展具有重要意義。
這篇工作中的相關數據和模型將會于近日在 BELLE 項目中開源。
論文 2:A Comparative Study between Full-Parameter and LoRA-based Fine-Tuning on Chinese Instruction Data for Instruction Following Large Language Model
論文地址:https://arxiv.org/pdf/2304.08109.pdf
為了實現對大語言模型的指令調優,受限于資源和成本,許多研究者開始使用參數高效的調優技術,例如 LoRA,來進行指令調優,這也取得了一些令人鼓舞的成果。相較于全參數微調,基于 LoRA 的調優在訓練成本方面展現出明顯的優勢。在這個研究報告中,我們選用 LLaMA 作為基礎模型,對全參數微調和基于 LoRA 的調優方法進行了實驗性的比較。
實驗結果揭示,選擇合適的基礎模型、訓練數據集的規模、可學習參數的數量以及模型訓練成本均為重要因素。
我們希望本文的實驗結論能對大型語言模型的訓練提供有益的啟示,特別是在中文領域,協助研究者在訓練成本與模型性能之間找到更佳的權衡策略。
實驗結果如下:
其中的 Average Score 是基于本項目集目前開放的 1000 條評估集合得到的(見下文評估數據部分)。LLaMA-13B + LoRA (2M) 代表使用 LLaMA-13B 作為基礎模型和 LoRA 訓練方法,在 2M 指令數據上進行訓練的模型;而 LLaMA-7B + FT (2M) 代表了一個使用全參數微調進行訓練的模型。所有這些實驗都是在 8 塊 NVIDIA A100-40GB GPU 上進行的,實驗細節請參考我們的論文。
根據評估,我們的模型在數學任務上表現不佳,得分大多低于 0.5。為了驗證 LoRA 在特定任務上的適應能力,我們使用增量 0.25M 數學數據集(math_0.25M)來提升模型的數學能力,并與增量微調方法作為對比。從實驗結果可以看出,增量微調仍然表現更好,但需要更長的訓練時間。LoRA 和增量微調都提高了模型的整體性能。從論文附錄中的詳細數據可以看出,LoRA 和增量微調都在數學任務中顯示出顯著的改進,而只會導致其他任務的輕微性能下降。
總體而言:1) 選擇基礎模型對于 LoRA 調整的有效性具有顯著影響;2)增加訓練數據量可以持續提高 LoRA 模型的有效性;3)LoRA 調整受益于模型參數的數量。對于 LoRA 方案的使用,我們建議可以在已經完成了指令學習的模型的基礎上針對特定任務做 loRA 的自適應訓練。
同樣地,該論文中的相關模型也會盡快開放在 BELLE 項目中。
持續完善的訓練和評估數據目前 BELLE 已經開放的數據分為兩部分:最近開放的 10M 中文數據集與早前開放的 1.5M 中文數據集。
10M 中文數據集
包含數個由 BELLE 項目產生的不同指令類型、不同領域的子集。目前正在逐步整理中,將會逐漸發布。
School Math:包含約 25 萬條生成的中文數學題數據,包含解題過程Multiturn Chat:包含約 80 萬條生成的用戶與助手的多輪對話Generated Chat:包含約 40 萬條生成的給定角色的多輪對話train_2M_CN:包含約 200 萬條生成的多樣化指令任務數據評估數據
如上文所述,評估數據的質量對評估 LLM 的效果十分關鍵。BELLE 項目開放的中文評估集包含由 BELLE 項目產生的約 1000 條不同指令類型、不同領域的評估樣例,并試圖兼顧評估集的多樣性與難易度。評估集的數據分布見圖 2。
多樣性方面,評估集涵蓋 extract、open qa、closed qa、rewrite、generation、summerization、classification、brainstorming、others 9 種任務類型,并涵蓋市場銷售、健康飲食、語言文學、旅行、多種編程語言、環保、音樂、歷史、廚藝、影視、體育賽事、醫學、金融、科技等多個主題。任務類型分布見圖 2 (a)。
難易度方面,評估集目前盡可能加入了一些難度偏高的樣本,并且平衡評估集與標注回復的平均指令長度分布。
多終端模型推理和聊天應用 ChatBELLE開源社區中已經誕生了如 llama.cpp、GPT4ALL、WebLLM 等 LLM 離線部署加速方案。雖然這些項目已經將動輒幾十 GB 的顯存需求和專業 GPU 的算力需求降低至一般的消費電子設備也可運行,但大多仍然需要一些技能才可部署及體驗。
BELLE 希望進一步拓展大語言模型的使用場景,讓更多用戶即使沒有專業設備也能感受到 LLM 帶來的幫助。提供了純離線、跨平臺的 BELLE 聊天應用:結合 4bit 量化后的 ChatBELLE 模型、llama.cpp 和 Flutter 跨平臺 UI,用戶僅需安裝 app、下載模型,即可在各類移動設備上不需聯網本地體驗 ChatBELLE 模型。
首先來看看效果:
macOS
在 M1 Max Macbook 上僅使用 CPU 實時運行,無論是加載還是推理都十分迅速:
相信隨著 LLM 端上推理相關算法和軟硬件技術的逐步發展,純離線端上模型的效果將越來越好。BELLE 項目將持續優化 ChatBELLE 模型的性能和 App 功能,努力為更多用戶帶來更優質更豐富的體驗。
小結近兩個月,LLM 開源社區在基礎模型研究、模型指令微調、模型應用場景等多方面的進展稱得上日新月異、百花齊放。BELLE 項目組對這些進展感到欣喜之余,也希望貢獻自己微薄之力,促進開源 LLM,特別是中文開源 LLM 的發展。
雖然在大家不懈努力下開源模型在效果方面已經取得了長足進步,甚至一些模型在個別方面已經與 ChatGPT 甚至 GPT-4 效果比肩,我們仍然需要直面與 OpenAI 的差距。目前,ChatGPT 的能力之多樣、指令跟隨和泛化能力之強、安全性之高,仍然需要開源社區腳踏實地地不斷提升來追趕。在全社區的共同努力下,希望大語言模型將真正屬于每一個人,能夠幫助到每一個人。
標簽: