ChatGPT本地化 | 如何在你的电脑上部署开源GPT-3语言模型 | ChatGLM
相关阅读
杂谈
之前的一期分享里,我们分享了 dalai ,但是dalai支持的 LLaMA 与 Alpaca 对中文并不友好,因此,我最近又研究了一下清华大学的开源项目 ChatGLM
准备工作
安装CUDA
首先,你肯定是要有一个显卡的,我这里使用的Nvidia 3070的显卡,显存为 8GB 。
官网给的说明是 最低6GB显存 就可以跑,但是个人认为最佳显存应该是 13GB以上 ,可以接收更多的输入。
我们首先需要装好CUDA相关驱动,我使用的是Windows操作系统,这里是安装了以下软件
最终上面的驱动会用于Pytorch中。
检查CUDA是否成功安装
你可以通过终端的命令,查看自己是否安装完成
nvidia-smi
这里可以看到CUDA的版本号以及你的显存,我这里可以看到8192MiB就是8GB显存
nvcc --version
同样的这里也可以看到CUDA编译器版本号,也是11.8
安装Pytorch
安装Pytorch的时候,请一定要使用下面的命令
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
上面的命令中会指定我们下载 CUDA11.8 对应的pytorch,实际上目前最新的已经有了CUDA12.0,但Pytorch似乎目前并未支持,只支持了CUDA11.7和11.8。如果你需要自定义安装,可以在下面的链接中,选择对应的配置,使用相应的命令进行安装
https:// pytorch.org/get-started /locally/
如果版本pytorch与CUDA不一致,可能会导致运行程序的时候出现类似下面的报错
raise AssertionError("Torch not compiled with CUDA enabled")
AssertionError: Torch not compiled with CUDA enabled
当然,这里也有一个小技巧。
你如果不确定自己CUDA是否安装、配置正确,你可以新建一个Python文件,譬如
pytorch.py
import torch
print(torch.__version__)
print(torch.version.cuda)
运行一下,就可以看到自己的相关版本号了,如果有None的情况,则代表没有配置正确
这里值得补充的是有的人可能很早之前使用pip3就安装过了pytorch,在使用新的命令安装的时候会提示
Requirement already satisfied
Requirement already satisfied: torch in c:\users\66396\pycharmprojects\chatglm-6b-main\lib\site-packages (2.0.0)
Requirement already satisfied: torchvision in c:\users\66396\pycharmprojects\chatglm-6b-main\lib\site-packages (0.15.1)
Requirement already satisfied: torchaudio in c:\users\66396\pycharmprojects\chatglm-6b-main\lib\site-packages (2.0.1+cu118)
Requirement already satisfied: sympy in c:\users\66396\pycharmprojects\chatglm-6b-main\lib\site-packages (from torch) (1.11.1)
Requirement already satisfied: filelock in c:\users\66396\pycharmprojects\chatglm-6b-main\lib\site-packages (from torch) (3.10.0)
Requirement already satisfied: networkx in c:\users\66396\pycharmprojects\chatglm-6b-main\lib\site-packages (from torch) (3.0)
Requirement already satisfied: jinja2 in c:\users\66396\pycharmprojects\chatglm-6b-main\lib\site-packages (from torch) (3.1.2)
Requirement already satisfied: typing-extensions in c:\users\66396\pycharmprojects\chatglm-6b-main\lib\site-packages (from torch) (4.5.0)
Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in c:\users\66396\pycharmprojects\chatglm-6b-main\lib\site-packages (from torchvision) (9.4.0)
Requirement already satisfied: requests in c:\users\66396\pycharmprojects\chatglm-6b-main\lib\site-packages (from torchvision) (2.28.2)
Requirement already satisfied: numpy in c:\users\66396\pycharmprojects\chatglm-6b-main\lib\site-packages (from torchvision) (1.24.2)
Requirement already satisfied: MarkupSafe>=2.0 in c:\users\66396\pycharmprojects\chatglm-6b-main\lib\site-packages (from jinja2->torch) (2.1.2)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\66396\pycharmprojects\chatglm-6b-main\lib\site-packages (from requests->torchvision) (2022.12.7)