1.背景
大家好啊痒钝,我是小卷秉颗。
最近GPT不僅發(fā)布了GPT-4,而且解除封印可以聯(lián)網(wǎng)了送矩。不得不贊嘆AI更新迭代的速度真快蚕甥,都跟不上節(jié)奏了。但是大家也注意到了吧栋荸,隨著GPT的每次更新菇怀,OpenAI對(duì)其開放使用的限制也越來越大。之前國內(nèi)網(wǎng)隨便訪問GPT3晌块,現(xiàn)在動(dòng)不動(dòng)就封號(hào)
所以爱沟,今天就來教大家部署國內(nèi)清華大學(xué)開源的ChatGLM-6B。簡單介紹下匆背,ChatGLM是對(duì)話語言模型呼伸,對(duì)中文問答和對(duì)話進(jìn)行了優(yōu)化。當(dāng)前訓(xùn)練模型有62億參數(shù)靠汁,后續(xù)還會(huì)推出1300億參數(shù)的大模型蜂大,期待國內(nèi)的ChatGLM能越做越強(qiáng)大。
ChatGLM的開源地址:THUDM/ChatGLM-6B
廢話不多說了蝶怔,直接上效果奶浦,以下是由ChatGLM中文對(duì)話的結(jié)果
(PS:文末給大家準(zhǔn)備了ChatGLM的免費(fèi)體驗(yàn)地址 和 算力平臺(tái)免費(fèi)體驗(yàn)方式,一定看到文章結(jié)尾哦)
3.服務(wù)器配置
這一步購買服務(wù)器并安裝環(huán)境踢星,比較簡單
3.1注冊(cè)使用
打開攬睿星舟官網(wǎng)注冊(cè)地址:https://www.lanrui-ai.com/register?invitation_code=4104澳叉,
咱們就可以免費(fèi)體驗(yàn)服務(wù)器了。右上角也可以給自己賬戶充值
3.2購買服務(wù)器并安裝鏡像
在網(wǎng)站的算力市場
購買需要的服務(wù)器配置沐悦,這里我選的是3090-24G
這款成洗,點(diǎn)擊使用
按鈕進(jìn)入鏡像安裝界面
運(yùn)行環(huán)境鏡像選公共鏡像
-> pytorch
直接用最新的就行,然后高級(jí)設(shè)置里選擇預(yù)訓(xùn)練模型chatglm-6b
(這樣會(huì)預(yù)先加載chatGLM的模型到服務(wù)器藏否,無需再手動(dòng)下載)然后創(chuàng)建實(shí)例(確保自己賬號(hào)里有足夠的余額)
等待5分鐘左右瓶殃,工作空間就創(chuàng)建好了,點(diǎn)擊進(jìn)入
-> JupyterLab
進(jìn)入服務(wù)器副签,接下來就準(zhǔn)備ChatGLM的安裝就行了
4.部署ChatGLM
4.1Git加速配置
為了避免git clone太慢遥椿,提前在命令行設(shè)置git學(xué)術(shù)資源加速
# 執(zhí)行下面2條命令,設(shè)置git學(xué)術(shù)資源加速
git config --global http.proxy socks5h://172.16.16.39:8443
git config --global https.proxy socks5h://172.16.16.39:8443
后面的步驟中再執(zhí)行git clone
命令就不會(huì)卡住了淆储。
要取消git學(xué)術(shù)加速也簡單冠场,執(zhí)行下面的命令(所有步驟執(zhí)行完后再取消哦~)
# 取消git學(xué)術(shù)資源加速
git config --global --unset https.proxy
git config --global --unset http.proxy
4.2下載ChatGLM源代碼
進(jìn)入Jupyter的頁面后,可以看到2個(gè)目錄本砰,對(duì)目錄做下說明:
- data目錄碴裙,存放數(shù)據(jù),平臺(tái)共享的
- imported_models目錄,存放預(yù)訓(xùn)練模型舔株,即創(chuàng)建工作空間時(shí)你選擇的模型
點(diǎn)擊data
目錄下莺琳,可以看到ChatGLM-6B
文件夾,里面是ChatGLM的源代碼督笆。
如果沒有ChatGLM-6B
目錄芦昔,那么我們這一步需要下載代碼,操作如下:
頁面打開一個(gè)Terminal終端娃肿,在Terminal終端執(zhí)行命令
git clone https://github.com/THUDM/ChatGLM-6B.git
4.3 安裝依賴
1.執(zhí)行命令切換到ChatGLM-6B
的目錄
cd ChatGLM-6B
2.接著修改requirements.txt
文件咕缎,把后續(xù)所有需要的依賴都加上,下面的配置加在文件末尾即可料扰,如果文件里已加上這3個(gè)依賴凭豪,無需再修改。
chardet
streamlit
streamlit-chat
3.加完之后save保存下文件晒杈,如圖
4.接著命令行執(zhí)行下面命令安裝依賴
# 使用默認(rèn)鏡像源下載會(huì)超時(shí)嫂伞,這里用了清華的pip鏡像源地址
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
這一步可能會(huì)執(zhí)行報(bào)錯(cuò)
ERROR: Could not install packages due to an OSError: Missing dependencies for SOCKS support.
解決方法:切換到root用戶后再執(zhí)行命令
# 切換root用戶
sudo su
# 重新執(zhí)行
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
4.4 啟動(dòng)腳本修改
- 因?yàn)槟P褪菃为?dú)文件夾存儲(chǔ)的,所以需要修改啟動(dòng)腳本中讀模型文件的代碼
- 為了能從公網(wǎng)訪問我們的ChatGLM拯钻,需要修改監(jiān)聽地址為
0.0.0.0
帖努,端口為27777
,這個(gè)是攬睿星舟平臺(tái)的調(diào)試地址
修改步驟:
1.修改web_demo2.py
文件中的模型路徑粪般,替換為模型的絕對(duì)路徑拼余,修改方法如下:
修改前的代碼
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
修改后的代碼
tokenizer = AutoTokenizer.from_pretrained("/home/user/imported_models/chatglm-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("/home/user/imported_models/chatglm-6b", trust_remote_code=True).half().cuda()
修改完后ctrl + s
保存一下
4.5啟動(dòng)ChatGLM
在ChatGLM-6B
目錄下,命令行執(zhí)行
python3 -m streamlit run ./web_demo2.py --server.port 27777 --server.address 0.0.0.0
啟動(dòng)ChatGLM的webui界面
看到http://0.0.0.0:27777
字樣說明成功啟動(dòng)了
5.使用
我們需要從瀏覽器訪問剛部署的服務(wù)亩歹,回到攬睿星舟平臺(tái)
在工作空間頁面上點(diǎn)擊自定義服務(wù)
拷貝調(diào)試鏈接匙监,然后把拷貝的鏈接在瀏覽器上打開
然后你就可以在這個(gè)頁面開始對(duì)話了
注意第一次對(duì)話時(shí),程序會(huì)加載模型文件小作,耗時(shí)會(huì)比較長亭姥,可以從剛才啟動(dòng)的命令行查看加載進(jìn)度。
等第一次加載完成后顾稀,后面再對(duì)話达罗,響應(yīng)就很快了
6.對(duì)話效果
到這一步,所有安裝部署過程就成功完成了静秆,我們來看看效果吧氮块,拷貝的鏈接在手機(jī)端也能打開,下面是手機(jī)端的效果
7.關(guān)閉服務(wù)以及重啟服務(wù)
- 因?yàn)槲覀兊姆?wù)按使用量收費(fèi)的诡宗,所以不用時(shí)在頁面上點(diǎn)擊
停止運(yùn)行
即可
- 然后想重新運(yùn)行服務(wù)的時(shí)候,點(diǎn)工作空間頁面上的
啟動(dòng)
按鈕击儡。工作空間重新創(chuàng)建后塔沃,進(jìn)入Jupyter
,通過命令行再次啟動(dòng)
# 進(jìn)入ChatGLM-6B目錄
cd data/ChatGLM-6B/
# 沒掛系統(tǒng)盤時(shí),要重新安裝依賴
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
# 啟動(dòng)服務(wù)
python3 -m streamlit run ./web_demo2.py --server.port 27777 --server.address 0.0.0.0
8.免費(fèi)體驗(yàn)ChatGLM
小卷給大家準(zhǔn)備了2個(gè)免費(fèi)體驗(yàn)的方式:
(1)通過下面鏈接注冊(cè)平臺(tái)賬號(hào)蛀柴,然后可自行部署體驗(yàn)螃概。
https://www.lanrui-ai.com/register?invitation_code=4104
(2)小卷給大家準(zhǔn)備了自己的ChatGLM體驗(yàn)地址,能用上幾天鸽疾。號(hào)眾公卷福同學(xué)
里 發(fā)關(guān)鍵詞ChatGLM