最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

chatGLM-6B 部署記錄

2023-07-04 13:54 作者:幽靈躍遷  | 我要投稿

Windows 下部署 chatGLM-6B

準(zhǔn)備環(huán)境

首先,chatGLM-6B 不能直接在 Windows 中完成部署,需要使用 Linux 子系統(tǒng)。

要求 windows 10 以上。。。

在 啟用或關(guān)閉Windows功能 中,勾選 "適用于 LInux 的 Windows 子系統(tǒng)" 并確定,以啟用該功能。

然后在 微軟商店 中搜索安裝需要的Linux子系統(tǒng),也可以到微軟官網(wǎng)去下載需要的分發(fā)版本來(lái)安裝。

這里直接在商店獲取了 Debian,Ubuntu也可以。


子系統(tǒng)默認(rèn)安裝到系統(tǒng)盤(pán)符,有需要可以移動(dòng)它的位置,因?yàn)楹竺娼?jīng)過(guò)軟件的安裝后體積會(huì)比較大。

這里直接通過(guò)mklink的方式創(chuàng)建目錄鏈接來(lái)改變位置,比較粗暴,但也簡(jiǎn)單。

先在 C:\Users\[用戶名]\AppData\Local\Packages 中找到 Debian 的文件夾,然后直接剪切到想要的位置。

這里 文件夾是 TheDebianProject.DebianGNULinux_76v4gfsz19hv4,截切到了 F:\_WSL\ 下。

然后用 mklink 命令在原位置上創(chuàng)建同名的目錄鏈接,指向新的位置,如:

mklink /J TheDebianProject.DebianGNULinux_76v4gfsz19hv4 F:\_WSL\TheDebianProject.DebianGNULinux_76v4gfsz19hv4


而F:\_WSL\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState目錄就是Linux的“硬盤(pán)”目錄了


首次啟動(dòng) Debian ,會(huì)要求輸入一個(gè)用戶名/密碼,自己定就行了。


然后逐個(gè)執(zhí)行下面命令安裝需要的環(huán)境,我對(duì)python不熟悉,什么vue、anaconda還搞不懂,就直接裝了,反正這個(gè)子系統(tǒng)隨時(shí)可以刪。。。


更新 apt

sudo apt-get clean

sudo apt-get update


安裝 chatGLM-6B 需要的軟件

sudo apt-get install gcc

sudo apt-get install python3.9

sudo apt-get install python3-pip


對(duì)python重新建立指令鏈接,已存在則刪了重新建到3.9,pip看一下不行也重建

sudo ln -rm /usr/bin/python

sudo ln -s /usr/bin/python3.9 /usr/bin/python


升級(jí)pip到最新

pip install --upgrade pip

pip換源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

pip config set install.trusted-host https://pypi.tuna.tsinghua.edu.cn



Linux 子系統(tǒng)中訪問(wèn) windows 的盤(pán)符目錄


Linux子系統(tǒng)中,在 mnt 中自動(dòng)掛載了 windows 的盤(pán)符目錄,盤(pán)符 與 mnt 對(duì)應(yīng)關(guān)系如下:

C盤(pán):/mnt/c

D盤(pán):/mnt/d

E盤(pán):/mnt/e

F盤(pán):/mnt/f


盤(pán)符內(nèi)目錄結(jié)構(gòu)與windows中一致,這就可以讓以部分工作放在 windows 里做了,比如 git 獲取項(xiàng)目,而且項(xiàng)目不會(huì)隨著子系統(tǒng)被卸載而丟失。

注意在Linux子系統(tǒng)的“硬盤(pán)”中的東西會(huì)隨著子系統(tǒng)的卸載一起被清,比如前面安裝的gcc和python。

chatGLM-6B

項(xiàng)目地址:https://github.com/THUDM/ChatGLM-6B


獲取 chatGLM-6B

通過(guò)git獲?。篻it clone https://github.com/THUDM/ChatGLM-6B.git

通過(guò)git更新:git pull? -- cd進(jìn)入項(xiàng)目目錄后執(zhí)行


切換到項(xiàng)目目錄,F(xiàn):\_AI\ChatGLM-6B

cd /mnt/f/_AI/ChatGLM-6B/

pip下載安裝需要的組件

目錄中的 requirements.txt 文件已經(jīng)把需要組件都列上了,直接指定它就行

pip install -r requirements.txt

也可能遭遇失敗的情況,這里總遇到 torch 失敗,于是先跳過(guò)它,逐個(gè)安裝其他組件,每一個(gè)都要單獨(dú)執(zhí)行

其他組件有依賴 torch 的,可能會(huì)自動(dòng)安裝一個(gè)能用的版本,這樣不用安裝它也能使用


獲取模型(電腦配置不高,這里用的int4)

可以通過(guò)git獲取:git clone https://huggingface.co/THUDM/chatglm-6b-int4

也可以瀏覽器訪問(wèn)下載 https://huggingface.co/THUDM/chatglm-6b-int4/tree/main

這里都下載到 chatGLM-6B 的根目錄的 THUDM/chatglm-6b-int4 文件夾中了,下面會(huì)使用這個(gè)文件夾,可以認(rèn)為這個(gè)文件夾整個(gè)就是模型

