ChatGPT 的開源平替來了,源代碼、模型權重和訓練數據集全部公開。
它叫OpenChatKit,由前 OpenAI 研究員共同打造。
效果是這樣兒的:
可以用簡單的語言解釋機器學習的概念,也可以回答測試者提出的第二個小問題。
信息提取也難不倒它,比如将一大段計劃用表格表示。
據悉,OpenChatKit 一共包含 200 億參數,在 EleutherAI 的 GPT-NeoX-20B(GPT-3 開源替代品)上進行了微調,還可以連接其它 API 或數據源進行檢索等等。
這不,GitHub 剛剛上線,就已經獲得了 800+ 标星。
有網友感歎 " 事情進展得也太快了吧 ",作者則回應:
安全帶系緊,享受 " 飙車 " 吧。
來看看它具體怎麽玩?
OpenChatKit,你的平替 ChatGPT
據介紹,OpenChatKit 一共包含 4 個基本組件:
1、一個指令調優的大型語言模型。
用 EleutherAI 的 GPT-NoX-20B 對聊天功能進行了微調,後者在 carbon-negative 計算上具有 4300 萬條指令。
調整重點是多輪對話、問答、分類、提取和摘要等幾個任務。
2、定制配方(recipe)。
用來幫助微調模型使其能夠爲特定任務提供高精度的結果,隻需要準備自己的數據集。
3、一個可擴展的檢索系統。
可以讓你在推理時從文檔存儲庫、API 或其他實時更新信息源添加信息。
4、一個由 GPT-JT-6B 微調而成的調節模型(moderation model)。可以過濾模型對一些問題的響應。
這樣的 OpenChatKit 可以爲各種應用程序創建專用和通用的聊天機器人。
在 GitHub 上的倉庫,你可以找到它的訓練代碼、測試推理代碼以及通過檢索增強模型的代碼。
具體如何使用?
首先,在開始之前,安好 PyTorch 和其他依賴項。
先從作者團隊的網站(Together)安裝 Miniconda,然後用此 repo 根目錄下的 environment.yml 文件創建一個名爲 OpenChatKit 的環境。
由于 repo 使用 Git LFS 來管理文件,所以還需要按照他們網站上的說明進行安裝,然後運行 git lfs install。
接着,關于預訓練權重。
GPT-NeoXT-Chat-Base-20B 是 GPT NeoX 的 200 億參數變體,它在會話數據集上進行了微調。
作者在 Huggingface 上的 GPT-Next-Chat-Base-20B 發布了預訓練權重。
數據集方面,OpenChatKit 模型是在 LAION、Together 和 Ontocord.ai 共同構建的 OIG 數據集上訓練的。
python data/OIG/prepare.py。
(你也可以貢獻新的數據來改善模型效果~)
然後就可以預訓練基礎模型了。
python pretrained/GPT-NeoX-20B/prepare.py。
它的權重放在 pretrained/GPT-NeoX-20B/EleutherAI_gpt-neox-20b 目錄中。
訓練會啓動 8 個進程,管道并行度爲 8,數據并行度爲 1。Checkpoints 則将保存到 repo 根目錄的 model_ckpts 目錄中。
在推理之前,請務必将模型轉換爲 Hugginface 格式。
爲了幫助你測試模型,作者也在這裏提供了一個簡單的測試命令行工具來進行交互,執行命令:
python inference/bot.py。
默認情況下,腳本會在目錄下加載名爲 GPT-NeoXT-Chat-Base-20B model 的模型,但我們可以通過— model 進行改變。
都弄好之後,在提示符處輸入文本,模型就會回複了。
最後,作者還提供了一個用維基百科進行擴展搜索的例子,操作也比較簡單,感興趣的同學可以自行查看。
關于作者
OpenChatKit 的歸屬單位叫 Together。
這是一家去年 7 月才成立的創業公司,專門爲 AI 行業做去中心化的雲服務。
CEO 是 Vipul Ved Prakash,他曾在蘋果做了 5 年高級總監。
CTO 是 Zhang Ce,蘇黎世聯邦理工學院計算機專業的助理教授。
據推特博主 Itamar Golan 稱,OpenChatKit 的作者包含多位前 OpenAI 研究員。
總的來說,OpenChatKit 開箱即用,擅長多項任務,包括帶有上下文的總結和問題回答、信息提取、文本分類等。
但它還不太擅長創意寫作(尤其是編長故事)、寫代碼,以及有時可能會重複響應你的請求、在切換話題時表現遲鈍……
不過,正如 Together 在博客中說的那樣:
這個模型不是發布完就完了,它是一個開源項目的開始。
或許我們可以持續關注一波~
那麽,如果你感興趣,傳送門在這裏:
https://github.com/togethercomputer/OpenChatKit
https://huggingface.co/spaces/togethercomputer/OpenChatKit
參考鏈接:
[ 1 ] https://twitter.com/ItakGol/status/1634590622286741504
[ 2 ] https://www.together.xyz/blog/openchatkit