彌補斯坦福70億參數(shù)「羊駝」短板,精通中文的大模型來了,已開源
距離 ChatGPT 的最初發(fā)布,過去差不多四個月的時間了。就在上星期 GPT-4 發(fā)布時,ChatGPT 第一時間上線了新版本。不過眾所周知的一個秘密是,不管是 ChatGPT 還是 GPT-4 都不大可能開源。加上巨大的算力投入以及海量的訓練數(shù)據(jù)等,都為研究界復制其實現(xiàn)過程設(shè)下重重關(guān)卡。
面對 ChatGPT 等大模型的來勢洶洶,開源平替是一個不錯的選擇。本月初,Meta「開源」了一個新的大模型系列 ——LLaMA(Large Language Model Meta AI),參數(shù)量從 70 億到 650 億不等。130 億參數(shù)的 LLaMA 模型「在大多數(shù)基準上」可以勝過參數(shù)量達 1750 億的 GPT-3,而且可以在單塊 V100 GPU 上運行。
時隔幾天,斯坦?;?LLaMA 7B 微調(diào)出一個具有 70 億參數(shù)的新模型 Alpaca,他們使用了 Self-Instruct 論文中介紹的技術(shù)生成了 52K 條指令數(shù)據(jù),同時進行了一些修改,在初步的人類評估中,Alpaca 7B 模型在 Self-Instruct 指令評估上的表現(xiàn)類似于 text-davinci-003(GPT-3.5)模型。
但遺憾的是,Alpaca 的種子任務都是英語,收集的數(shù)據(jù)也都是英文,因此訓練出來的模型未對中文優(yōu)化。為了提升對話模型在中文上的效果,有沒有更好的方法呢?別急,接下來介紹的這個項目就能很好的解決這個問題。
開源中文對話大模型70 億參數(shù)的 BELLE(Bloom-Enhanced Large Language model Engine)來了。它基于斯坦福的 Alpaca 完成,但進行了中文優(yōu)化,并對生成代碼進行了一些修改,不僅如此,模型調(diào)優(yōu)僅使用由 ChatGPT 生產(chǎn)的數(shù)據(jù)(不包含任何其他數(shù)據(jù))。
在數(shù)據(jù)方面,該項目開源了基于 Alpaca 的數(shù)據(jù)收集代碼,基于這段代碼生成了約 100 萬條中文數(shù)據(jù),結(jié)合 Alpaca 的 5 萬條英文數(shù)據(jù),在 BLOOMZ-7B 模型訓練得到的 checkpoint 上傳在 Hugging Face。
Hugging Face 地址:https://huggingface.co/BelleGroup
項目作者表示:該項目旨在促進中文對話大模型開源社區(qū)的發(fā)展。
項目地址:https://github.com/LianjiaTech/BELLE
項目介紹
該項目主要包含以下四部分內(nèi)容:
- 175 個中文種子任務
- 生成數(shù)據(jù)的代碼
- 0.5M 生成的數(shù)據(jù)
- 基于 BLOOMZ-7B1-mt 優(yōu)化后的模型
數(shù)據(jù)發(fā)布
1. zh_seed_tasks.jsonl:包含 175 個種子任務,樣例如下
{"id": "seed_task_20", "name": "horror_movie_opening", "instruction": "你需要為一部恐怖電影寫一個創(chuàng)意的開場場景。", "instances": [{"input": "","output":" 太陽已經(jīng)落山,留下了一個黑暗的小鎮(zhèn)。微風吹拂空蕩的街道,讓每一個冒險走出門外的人感到一陣寒意。唯一的聲音是被風吹動的樹葉發(fā)出的輕微沙沙聲。突然,一聲令人毛骨悚然的尖叫聲劃破了寂靜,隨后是玻璃破碎的聲音。一所房子亮起了燈光,可以看到一個人影朝鎮(zhèn)中心奔跑。當> 那個人影越來越靠近時,清楚地看到那是一個年輕女子,她渾身血跡斑斑。"}],"is_classification": false}
2. prompt_cn.txt: 生成所使用的提示語
3. 0.5M 生成的數(shù)據(jù)
數(shù)據(jù)生成
沿用 Alpaca 的方式:
默認使用 Completion API,模型 text-davinci-003。如果想使用 Chat API 并使用 gpt-3.5-turbo 模型,可通過參數(shù)控制:
輸出文件在 Belle.train.json,可以人工篩選后再使用。
模型調(diào)優(yōu)
該項目基于 BLOOMZ-7B1-mt 模型和 Belle.train.json 訓練模型,具體參數(shù)如下:
此外,該項目還采取了不同大小規(guī)模(20 萬、60 萬、100 萬和 200 萬樣本)的指令學習的數(shù)據(jù)集訓練模型,得到不同的模型版本如下所示:
模型使用例子
局限性和使用限制
基于當前數(shù)據(jù)和基礎(chǔ)模型訓練得到的 SFT 模型,在效果上仍存在以下問題:
- 在涉及事實性的指令上可能會產(chǎn)生違背事實的錯誤回答。
- 對于具備危害性的指令無法很好的鑒別,由此會產(chǎn)生危害性言論。
- 在一些涉及推理、代碼等場景下模型的能力仍有待提高。
- 基于以上模型局限性,該項目要求開發(fā)者僅將開源的代碼、數(shù)據(jù)、模型及后續(xù)用此項目生成的衍生物用于研究目的,不得用于商業(yè),以及其他會對社會帶來危害的用途。