默認(rèn)的 demo 都是使用gpu的,顯卡不行的 cpu 和 內(nèi)存 夠用的話,也可以使用 cpu 運(yùn)行,需要修改 demo 代碼,配置越低 響應(yīng)速度 越慢...

下面是 demo 的代碼中被修改后的內(nèi)容部分,主要修改 AutoTokenizer.from_pretrained 和 AutoModel.from_pretrained 的部分


前面步驟都完成后,chatGLM-6B?的準(zhǔn)備工作就完成了,然后啟動(dòng) demo 就可以了


啟動(dòng) chatGLM-6B 的demo

python web_demo.py? ?或? ?python cli_demo.py



chatGLM2-6B

項(xiàng)目地址:https://github.com/THUDM/ChatGLM2-6B


chatGLM2-6B 與一代的一樣,不能直接部署到 windows 上,要通過(guò) Linux 子系統(tǒng)才能順利完成部署和啟動(dòng)。


獲取 chatGLM2-6B

通過(guò)git獲?。篻it clone https://github.com/THUDM/ChatGLM2-6B

通過(guò)git更新:git pull? -- cd進(jìn)入項(xiàng)目目錄后執(zhí)行


切換到項(xiàng)目目錄,F(xiàn):\_AI\ChatGLM2-6B

cd /mnt/f/_AI/ChatGLM2-6B/

pip下載安裝需要的組件

目錄中的 requirements.txt 文件已經(jīng)把需要組件都列上了,直接指定它就行

pip install -r requirements.txt


獲取模型

通過(guò)git獲?。篻it clone https://huggingface.co/THUDM/chatglm2-6b-int4

同樣比較大,可以上網(wǎng)頁(yè)單獨(dú)下載。

這里都下載到 chatGLM2-6B 的根目錄的 THUDM/chatglm2-6b-int4 文件夾中了,下面會(huì)使用這個(gè)文件夾,可以認(rèn)為這個(gè)文件夾整個(gè)就是模型

和一代一樣,啟動(dòng)前需要配置模型路徑,也用代碼處理了:


啟動(dòng)入口py文件有:cli_demo.py、web_demo.py、api.py、openai_api.py


啟動(dòng) chatGLM2-6B 的demo

python web_demo.py


————————————————————


chatglm.cpp


項(xiàng)目地址:https://github.com/li-plus/chatglm.cpp


chatglm被另一個(gè)人用cpp重寫(xiě)了,類(lèi)似llama被人用cpp重寫(xiě)的一樣。

該項(xiàng)目對(duì)chatglm-6b的一代、二代都能支持,但glm的模型要轉(zhuǎn)換成gglm的,項(xiàng)目中也提供了轉(zhuǎn)換的代碼。

項(xiàng)目介紹中說(shuō)的應(yīng)該是為了Mac能運(yùn)行g(shù)lm而重寫(xiě)的,但這里是在 windows 上運(yùn)行的記錄。。。


獲取 chatglm.cpp

通過(guò)git獲取:git clone --recursive https://github.com/li-plus/chatglm.cpp.git


多了 --recursive 參數(shù)是因?yàn)樵擁?xiàng)目中還引用了三個(gè)其他項(xiàng)目。

克隆后需要檢查項(xiàng)目中 third_party 目錄下的ggml、pybind11、sentencepiece 是否完成了獲取

如果忘了加 --recursive 參數(shù),或者 third_party 中的項(xiàng)目沒(méi)有獲取到,就要cd切換到項(xiàng)目目錄中,再執(zhí)行下面命令:

git submodule update --init --recursive


切換到項(xiàng)目目錄,F(xiàn):\_AI\chatglm.cpp

cd /mnt/f/_AI/chatglm.cpp/

模型轉(zhuǎn)換

python convert.py -i /mnt/f/_AI/ChatGLM2-6B/THUDM/chatglm2-6b-int4/ -t q4_0 -o chatglm2-ggml.bin

/mnt/f/_AI/ChatGLM2-6B/THUDM/chatglm2-6b-int4/ 是之前部署的ChatGLM2-6B的模型目錄,這里要視情況調(diào)整。

chatglm2-ggml.bin 是轉(zhuǎn)換后的gglm模型的名字,這里沒(méi)有加路徑,轉(zhuǎn)換后就放在當(dāng)前目錄了


轉(zhuǎn)換時(shí)報(bào)錯(cuò)缺少模塊tabulate:

ModuleNotFoundError: No module named 'tabulate'

直接pip安裝

pip install tabulate


使用 CMake 編譯項(xiàng)目:

cmake -B build

cmake --build build -j


運(yùn)行模型

./build/bin/main -m chatglm2-ggml.bin -i


chatGLM-6B 部署記錄的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
海盐县| 玉田县| 和林格尔县| 时尚| 安远县| 松阳县| 莫力| 正宁县| 敖汉旗| 泉州市| 炉霍县| 三都| 全州县| 永城市| 弥勒县| 通许县| 河津市| 奉新县| 略阳县| 肃北| 波密县| 山西省| 禹城市| 江口县| 高雄市| 赫章县| 桂林市| 高州市| 罗甸县| 榆林市| 铅山县| 汶川县| 京山县| 镶黄旗| 安达市| 岫岩| 伊宁市| 革吉县| 南澳县| 神木县| 理塘县|