LLM | ChatGLM.cpp 安装使用(支持CPU、Metal及CUDA推理)

93 阅读1分钟

1. 详细步骤

1.1 拉取源码

# 确保网络通畅
git clone --recursive https://github.com/li-plus/chatglm.cpp.git && cd chatglm.cpp

1.2 模型转换/量化

1.2.1 安装所需 Python 依赖

torch
pip install torch -U
其他依赖
pip install tabulate tqdm transformers accelerate sentencepiece tiktoken -U

1.2.1 模型转换/量化

f16
python chatglm_cpp/convert.py -i /path/THUDM/chatglm-6b -t f16 -o /path/THUDM/chatglm-6b/f16.bin
q8_0
python chatglm_cpp/convert.py -i /path/THUDM/chatglm-6b -t q8_0 -o /path/THUDM/chatglm-6b/q8_0.bin
q4_0
python chatglm_cpp/convert.py -i /path/THUDM/chatglm-6b -t q4_0 -o /path/THUDM/chatglm-6b/q4_0.bin

1.3 模型测试

1.3.1 编译所需 C/C++ 环境

通过 Python Binding 来调用也可以

CPU
cmake -B build && cmake --build build -j --config Release
CUDA
cmake -B build -DGGML_CUDA=ON && cmake --build build -j
Metal(MPS)
cmake -B build -DGGML_METAL=ON && cmake --build build -j

1.3.2 模型测试

单次推理
./build/bin/main -m /path/THUDM/chatglm-6b/f16.bin -p 你好
多轮对话
./build/bin/main -m /path/THUDM/chatglm-6b/f16.bin -i

2. 参考资料

2.1 ChatGLM.cpp

2.1.1 GitHub

Getting Started (Preparation, Quantize, Build & Run...)

github.com/li-plus/cha…

Using BLAS (CUDA, Metal...)

github.com/li-plus/cha…

3. 资源

3.1 ChatGLM.cpp

3.1.1 GitHub

官方页面

github.com/li-plus/cha…

Python Binding

github.com/li-plus/cha…

API Server

github.com/li-plus/cha…

Using Docker

github.com/li-plus/cha…

Performance

github.com/li-plus/cha…

Model Quality

github.com/li-plus/cha…