ChatGPT開源替代來了!參數量200億,在4300萬條指令上微調而成

OpenChatKit 是一個類 ChatGPT 開源工具包,內含一個 20B 參數量的大模型,而且該模型在 4300 萬條指令上進行了微調。
2023 年,聊天機器人領域似乎只剩下兩個陣營:「OpenAI 的 ChatGPT」和「其他」。
ChatGPT 功能強大,但 OpenAI 不太可能將其開源。「其他」陣營表現欠佳,但不少人都在做開源方面的努力,比如前段時間Meta 開源的 LLaMA。
除此之外,一個名為 EleutherAI 的開源 AI 研究團隊也一直在貢獻開源大模型成果。自 2020 年 7 月成立以來,該團隊先后開源了基于 GPT-3 的、包含 60 億參數的 NLP 模型 GPT-J,類 GPT 的27 億參數模型 GPT-Neo,以及 200 億參數的GPT-NeoX-20B。據悉,他們的最終目標是將開源模型的參數規模擴展到 1700 億左右,就像 GPT-3 一樣。
在 ChatGPT 火遍全球之際,EleutherAI 的這些開源成果派上了用場。一家名為 Together 的組織表示,他們基于 EleutherAI 開源的 GPT-Neo 和 GPT-J 構建了一個新的類 ChatGPT 開源項目 ——OpenChatKit。

項目鏈接:https://github.com/togethercomputer/OpenChatKit
這個項目提供了一個強大的、開源的基礎,可以為各種應用創建專門和通用的聊天機器人。具體來說,它包含:
一個參數量達 20B 的開源模型,該模型基于 EleutherAI 的 GPT-NeoX-20B,在 4300 萬條指令上進行了微調; 一個參數量達 60 億的審核模型(moderation model),可以幫模型過濾不當內容; 一個可擴展的檢索系統,可以幫模型檢索維基百科等資源庫,從而給出最新信息。
根據 Together 提供的鏈接,我們可以粗略看到 OpenChatKit 在摘要提取、問答、寫作等方面的表現。以下是 Together 提供的一些 demo:


想要深入了解 OpenChatKit 的讀者也可以親自測試。
測試鏈接:https://huggingface.co/spaces/togethercomputer/OpenChatKit
從目前的表現來看,OpenChatKit 可能還不太令人滿意。但在此開源項目的基礎上,社區有望構建出更加強大的聊天機器人應用。
參數量 20B 的指令調優大模型
GPT-NeoXT-Chat-Base-20B 是構成 OpenChatKit 基礎的大型語言模型。它基于 EleutherAI 的 GPT-NeoX 模型,并通過專注于對話互動的數據進行了微調。Together 在 Huggingface 上發布了這個模型的預訓練權重:https://huggingface.co/togethercomputer/GPT-NeoXT-Chat-Base-20B
Together 的開發者將模型調整的重點放在幾個任務上,如多輪對話、問答、分類、提取和總結。他們用 4300 萬條高品質指令對模型進行了微調,并與 LAION 和 Ontocord 合作,創建了該模型所基于的 OIG-43M 數據集。數據集信息參見:https://laion.ai/blog/oig-dataset/

OIG-43M 數據集示例。
開箱即用的 GPT-NeoXT-Chat-Base-20B 為一系列廣泛的自然語言任務提供了一個強大的基礎。從品質上看,它在 HELM 基準上的得分比其基礎模型 GPT-NeoX 高,特別是在涉及問答、提取和分類的任務上。

在 HELM 上評估 GPT-NeoXT-Chat-Base-20B 并與 GPT-NeoX 進行比較。†表示測試包含微調語料庫中的數據。
模型長處
OpenChatKit 有幾個任務是開箱即用的,包括:
1、將一份長的文件總結成一句話,并回答與該文件相關的問題,問答可進行多輪;
2、從非結構化文件中提取結構化信息,如下圖所示;
3、將一個句子或段落分為不同的類別(比如情緒是積極還是消極)。

利用 OpenChatKit 把一段長文字內容轉化成圖表。
模型短板
OpenChatKit 目前的短板包括:
基于知識的封閉式問答。該聊天機器人可能會給出不正確的結果,需要用戶提供反饋; 代碼相關任務。由于訓練數據中沒有足夠多的代碼,因此該聊天機器人在代碼方面表現欠佳; 重復性。該聊天機器人有時會重復自己的回答,用戶可以點擊刷新,開始新的對話; 上下文切換。該聊天機器人不太擅長轉換話題。 創意寫作和較長的答案。該聊天機器人不會生成長的、有創意的文本,如論文或故事。
針對特定任務定制聊天機器人
在一般問答任務中,大型語言模型已經顯示出令人印象深刻的能力。當為特定的應用進行微調時,它們往往能達到更高的準確率。例如,谷歌的 PaLM 在醫學回答上達到了大約 50% 的準確率,但是通過添加指令支持和對醫學特定信息的微調,谷歌創造了 Med-PaLM,其準確率達到了 92.6%。同樣的方法也可以用于其他任務。
OpenChatKit 提供了一些工具來為專門的應用微調聊天機器人。其開發團隊正在與研究小組和公司合作,幫助他們為各種任務創建自定義模型。這些任務包括:
教育助手:在開放的教科書數據集上進行微調,創建一個聊天機器人,通過自然對話幫助各年齡段的學生了解各種主題; 金融問答:微調并利用美國證券交易委員會文件等金融數據的檢索,實現金融領域的問答; 客戶支持代理:利用知識庫數據進行微調,創建聊天機器人,幫助終端用戶分辨問題并快速找到答案。
如何進行微調
微調需要的操作包括
準備好你的數據集,使用指定格式的交互示例; 將你的數據集保存為 jsonl 文件,并按照 OpenChatKit 的 GitHub 文檔對聊天模型進行微調; 不要忘記審核模型!在開始使用你的微調模型之前,請注意審核模型可能需要過濾的域外問題。如果有必要,準備一些調節數據并微調審核模型。
這個過程的文檔和源代碼可以在 OpenChatKit 的 GitHub 鏈接中找到。由于 OpenChatKit 在 Apache-2.0 許可下完全開源,你可以為自己的應用或研究深入調整、修改或檢查權重。
用于實時更新答案的可擴展檢索系統
OpenChatKit 還包括一個可擴展的檢索系統。有了這個檢索系統,聊天機器人能夠將定期更新的內容或自定義的內容,如來自維基百科的知識、新聞提要或體育比賽成績納入回答中。

檢索增強系統的工作流程示例。
審核模型在必要時進行干預
OpenChatKit 的最后一個組件是一個由 GPT-JT 微調的 60 億個參數的審核模型。在聊天應用中,審核模型與主聊天模型同步運行,檢查用戶話語中是否有任何不適當的內容。基于審核模型的評估,聊天機器人可以將輸入的內容限制在經過審核的主題上。當然,這個審核模型只是一個基線,用戶可以根據不同的需求進行調整和定制。
在推理過程中,開發者進行了 few-shot 分類,將用戶問題分為五類。聊天機器人只在問題落入允許的分類中時才會做出回應。


[圖擷取自網路,如有疑問請私訊]

本篇
不想錯過? 請追蹤FB專頁!    
前一頁 後一頁