新智元報道
編輯:好困 Aeneas
國內首個類ChatGPT模型MOSS,開源了!
這次,復旦團隊的模型不僅更加成熟,而且還增加了「搜索引擎、計算器、解方程、文生圖」等插件功能,既可在線體驗,也支持本地部署
在FP16精度下單張A100/A800或兩張3090顯卡就能運行,而在INT4/8精度下只需一張3090即可。(但還沒放出)
目前,項目已在Github上收獲了2.2k星。
MOSS升級版正式開源,搭載全新插件系統
當然,這次除了模型正式開源外,還有一個新的升級「插件系統」。
還有一個比較有意思的功能就是,我們可以通過點擊MOSS回復消息框右下角的小燈泡,來查看MOSS的「內心想法」。
根據介紹,moss-moon系列模型具有160億參數,并且已經在1000億中文token上進行了訓練,總訓練token數量達到7000億,其中還包含約3000億代碼。
同時,在經過對話指令微調、插件增強學習和人類偏好訓練之后,MOSS目前已經具備了多輪對話能力及使用多種插件的能力。
此外,團隊還給MOSS增加了Inner Thoughts作為輸出,幫助模型決定調用什么API、傳入什么參數,以及幫助MOSS通過類似思維鏈的方式提升推理能力。
官方演示
調用搜索引擎
生成圖片
無害性
網友實測
除了這些官方演示外,知名答主「段小草」也在第一時間進行了評測。
「段小草」表示,插件能力的激發需要分成兩個步驟:
觸發正確的插件
通過調用給出更準確的回答
然而,在實際的測試中,有時會出現插件不能觸發,或者調用之后依然出錯的情況,比較玄學。
目前可選的插件有下面這些。
Calculator:計算功能
如果MOSS顯示了插件圖表和計算公式,就說明它調用了響應插件。
Equation solver:求解方程
以經典的雞兔同籠問題為例。開啟「方程」插件時,有時成功有時失敗。
在觸發插件時,MOSS可以作答正確,表現還是很優異的。
但有時也會回答錯誤,比如下面這個例子,MOSS就把列方程和求解都做錯了。
在未能觸發插件時,MOSS也把題算錯了。
Text-to-image:文生圖
到了文生圖部分,還是那道經典的考題:畫個「車水馬龍」。
MOSS畫得很漂亮,但好像不太對的樣子。
再來個「胸有成竹的男人」?
感覺MOSS有自己的想法,還不算錯。
Web search:聯網搜索
使用聯網插件時,第一次雖然不成功,但在重新嘗試之后, MOSS給出了正確的答案。
MOSS的迭代過程
根據團隊成員孫天詳的介紹,目前開源的版本稱為MOSS 003,而二月份公開邀測的版本為MOSS 002,一月份的內測版為OpenChat 001。
OpenChat 001
ChatGPT初問世時,大大沖擊了國內NLP從業者。當時還沒有開源平替LLaMA、Alpaca,而國內和ChatGPT顯然有一到兩年的差距。
復旦團隊的想法是,雖然沒有算力,但可以試著構造數據。
于是他們從OpenAI的論文附錄里,扒了一些API收集到的user prompt,然后用類似Self-Instruct的思路,用text-davinci-003擴展出大約40萬對話數據。然后在16B基座(CodeGen)上做了微調。
微調后的OpenChat 001,已經具備了指令遵循能力和多輪能力,訓練語料中雖然沒有中文,卻可以理解中文。
OpenChat 001的指令遵循能力
MOSS 002
在001的基礎上,團隊加入了約300億中文token,同時加入大量中英文helpfulness, honesty, harmlessness對話數據。完成一些推理加速、模型部署、前后端工作后,MOSS 002在2月21日開放內測。
此處,孫天勝特意針對「MOSS是蒸餾ChatGPT」、「基于LLaMA微調」等說法辟謠:截至MOSS 002訓練完成時,gpt-3.5-turbo、LLaMA、Alpaca均未出現。
MOSS 003
在開放內測后,復旦團隊發現,真實中文世界的用戶意圖和OpenAI InstructGPT論文中給出的user prompt分布有較大差異。
于是,便以這部分真實數據作為seed,重新生成了約110萬常規對話數據,涵蓋更細粒度的helpfulness數據和更廣泛的harmlessness數據。
此外,團隊還構造了約30萬插件增強的對話數據,包含搜索引擎、文生圖、計算器、方程求解等。以上數據將陸續完整開源。
值得注意的是,由于模型參數量較小和自回歸生成范式,MOSS仍然可能生成包含事實性錯誤的誤導性回復,或包含偏見/歧視的有害內容。
為此,團隊特地提醒到:「請謹慎鑒別和使用MOSS生成的內容,并且不要將MOSS生成的有害內容傳播至互聯網!
剛發布,就火了
「MOSS」當初掀起何等驚濤駭浪,大家都還記憶猶新。
2月份伊始,國內各大廠紛紛開始拼大模型,誰都沒想到,ChatGPT國內賽中首個拿出大模型的,竟然不是大廠,而是學界。
2月20日晚,復旦大學自然語言處理實驗室發布類ChatGPT模型MOSS的消息一竟公開,服務器立馬被擠爆。并且很快就登頂了知乎熱榜。
作為一個「類ChatGPT模型」,MOSS在開發上確實采用了和ChatGPT類似的步驟。其中包括兩個階段:自然語言模型的基座訓練和理解人類意圖的對話能力訓練。
不過,具體的區別還是很明顯的。
首先,MOSS的參數數量比ChatGPT少很多。ChatGPT的參數有1750億,而moss-moon系列模型的參數量是160億。
其次,ChatGPT訓練時,用的人類反饋強化學習(RLHF),而MOSS的訓練,靠的是與人類和其他AI模型交談。
還有一點,MOSS的開源會給開發者社區的研究做出貢獻,而對于OpenAI不open,咱們是耳熟能詳了。
開源清單
模型
目前,團隊已經上傳了三個模型到Hugging Face:
moss-moon-003-base:基座語言模型,具備較為豐富的中文知識。
moss-moon-003-sft:基座模型在約110萬多輪對話數據上微調得到,具有指令遵循能力、多輪對話能力、規避有害請求能力。
moss-moon-003-sft-plugin:基座模型在約110萬多輪對話數據和約30萬插件增強的多輪對話數據上微調得到,在moss-moon-003-sft基礎上還具備使用搜索引擎、文生圖、計算器、解方程等四種插件的能力。
下面三個模型,則會在近期進行開源:
moss-moon-003-pm: 在基于moss-moon-003-sft收集到的偏好反饋數據上訓練得到的偏好模型。
moss-moon-003: 在moss-moon-003-sft基礎上經過偏好模型moss-moon-003-pm訓練得到的最終模型,具備更好的事實性和安全性以及更穩定的回復質量。
moss-moon-003-plugin: 在moss-moon-003-sft-plugin基礎上經過偏好模型moss-moon-003-pm訓練得到的最終模型,具備更強的意圖理解能力和插件使用能力。
數據
moss-002-sft-data:MOSS-002所使用的多輪對話數據,覆蓋有用性、忠實性、無害性三個層面,包含由text-davinci-003生成的約57萬條英文對話和59萬條中文對話。
moss-003-sft-data:moss-moon-003-sft所使用的多輪對話數據,基于MOSS-002內測階段采集的約10萬用戶輸入數據和gpt-3.5-turbo構造而成,相比moss-002-sft-data,moss-003-sft-data更加符合真實用戶意圖分布,包含更細粒度的有用性類別標記、更廣泛的無害性數據和更長對話輪數,約含110萬條對話數據。目前僅開源少量示例數據,完整數據將在近期開源。
moss-003-sft-plugin-data:moss-moon-003-sft-plugin所使用的插件增強的多輪對話數據,包含支持搜索引擎、文生圖、計算器、解方程等四個插件在內的約30萬條多輪對話數據。目前僅開源少量示例數據,完整數據將在近期開源。
moss-003-pm-data:moss-moon-003-pm所使用的偏好數據,包含在約18萬額外對話上下文數據及使用moss-moon-003-sft所產生的回復數據上構造得到的偏好對比數據,將在近期開源。
協議
本項目所含代碼采用Apache 2.0協議,數據采用CC BY-NC 4.0協議,模型權重采用GNU AGPL 3.0協議。
本地部署
下載安裝
創建conda環境:
安裝依賴:
單卡部署(A100/A800)
以下是一個簡單的調用moss-moon-003-sft生成對話的示例代碼?稍趩螐圓100/A800或CPU運行,使用FP16精度時約占用30GB顯存:
多卡部署(兩張或以上3090)
此外,也可以通過以下代碼在兩張NVIDIA 3090顯卡上運行MOSS推理:
命令行Demo
運行倉庫中的moss_cli_demo.py,即可啟動一個簡單的命令行Demo:
此時,可以直接與MOSS進行多輪對話,輸入 clear 可以清空對話歷史,輸入 stop 終止Demo。
團隊介紹
孫天祥是復旦大學NLP實驗室的四年級博士生,指導老師是邱錫鵬教授和黃萱菁教授。他于2019年在西安電子科技大學獲得工程學士學位。
他的研究興趣在于機器學習和自然語言處理領域,特別是在預訓練的語言模型及其優化、推理和數據效率的方法。
在此之前,他曾于2020年在亞馬遜云科技上海人工智能進行研究實習。
邱錫鵬教授,博士生導師,復旦大學計算機科學技術學院。他于復旦大學獲得理學學士和博士學位,共發表CCF-A/B類論文70余篇。
他的研究方向是圍繞自然語言處理的機器學習模型構建、學習算法和下游任務應用,包括:自然語言表示學習、預訓練模型、信息抽娶中文NLP、開源NLP系統、可信NLP技術、對話系統等。
目前,由邱教授主持開發的開源自然語言處理工具FudanNLP、FastNLP,已經獲得了學術界和產業界的廣泛使用。
貢獻和致謝
CodeGen:基座模型在CodeGen初始化基礎上進行中文預訓練
Mosec:模型部署和流式回復支持
上海人工智能實驗室(Shanghai AI Lab):算力支持
參考資料:
https://github.com/OpenLMLab/MOSS