2023.03.14 13:00

ChatGPT 替代品 OpenChatKit 來了!由前 OpenAI 團隊打造,在 GitHub上 開源發表

ADVERTISEMENT

 ChatGPT的開源替代品來了,原始碼、模型權重和訓練資料集全部公開。 

它叫OpenChatKit,由前OpenAI研究員共同打造。

效果大概是這樣: 

ADVERTISEMENT

可以用簡單的語言解釋機器學習的概念,也可以回答測試者提出的第二個小問題。

資訊提取也難不倒它,例如將一大段計畫用表格表示。

ADVERTISEMENT

據悉,OpenChatKit一共包含200億參數,在EleutherAI的GPT-NeoX-20B(GPT-3開源替代品)上進行了微調,還可以連接其它API或資料來源進行檢索等等。 

這不,GitHub剛剛上線,就已經獲得了2000多個星星。

ADVERTISEMENT

 

有網友感歎「事情進展得也太快了吧」,作者則回應:「綁好安全帶,享受『飆車』吧。」

 

ADVERTISEMENT

 

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資料集上訓練的。 

同樣,從Huggingface下載資料集,然後在repo的根目錄運行以下命令就行: 

python data/OIG/prepare.py。 

(你也可以貢獻新的資料來改善模型效果~) 

然後就可以預訓練基礎模型了。 

方法是在根目錄用以下命令下載GPT-NeoX-20B模型: 

python pretrained/GPT-NeoX-20B/prepare.py。

它的權重放在pretrained/GPT-NeoX-20B/EleutherAI_gpt-neox-20b目錄中。 

下載好之後,執行bash training/finetune_GPT-NeoXT-Chat-Base-20B.sh腳本,開始配置和訓練。 

訓練會啟動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在部落格中說的那樣: 

這個模型不是發表完就結束了,它是一個開源專案的開始。

那麼,如果你感興趣,連結在這裡:

資料來源:

ADVERTISEMENT