MAC上运行chatglm3-6b大模型

475 阅读1分钟

1.基础环境

有基础的Python环境,我的是3.10

电脑配置,我是18年的macbookPro,目前来看运行模型还是很流畅的

目前支持

  • 硬件:x86/arm CPU、NVIDIA GPU、Apple Silicon GPU
  • 平台:Linux、MacOS、Windows

2.下载模型

我是在用户目录下创建了个叫 ai 的文件夹

mkdir ~/ai
cd ~/ai

目前下载模型的方式比较多,但是因为国内的环境,我推荐使用modelscope

1.软件依赖
pip install protobuf 'transformers>=4.30.2' cpm_kernels 'torch>=2.0' gradio mdtex2html sentencepiece accelerate
2.模型下载
pip install modelscope

创建一个download.py的文件,添加如下内容

from modelscope import snapshot_download 
model_dir = snapshot_download("ZhipuAI/chatglm3-6b", revision = "v1.0.0")

运行脚本

python download.py

image.png

这样模型就会自动下载到 ~/.cache/modelscope/hub/ZhipuAI/这个目录下

注:你也可以通过修改环境变量来更改下载的地址,这里就不展开了

创建一个 models文件夹,用来存放镜像

mkdir -p ~/ai/models
mv ~/.cache/modelscope/hub/ZhipuAI/* ./models/

此时模型应该在目录~/ai/models/chatglm3-6b

3.量化模型

这里我们使用开源项目chatglm.cpp

clone代码

git clone --recursive https://github.com/li-plus/chatglm.cpp.git && cd chatglm.cpp

安装依赖包

python3 -m pip install -U pip
python3 -m pip install torch tabulate tqdm transformers accelerate sentencepiece

量化模型

python3 chatglm_cpp/convert.py -i ../models/chatglm3-6b/ -t q4_0 -o chatglm-ggml.bin

这样我们就得到了一个量化后的模型chatglm-ggml.bin

4.构建项目并运行模型

使用 CMake 编译项目:

cmake -B build
cmake --build build -j --config Release

如果没有cmake命令,可以直接brew install cmake安装一个 编译完成后会多出build文件夹 这时我们就可以启动大模型了

./build/bin/main -m chatglm-ggml.bin -i

image.png