返回

如何部署开源的 ChatGLM2-6B 对话模型

开发配置

进入github THUDM/ChatGLM-6B: ChatGLM-6B: An Open Bilingual Dialogue Language Model | 开源双语对话语言模型 (github.com)
5a46a3bb.png

下拉至READEME.md,查看文档。

6e6a8d12.png

可以选用git bash 本地运行 git clone THUDM/chatglm-6b · Hugging Face

也可使用一键打包下载
bc3f4f54.png

遇到报错:没有cuda

AttributeError: C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common\cudart64_30_9.dll: undefined symbol: cudaDeviceGetAttribute

解决方法:

调用的dll中发生错误 · Issue #23 · THUDM/ChatGLM-6B (github.com)

【Windows11】Cuda和Cudnn详细安装教程_Jin·的博客-CSDN博客

解决完毕,刷新后运行:
153e28c6.png

再次遇到报错:Torch无法启用cuda进行编译
3327b2a3.png

AssertionError: Torch not compiled with CUDA enabled

怀疑是cuda和torch版本可能不匹配,测试一下

#检测cuda是否可用
import torch
print(torch.__version__)#torch版本
print(torch.cuda.is_available())#是否可用

出现以下情况:

Reloaded modules: transformers_modules, transformers_modules.THUDM, transformers_modules.THUDM.chatglm-6b, transformers_modules.THUDM.chatglm-6b.a10da4c68b5d616030d3531fc37a13bb44ea814d, transformers_modules.THUDM.chatglm-6b.a10da4c68b5d616030d3531fc37a13bb44ea814d.tokenization_chatglm, transformers_modules.THUDM.chatglm-6b.a10da4c68b5d616030d3531fc37a13bb44ea814d.configuration_chatglm, transformers_modules.THUDM.chatglm-6b.a10da4c68b5d616030d3531fc37a13bb44ea814d.modeling_chatglm
2.0.1+cpu
False

版本是2.0.1,出现False,说明二者不兼容——torch是cpu的版本。

安装cuda版本Pytorch:

卸载不合适的Pytorch

pip uninstall torch

Uninstalling torch-2.0.1:
  Would remove:
    c:\users\11298\appdata\local\programs\python\python311\lib\site-packages\functorch\*
    c:\users\11298\appdata\local\programs\python\python311\lib\site-packages\torch-2.0.1.dist-info\*
    c:\users\11298\appdata\local\programs\python\python311\lib\site-packages\torch\*
    c:\users\11298\appdata\local\programs\python\python311\lib\site-packages\torchgen\*
    c:\users\11298\appdata\local\programs\python\python311\scripts\convert-caffe2-to-onnx.exe
    c:\users\11298\appdata\local\programs\python\python311\scripts\convert-onnx-to-caffe2.exe
    c:\users\11298\appdata\local\programs\python\python311\scripts\torchrun.exe
Proceed (Y/n)? Y
  Successfully uninstalled torch-2.0.1

53e6757c.png

版本对应顺序:Python版本 -> Pytorch版本 -> Cuda版本

查看python版本 ,我的是 3.11.3
a80d9d97.png

下载对应python版本的Pytorch 网址: pytorch
e85fc580.png

选择适合自己硬件的torch版本,我装了最新的cuda 12.1

8f7b6026.png

复制pip3代码

pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.or
ebc684da.png

#安装完成
Successfully installed torch-2.1.0.dev20230515+cu121 torchaudio-2.1.0.dev20230516+cu121 torchvision-0.16.0.dev20230515+cu121

在spyder中重启内核后运行检测torch是否有效的代码
ebd97961.png

显示True !!! ,可以愉快的玩耍了!!!

运行一下 ChatGLM-6B-main 内的 web_demo.py #这是通过网页调用
831bbd91.png

运行完毕后自动跳出网页

可以看出运行在本地 127.0.0.1:7860 上

尝试向它问个好,再看看gpu占用
3319e520.png