【筆記】在本地搭建一個(gè)ChatGPT/NewBing可行嗎?
讀前須知:
入門內(nèi)容,但是你需要自己安裝python, torch, jupyterlab,?transformers 等... 網(wǎng)上教程有很多。
是的,可以本地部署,可以聊天,但是目前公開的模型(這篇將使用ChatYuan-large-v1)很小很蠢,但也值得試試。

開始之前:
- ChatGPT 作為一個(gè)LLM(大型語(yǔ)言模型)是如何“記憶”聊天內(nèi)容以達(dá)到理解上下文的?

答案是,至少目前不行,約3000詞(4000 tokens)限制的當(dāng)前會(huì)話內(nèi)容看起來(lái)是一股腦輸入到模型中的。
- 超過3000詞呢?
不明確,可能之前的內(nèi)容會(huì)直接被忽略,也可能由模型自己概括。

準(zhǔn)備工作:
????我之前有嘗試過一些LLM如Bloom,但它們訓(xùn)練的主要目的就是接龍,可以以對(duì)話形式(如“A:xxxxx. B:”)輸入來(lái)要求模型接龍,然而模型本身并不知道什么時(shí)候停止,就會(huì)出現(xiàn)一些很尷尬的情況,如模型完成它應(yīng)有的輸出后又順路完成了用戶的輸入,甚至干脆一口氣生成幾輪會(huì)話等。
????加之一些模型對(duì)多語(yǔ)言環(huán)境并不友好,對(duì)中文支持能力很差,所以我們需要一個(gè)針對(duì)會(huì)話和中文內(nèi)容調(diào)整訓(xùn)練過的模型。 正好最近發(fā)現(xiàn) Hugging Face 上的 ClueAI/ChatYuan-large-v1 這個(gè)模型很有意思,所以決定試試看。

下載模型:
可以直接用模型下方提供的代碼,這樣子模型將會(huì)直接下載到你C盤用戶\用戶名\.cache(Windows 用戶)文件夾下:
也可以直接 git clone?https://huggingface.co/ClueAI/ChatYuan-large-v1 到你的目錄里,?然后加載:
復(fù)制一些官方在模型下面提供的函數(shù):

到這里已經(jīng)可以使用answer()函數(shù)實(shí)現(xiàn)接龍功能了:




實(shí)現(xiàn)一個(gè)很簡(jiǎn)單的聊天功能:
效果:






結(jié)論:
????作為一個(gè)2.91GB的模型,對(duì)于它的任務(wù)而言它的尺寸實(shí)際上稱不上Large,也不是很聰明的樣子,處于一個(gè)基本不可用的狀態(tài)。但是過程很有趣,本地部署起來(lái)很流暢,單次推理的時(shí)間也很短,可以回答一些很簡(jiǎn)單的問題,有一定的上下文理解能力,但極其有限。
????不知道如果模型的體積增加一倍,再繼續(xù)針對(duì)會(huì)話訓(xùn)練的話會(huì)是什么樣子...