2023-08-10 ChatGLM2-6B在windows下的部署
一、部署環(huán)境
1、Windows 10 專業(yè)版, 64位,版本號(hào):22H2,內(nèi)存:32GB
2、已安裝CUDA11.3
3、已安裝Anaconda3 64bit版本
4、有顯卡NVIDIA GeForce RTX 3060 Laptop GPU
二、從huggingface下載chatglm2-6b模型文件
1、進(jìn)入Anaconda Powershell Prompt
2、創(chuàng)建保存chatglm2-6b的huggingface模型的公共目錄。之所以創(chuàng)建一個(gè)公共目錄,是因?yàn)檫@個(gè)模型文件是可以被各種應(yīng)用共用的。注意創(chuàng)建目錄所在磁盤至少要有30GB的空間,因?yàn)閏hatglm2-6b的模型文件至少有23GB大小。
mkdir -p D:_ChatGPT_common_test
3、進(jìn)入剛剛創(chuàng)建的目錄,在這里下載chatglm2-6b的huggingface模型文件。注意下載前要提前打開fanqiang軟件,否則下載無法成功。模型文件大概23GB,因此下載時(shí)間很長(zhǎng),需要耐心等待。下載過程中可能多次報(bào)“Recv failure: Connection was reset”錯(cuò)誤,遇到錯(cuò)誤就重新下載,直到成功為止。
cd D:_ChatGPT_common_test
git clone https://huggingface.co/THUDM/chatglm2-6b
4、下載時(shí)如果報(bào)如下錯(cuò)誤:
Errors logged to ‘D:_ChatGPT_common_test\chatglm2-6b.git\lfs\logs\20230810T095928.1917897.log’.
Use git lfs logs last
to view the log.
error: external filter ‘git-lfs filter-process’ failed
fatal: pytorch_model-00001-of-00007.bin: smudge filter lfs failed
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with ‘git status’
and retry with ‘git restore --source=HEAD ??’
則用如下方式解決后重新下載:
git lfs clean --force
三、從github下載chatglm2-6b應(yīng)用文件
1、進(jìn)入Anaconda Powershell Prompt
2、創(chuàng)建一個(gè)目錄,并進(jìn)入該目錄
mkdir -p D:_ChatGPT\langchain-chatglm_test
cd D:_ChatGPT\langchain-chatglm_test
3、在該目錄下載chatglm2-6b應(yīng)用文件,這個(gè)下載很快。
git clone https://github.com/THUDM/ChatGLM2-6B
四、創(chuàng)建虛擬環(huán)境并安裝依賴包
1、進(jìn)入Anaconda Powershell Prompt
2、創(chuàng)建虛擬環(huán)境
conda create -n langchain-chatglm_test python=3.10
3、進(jìn)入虛擬環(huán)境
conda activate langchain-chatglm_test
4、進(jìn)入chatglm2-6b應(yīng)用文件所在目錄
cd D:_ChatGPT\langchain-chatglm_test\ChatGLM2-6B
5、安裝相關(guān)依賴
pip install -r requirements.txt
pip install transformers4.26.1
pip install torch1.12.1+cu113??-f https://download.pytorch.org/whl/cu113/torch_stable.html
五、修改文件
1、進(jìn)入D:_ChatGPT\langchain-chatglm_test\ChatGLM2-6B目錄,用編輯器打開web_demo.py文件。
2、修改如下兩處的模型地址,用實(shí)際的huggingface模型下載地址取代"/mnt/workspace/chatglm2-6b",例如:
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True).cuda()
改為
tokenizer = AutoTokenizer.from_pretrained("D:\_ChatGPT\_common\chatglm2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("D:\_ChatGPT\_common\chatglm2-6b", trust_remote_code=True).cuda()
3、由于顯存可能不夠,可采用模型量化方式縮小模型,修改如下:
model = AutoModel.from_pretrained("D:\_ChatGPT\_common\chatglm2-6b", trust_remote_code=True).quantize(8).cuda()
如果用INT8量化還不行,可以改為INT4量化。
4、將文件對(duì)應(yīng)處修改為如下,使得本地可以訪問
demo.queue().launch(share=True, inbrowser=True, server_name='0.0.0.0', server_port=7860)
六、啟動(dòng)應(yīng)用
1、進(jìn)入Anaconda Powershell Prompt
2、進(jìn)入虛擬環(huán)境
conda activate langchain-chatglm_test
3、進(jìn)入chatglm2-6b應(yīng)用文件所在目錄
cd D:_ChatGPT\langchain-chatglm_test\ChatGLM2-6B
4、啟動(dòng)應(yīng)用。注意啟動(dòng)應(yīng)用前要關(guān)閉fanqiang,否則可以啟動(dòng),但運(yùn)行時(shí)報(bào)錯(cuò)。
python web_demo.py
七、報(bào)錯(cuò)及處理
1、報(bào)錯(cuò):AssertionError: Torch not compiled with CUDA enabled
處理:pip install torch==1.12.1+cu113??-f https://download.pytorch.org/whl/cu113/torch_stable.html
2、報(bào)錯(cuò):ModuleNotFoundError: No module named ‘transformers_modules.chatglm2-6b’
處理:pip install transformers==4.26.1文章來源:http://www.zghlxwxcb.cn/news/detail-645288.html
八、參考文檔
LangChain + ChatGLM2-6B 搭建個(gè)人專屬知識(shí)庫(kù)文章來源地址http://www.zghlxwxcb.cn/news/detail-645288.html
到了這里,關(guān)于ChatGLM2-6B在windows下的部署的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!