記錄一次Linux下ChatGLM部署過(guò)程

前言
本地化的GPT就是香,就是有點(diǎn)費(fèi)錢。
項(xiàng)目地址:https://github.com/THUDM/ChatGLM-6B

前期準(zhǔn)備
服務(wù)器(本機(jī)的跳過(guò))
由于本地電腦顯卡都不行,所以我租了[AutoDL](https://www.autodl.com/)的一臺(tái)算力服務(wù)器。Tesla T4 16G顯存,56GB內(nèi)存,符合我們跑[ChatGLM-6B](https://github.com/THUDM/ChatGLM-6B)的配置。

其實(shí)本來(lái)這臺(tái)服務(wù)器是其他用途,跑vits的,所以選擇了so-vits-svc4的鏡像,這類的AI項(xiàng)目依賴庫(kù)大同小異,所以如果有需求,可以直接選現(xiàn)成鏡像,減少麻煩。
我這邊的操作系統(tǒng)是ubuntu20.04
自帶python3.8,需要注意項(xiàng)目python環(huán)境需要 >=python3.7
實(shí)例后開(kāi)機(jī),有ssh,我們就改其他ssh客戶端登錄。當(dāng)然你也可以直接在autodl自帶的終端跑。

環(huán)境搭建
官方教程:https://www.heywhale.com/mw/project/6436d82948f7da1fee2be59e
clone項(xiàng)目
一般都默認(rèn)裝了git,如果沒(méi)有你可以手動(dòng)裝下,ubuntu的話?
我是選擇在數(shù)據(jù)盤autodl-tmp,因?yàn)橄到y(tǒng)盤其他東西太多了0.0
克隆下項(xiàng)目
安裝依賴
前面裝完后,進(jìn)入項(xiàng)目?
pip安裝依賴


下載模型
官方教程如下

chatglm-6b
由于模型文件很大,需要提前裝個(gè) git-lfs
安裝命令?

因?yàn)槲覝y(cè)試過(guò)6B模型,跑不動(dòng),當(dāng)然你也可以試試
在項(xiàng)目根目錄內(nèi),創(chuàng)建文件夾 THUDM,命令為?
然后進(jìn)入
,進(jìn)行clone

如果clone大文件失敗了,注意文件大小,模型很大的,失敗的話請(qǐng)手動(dòng)下載 官方提供的
https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/

附贈(zèng)批量下載shell腳本(別告訴我你沒(méi)裝wget),新建一個(gè)download.sh,填入以下代碼,增加執(zhí)行權(quán)限 chmod +x download.sh,運(yùn)行即可 ./download.sh。
chatglm-6b-int4
?? ?? ?? 如果你也跑不起來(lái)的話,可以更換小一些的模型INT4
同理clone到 THUDM下


運(yùn)行
web UI
chatglm-6b
首先安裝 Gradio:
如果你跑的 chatglm-6b?模型,那你不需要修改源碼,直接在項(xiàng)目根目錄運(yùn)行以下命令即可:

日常跑在7860端口,由于AutoDL沒(méi)有公網(wǎng)IP,所以很尷尬,我就做了個(gè)frp內(nèi)網(wǎng)穿透(ps:autodl有個(gè)自定義服務(wù),跑的6006端口,可以公網(wǎng)訪問(wèn))

然后就訪問(wèn)我們穿的公網(wǎng)IP對(duì)應(yīng)端口即可。

chatglm-6b int4
如果你跑的int4,則需要改下web_demo.py的源碼啦,其實(shí)我認(rèn)為官方應(yīng)該寫成配置文件的形式,改源碼有點(diǎn)麻煩,代碼如下:
其實(shí)就是改下加載的模型路徑罷了
改完后,一樣運(yùn)行?

跑INT4速度很快,秒回~

命令行demo
和web UI版一樣,如果是跑的INT4,就需要修改源碼中,模型的加載路徑


