【记录】LLM本地部署尝试
部署时间:2024 年 5 月 10 日
update(2024 年 7 月 15 日):这几天刚刚了解到 cuda 环境已经被封装在 pytorch 包的二进制文件里面了... 所以疑似是不需要装 CUDA的(没实测)
环境
-
英伟达显卡(显存大小,在 windows11 上部署的话,8G 勉强能跑,16G 应该才能正常跑)
-
Windows11
下载开源 LLM:ChatGLM3
下载代码,通过 VSCode 打开ChatGLM3
文件夹,作为工作目录
下载模型,大概十几 G,记录下保存的目录,形如X:\xxx\xxx\xxx\chatglm3-6b
安装 miniconda
将会在虚拟环境中配置所需的 Python 环境
安装 CUDA
-
首先通过命令
nvidia-smi
查看显卡支持的 CUDA 最高版本 -
然后在pytorch 官网查看你想安装的 pytorch 版本对应的 CUDA 版本
-
官网安装 CUDA ,根据我的环境与任务,我选择的是 CUDA12.1疑似无需安装
配置 python 环境
- 关于 pytorch 版本与安装命令,请严格按照官网的来
- 参考 https://pytorch.org/get-started/locally/
- 参考 https://pytorch.org/get-started/previous-versions/#linux-and-windows-6
- 在 WINDOWS 下如果安装 pytorch2.3,后续运行模型时可能会报警告(1Torch was not compiled with flash attention.),当然,似乎不影响使用;于是选择 pytorch2.1.2,不会报警告,当然,暂时没发现性能或其它方面(与会报警告的 2.3.0 比较)有什么优势。
首先,可以在开始菜单中找到 miniconda(安装的时候默认勾选了),打开 miniconda 的终端,依次运行以下代码
conda create -n GPT python=3.11 -y
activate GPT
activate GPT
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia
然后可以关闭这个终端了。
接下来切到 VSCode,将 VSCode 的 Python 解释器选成 GPT 环境中的解释器。(此步应有图片,有空再补)
在 VScode 中直接新建终端,就默认是在虚拟环境GPT
中的终端,在这个终端运行命令
pip install -r requirements.txt
环境就配置完成了。
最后,可以运行 ChatGLM3\ 中的各种应用 demo 做测试,代码中的MODEL_PATH
都要修改为 LLM 的模型保存目录,例如可以这样改 MODEL_PATH=X:\\xxx\\xxx\\xxx\\chatglm3-6b
关于代码怎么写怎么用,查阅源代码提供的各个文档,或者上官网
个人 PC 部署体验
我的渣机配置是 12600KF+16G 内存 +RTX4060(8G 显存),用 4-bit 量化部署,GPU 使用率和显存直接跑满,共享显存使用 5G+,运行对话功能的 demo 时,一次对话视情况不同需要 1 分钟 ~ 数分钟不等,挺慢的
(update 2024.7.15)推测跑得慢的原因:显存不够用的情况下,系统用内存充当“共享显存”,性能瓶颈在于,数据通过主板上的 PCIE4.0 接口在内存和显卡之间的交互效率实在太低,因此跑大模型一定要用显存足够的显卡
语言性能方面,输出质量还达不到可用的水准
如果真正用 LLM 参与实践,并且需要自己部署的话,最好用有专业显卡的服务器(足够大显存 + 没有 GUI 界面渲染对显存的占用),部署更多参数的模型(7B 肯定是不能用的)