简介
llama.cpp 是一个专注于推理过程中性能优化的项目,主要解决大模型在本地运行时的效率问题。其核心优势在于无需 GPU 即可运行 LLaMA 模型,支持多种量化方案以加快推理速度并减少内存占用。
主要特点包括:
- 纯粹的 C/C++ 实现,无外部依赖
- 支持广泛的硬件:x86_64 CPU (AVX/AVX2/AVX512)、Apple Silicon (Metal/Accelerate)、NVIDIA GPU (CUDA)、AMD GPU (hipBLAS)、Intel GPU (SYCL) 等
- 多种量化方案(32 位浮点转 16 位、8 位、4 位整数)
- CPU+GPU 混合推理,加速超过总 VRAM 容量的模型
- 提供模型量化工具及服务化组件(API)
1. llama.cpp 环境安装
克隆仓库并进入目录:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
构建 GPU 执行环境(需安装 CUDA 工具包):
如果 CUDA 设置正确,执行
nvidia-smi或nvcc --version无错误提示则表示配置成功。
mkdir build
sudo apt-get install make cmake gcc g++
locate cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release -j4
cd build
make install
在当前版本中,指令已重命名为 llama-quantize、llama-cli、llama-server。可创建软链接以便调用:
ln -s your/path/to/llama.cpp/build/bin/llama-quantize llama-quantize
ln -s your/path/to/llama.cpp/build/bin/llama-server llama-server
ln -s your/path/to/llama.cpp/build/bin/llama-cli llama-cli
2. LLaMA 模型转换
2.1 PTH 原始模型处理
首先安装 Python 3.10 及相关依赖:
pip install protobuf==3.20.0
pip install transformers
pip install sentencepiece
pip install peft
2.1.1 下载模型权重
下载原版 LLaMA 模型的权重和 tokenizer.model 文件。可使用 IPFS 客户端或 BitTorrent 下载。
压缩包内文件目录示例(LLaMA-7B):
├── llama-7b
│ ├── consolidated.00.pth
│ ├── params.json
│ └── checklist.chk
└── tokenizer.model
2.1.2 使用 pyllama 下载
通过 pip 安装库:
pip3 install transformers pyllama -U


