记录一下供下次玩耍参考,当前环境:
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.py
streamlit run web_demo2.py
python 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
快一点,其他的没仔细测试