部署環(huán)境
系統(tǒng)版本:Windows 10 企業(yè)版
版本號(hào):20H2
系統(tǒng)類(lèi)型:64 位操作系統(tǒng), 基于 x64 的處理器
處理器:Intel? Core? i7-8700 CPU @ 3.20GHz 3.19 GHz
機(jī)帶 RAM:16.0 GB
顯卡:NVIDIA RTX 2070(8G)
Python版本:3.10.11
文件下載
文件分為兩個(gè)部分:
- github上開(kāi)源的訓(xùn)練、推理、以及運(yùn)行demo、api的一些代碼文件
- huggingface上的語(yǔ)言模型相關(guān)文件,主要包含官方訓(xùn)練好的大語(yǔ)言模型文件,以及模型文件對(duì)應(yīng)的一些配置文件,其中模型文件會(huì)很大,可以使用GIT LFS下載,或者直接上清華的網(wǎng)盤(pán)上下載,本文使用的是從網(wǎng)盤(pán)下載,配置文件直接clone即可,clone前設(shè)置GIT_LFS_SKIP_SMUDGE=1,可跳過(guò)大文件的下載,只下載模型文件之外的配置文件。
項(xiàng)目文件
git clone https://github.com/THUDM/ChatGLM-6B.git
安裝依賴:
cd ChatGLM-6B
pip install -r requirements.txt
模型配置文件
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm-6b
模型文件
chatglm-6b:(只有chatglm-6b)
https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/
其他:(包含chatglm-6b-int4、chatglm-6b-int8…)
https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/
按需下載,下載后替換至上一步中下載的chatglm-6b目錄下。
注:下載之后,需要對(duì)比每個(gè)文件大小,如果有文件不完整,將運(yùn)行失敗
模型文件必須要和配置文件配套下載,否則運(yùn)行不成功
文件保存位置:
D:\ChatGLM-6B\ChatGLM-6B\THUDM\chatglm-6b
下載完成之后,修改第5、6行:將參數(shù)文件路徑換為本地的
運(yùn)行demo
python web_demo.py
遇到的問(wèn)題
- RuntimeError: Internal: D:\a\sentencepiece\sentencepiece\src\sentencepiece_processor.cc(1102) [model_proto->ParseFromArray(serialized.data(), serialized.size())]
Traceback (most recent call last):
File "D:\ChatGLM-6B\ChatGLM-6B\web_demo.py", line 5, in <module>
tokenizer = AutoTokenizer.from_pretrained("D:\\ChatGLM-6B\\ChatGLM-6B\\THUDM\\chatglm-6b", trust_remote_code=True, revision="")
File "D:\python3.10\lib\site-packages\transformers\models\auto\tokenization_auto.py", line 679, in from_pretrained
return tokenizer_class.from_pretrained(pretrained_model_name_or_path, *inputs, **kwargs)
File "D:\python3.10\lib\site-packages\transformers\tokenization_utils_base.py", line 1804, in from_pretrained
return cls._from_pretrained(
File "D:\python3.10\lib\site-packages\transformers\tokenization_utils_base.py", line 1958, in _from_pretrained
tokenizer = cls(*init_inputs, **init_kwargs)
File "C:\Users\liliang22/.cache\huggingface\modules\transformers_modules\chatglm-6b\tokenization_chatglm.py", line 221, in __init__
self.sp_tokenizer = SPTokenizer(vocab_file, num_image_tokens=num_image_tokens)
File "C:\Users\liliang22/.cache\huggingface\modules\transformers_modules\chatglm-6b\tokenization_chatglm.py", line 64, in __init__
self.text_tokenizer = TextTokenizer(vocab_file)
File "C:\Users\liliang22/.cache\huggingface\modules\transformers_modules\chatglm-6b\tokenization_chatglm.py", line 22, in __init__
self.sp.Load(model_path)
File "D:\python3.10\lib\site-packages\sentencepiece\__init__.py", line 905, in Load
return self.LoadFromFile(model_file)
File "D:\python3.10\lib\site-packages\sentencepiece\__init__.py", line 310, in LoadFromFile
return _sentencepiece.SentencePieceProcessor_LoadFromFile(self, arg)
RuntimeError: Internal: D:\a\sentencepiece\sentencepiece\src\sentencepiece_processor.cc(1102) [model_proto->ParseFromArray(serialized.data(), serialized.size())]
解決:對(duì)比下載的所有配置文件,是否有不完整的文件,執(zhí)行命令:GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm-6b 時(shí),有個(gè)2mb左右的文件,沒(méi)有成功下載:ice_text.model
-
AssertionError: Torch not compiled with CUDA enabled
原因是你試圖用GPU跑,但是你安裝的 Torch 不支持CUDA,是僅支持CPU的版本,執(zhí)行命令:
python -c "import torch; print(torch.cuda.is_available())"
如果返回False,說(shuō)明安裝的PyTorch不支持CUDA。
-
更新顯卡驅(qū)動(dòng)為最新的(官方驅(qū)動(dòng) | NVIDIA)
-
下載安裝cuda_toolkit(https://developer.nvidia.com/cuda-toolkit)<這一步尚未驗(yàn)證是否必須>
-
重啟電腦
-
執(zhí)行命令安裝torch:
pip install torch==2.0.1+cu118 -f https://download.pytorch.org/whl/torch_stable.html
(第一次沒(méi)有操作2、3步,沒(méi)有成功,第二次安裝了toolkit后重啟好了,但不能確定這兩步是否有效,可以先忽略這兩步,不行再嘗試)
-
? 需要下載一個(gè)2.6G的文件,安裝完成后,print(torch.cuda.is_available())為T(mén)rue,大功告成。
? 可以在Previous PyTorch Versions | PyTorch 查看自己的顯卡CUDA版本對(duì)應(yīng)的torch版本,如果沒(méi)找到,可以嘗試一個(gè)最接近的比實(shí)際小的版本。
查看CUDA版本:
或者直接執(zhí)行命令:nvidia-smi 查看文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-807868.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-807868.html
- 這個(gè)配置運(yùn)行非量化的chatglm-6b,響應(yīng)很慢很慢,重新下載chatglm-6b-Int4的模型文件和配置文件部署后,速度正常了。
到了這里,關(guān)于【ChatGLM】記錄一次Windows部署ChatGLM-6B流程及遇到的問(wèn)題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!