记录一下供下次玩耍参考,当前环境:
Arch Linux:6.6.4-arch1-1
Python:3.11.6
Nvidia:545.29.06
CUDA:12.3
GPU:NVIDIA GeForce RTX 3060 Ti
ChatGLM: chatglm2-6b-int4
- Arch Linux 安装 NVIDIA 系包
Wiki 说现在有个新包 nvidia-open,我试过直接用原来的 nvidia 系统会莫名其妙卡,换成新包一切正常
1 | sudo pacman -S nvidia-open |
如果源码方式运行,上面的就够了,容器运行需要安装多一个,AUR 或者直接 archlinuxcn
1 | sudo pacman -S nvidia-container-toolkit |
由于显卡满足不了 chatglm2-6b,会爆显存 orch.cuda.OutOfMemoryError: CUDA out of memory.,因此只能用 chatglm2-6b-int4 的版本,这里用源码的方式,方便改动后直接运行
如果是首次安装 nvidia-open 包,需重启系统生效
克隆官方仓库:
gh repo clone THUDM/ChatGLM2-6B,这个gh需要额外安装github-cli,用git clone也可以进去
ChatGLM2-6B文件夹,创建一个虚拟环境python -m venv .venv,执行source .venv/bin/activate激活(取消激活deactivate),又或者利用oh-my-zsh的插件功能virtualenvwrapper,进入项目目录后自动激活(需要安装python-virtualenvwrapper包)下载依赖
pip install -r requirements.txt修改代码
web_demo.py、web_demo2.py、或cli_demo.py,将THUDM/chatglm2-6b改为THUDM/chatglm2-6b-int4,接着执行即可
python web_demo.pystreamlit run web_demo2.pypython cli_demo.py
模型会自动下载模型到 ~/.cache/huggingface/hub (或者改为本地已经下载好的路径,可以到 清华大学云盘 下载,这个我没试过,web_demo.py 我自己测试网页会报错,其他两个正常)
如果遇到报错 RuntimeError: Library cudart is not initialized,则需要安装 cuda 包
1 | sudo pacman -S cuda |
相同环境用起来,速度 chatglm2-6b-int4 比 chatglm-6b-int4 快一点,其他的没仔细测试