6個中文開源語言模型的對話體驗
????????體驗了一些中文開源的語言模型,功能上可以算做類ChatGPT的模型吧(雖然模型結構完全不一樣),效果上肯定不能和ChatGPT比,但基本的對話功能已經有了雛形,有一定的理解能力和回答能力。并且因為是開源模型,可以在這個基礎上收集語料繼續(xù)訓練,有可拓展的空間。
????????這些模型不一定是完全用來對話的,還有生成、判別之類的其他功能,這里只是進行了本地部署,并初步測試了它們的對話功能。

ChatRWKV
代碼地址:https://github.com/BlinkDL/ChatRWKV
模型地址:https://huggingface.co/BlinkDL
在【Models】里面選擇一個模型,然后在【FIles?and versions】里面選擇一個版本進行下載

ChatRWKV模型下載
模型結構:近些年隨著?Transformer 的火爆后,RNN 明顯逐漸沒落了,然而?RWKV 反其道行之,選擇使用了純 RNN 結構,通過對架構的修改,同時擁有了 RNN 和 Transformer 兩者的優(yōu)點。
參數(shù)數(shù)量:目前有1.5B、3B、7B、14B四種,參數(shù)數(shù)量越多效果越好。14B大約要28G顯存,我顯存只有24G,所以我這里用的模型是RWKV-4-Pile-7B-Instruct-test2-20230209,大約要15G顯存。
訓練數(shù)據(jù):331B個token的語料上訓練。
測試方法:下載代碼和模型,模型和代碼在同一個目錄下,如圖修改chat.py的參數(shù),執(zhí)行chat.py即可

對話體驗:模型在回答的時候是有理解到問題的,也是有回答到一些點的,但回答的內容更像是在根據(jù)我的話生成內容,而不是在和我對話,可能這個模型本身就是基于生成文本來訓練的??梢栽陂_頭加上+gen、+qa、+qq之類的指令,來控制對話的內容是生成模式還是獨立對話等。


EVA2
代碼地址:https://github.com/thu-coai/EVA
模型地址:https://huggingface.co/thu-coai/EVA2.0-xlarge
另外還有base和large兩個版本,這里用的是最大的xlarge版本

EVA2模型下載
參數(shù)數(shù)量:xlarge 2.8B
論文地址:https://arxiv.org/abs/2203.09313
訓練數(shù)據(jù):經過清洗的Wudao對話語料庫
測試方法:下載代碼,然后下載模型到model目錄即可

對話體驗:可以進行日常的閑聊,回答比較隨心所欲。


gpt2-dialogbot-base-chinese
代碼地址:https://github.com/shibing624/dialogbot?
模型地址:https://huggingface.co/shibing624/gpt2-dialogbot-base-chinese
模型結構:基于GPT2
訓練數(shù)據(jù):來自一些論壇、電視劇的對話語料
測試方法:下載代碼,然后下載模型到model目錄即可

對話體驗:能夠進行一些簡單的閑聊對話,有點在網上和人瞎扯的感覺。


chat-DialoGPT-small-zh
模型地址:https://huggingface.co/liam168/chat-DialoGPT-small-zh
模型結構:比較老的一個基于GPT2的對話模型,目前已被GODEL替代,但可惜沒有找到GODEL的開源中文模型。
論文地址:https://arxiv.org/abs/1911.00536
訓練數(shù)據(jù):中文聊天數(shù)據(jù)
測試方法:下載模型到model目錄即可,模型地址中有測試的代碼

對話體驗:比較抽象。這里他有提示padding的問題,不過加上這兩個參數(shù):padding=True和padding_side='left',似乎也沒有什么改變。


PromptCLUE
代碼地址:https://github.com/clue-ai/PromptCLUE
模型地址:https://huggingface.co/ClueAI/PromptCLUE-base-v1-5
在線測試:https://www.cluebenchmarks.com/clueai.html
模型結構:基于t5-large
參數(shù)數(shù)量:base 220M,large 770M
訓練數(shù)據(jù):萬億級別token
測試方法:我這里直接用modelscope框架。也可以下載原始代碼和模型,然后用示例代碼進行測試

對話體驗:這是一個多任務預訓練零樣本的語言模型,可以支持情感分析、閱讀理解?、提取、生成、翻譯等幾十種任務,但是在對話方面好像并不擅長,所以這里只是簡單測試一下問答的情況。開源的是base版本,比網頁上的large版本效果也會差一些。


ChatYuan
代碼地址:https://github.com/clue-ai/ChatYuan
模型地址:https://huggingface.co/ClueAI/ChatYuan-large-v1
在線測試:模型的介紹頁面的【Colab在線試用】
模型結構:基于PromptCLUE-large進一步訓練
訓練數(shù)據(jù):數(shù)億條功能對話多輪對話數(shù)據(jù)
測試方法:這里同樣使用modelscope框架,也可以用原始代碼和模型測試

對話體驗:這個模型是基于PromptCLUE-large用對話數(shù)據(jù)訓練的,雖然PromptCLUE可能對話效果并不是很好,但ChatYuan在對話領域已經有了很大的提升。簡單的短對話都能夠有效的進行,并且有對上下文的理解。 不過對話很長時,還是會有些問題。


????????總體上,這些模型的規(guī)??赡苤挥蠧hatGPT的千分之一,能達到這樣有一定理解能力的效果已經不錯了,說明整體的方向沒有走偏。
????????后續(xù)可以嘗試的,可以選一個模型作為基礎模型,然后在一個特定領域的對話語料集上進行微調,如果能在這個領域有不錯的效果,那么就能有進一步的應用空間。
? ? ? ? 當然這些模型結構和ChatGPT并不一樣,如果要訓練結構一樣的小型ChatGPT,可以參考OpenAssistant,也是一個可嘗試方向(就是成本可能有點高)。
????????另外,隨著這兩天的LLaMA模型被公開,應該很快就會有各種各樣自研的大型語言模型出來了。