本地部署开源大语言模型自主可控,不用花钱,不用魔法,可以自己各种魔改折腾。ChatGLM2-6B安装的方法分享给大家,网上的教程有些靠谱有些不靠谱,反正我这个肯定靠谱。
1、安装特别注意事项:版本问题
ChatGLM2-6B版本要装PYTORCH2.0,而且要2.0.1 ,就是这么精确,大家先试试用下面的命令安装一下行不行。CUDA不能用12.0 ,也不能用10.0,只能用11.x 版本。
python用310
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
CUDA:11.8版本。我上次装 Tensforflow用了10.0CUDA,只能卸载以后重新安装CUDA 11,但是幸运的是CUDA安装程序非常智能,我的电脑上CUDA 12、CUDA11.8和CUDA 10能共存得很好,PATH里放的是最新的路径,没有压力。
CUDA换了,CUDNN也换成和CUDA11.8匹配的版本就行。装完检查一下(进命令行)
nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
这样是不是就OK了呢? 也不是。请继续走:
在anaconda里建立一个环境,比如叫chatglm2-6b, 然后用activate 激活即可。
conda activate chatglm2-6b
激活以后,安装必须的轮子:
pip install -r requirements.txt
如果你前面没有装 CUDA11,那就没办法装 pytorch2.0,系统就会提示。请乖乖回去装 CUDA11和CUDNN。
2、ChatGML2-6B源码和模型安装
先拉一个源码,分分钟下载好,注意你放在哪个目录的,别文件找不到。
git clone https://github.com/THUDM/ChatGLM2-6B
下载的时候发现源代码很小,模型巨大,需要用git的LFS管理,请安装后,从huggingface中下载模型:
pip install git-lfs
git lfs install
git clone https://huggingface.co/THUDM/chatglm2-6b 或者指定文件夹也行
git clone https://huggingface.co/THUDM/chatglm2-6b $PWD/chatglm2-6b
我到这里就卡死了。科学方法或者不科学方法都不能正常clone这大约8G个的模型数据,没事,上Huggingface看一下:
模型数据文件名是pytorch_mode_XXXX_XXXXX.BIN,一共7个大文件
解决方法是直接进hugggingface主页,手工一个一个拉。如果网络不行,可以问我要度盘连接,我自己存下来了。这里有一个备用下载地址。
搞定以后, 把这些bin文件拷贝到你放模型的文件夹下,比如我放在chatglm2-6b文件夹下。运行前,检查web_demo.py。反正是python源码,一条一条执行可以排错。也可以一气呵成先试试看能否运行。
python web_demo.py
from transformers import AutoModel, AutoTokenizer
import gradio as gr
import mdtex2html
from utils import load_model_on_gpus
这4句通过,相关的依赖算是好了,下面改模型位置。
tokenizer = AutoTokenizer.from_pretrained("chatglm2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("chatglm2-6b", trust_remote_code=True).cuda()
在当前环境下,我又开了一个叫chatglm2-6b的文件夹,其实叫model更好,模型数据放在里面就行,其它小数据git clone过来。
运行:python web_demo.py
如果缺少一个模型,就少一个checkpoint。比如三号模型没有,就是这个错:
FileNotFoundError: [Errno 2] No such file or directory: 'chatglm2-6b\\pytorch_model-00003-of-00007.bin'
然后就可以手工拷贝上面的一堆bin模型文件即可,一共11G,看看我都是靠机器人半夜拉下来的。
3、TORCH的使用
很多人在源码下载好、模型位置正确且模型拷贝到位的情况下,运行web_demo还会出现这样的错,那是CUDA没安装好,你得自己指定版本。
raise AssertionError("Torch not compiled with CUDA enabled")
进python交互环境,输入
import torch
print( torch.cuda.is_available())
如果是false,表示GPU版本的torch没装好,大模型不能运行。解决方法是直接到pytorch网站下载指定版本的轮子:
pip install https://download.pytorch.org/whl/cu118/torch-2.0.1%2Bcu118-cp310-cp310-win_amd64.whl
torch-2.0.1是这个模型强制要求的,看版本可以进python,打印torch.__version__看
bcu118表示用的CUDA版本是11.8
CP310表示用的是python3.10版本
读者可以根据自己的版本要求进行灵活替换。
4、成功运行
这个软件界面用gradio做的,看到这个提示即可复制地址到浏览器运行:
Running on local URL: http://0.0.0.0:7860
显存使用,一言难尽啊:
原文