Llama.cpp 模型量化与 Ollama Docker 部署实战指南
前言
在本地运行微调后的大语言模型(LLM)时,原始模型文件通常体积庞大,对硬件资源要求极高。为了在消费级显卡甚至 CPU 环境下流畅运行,我们需要对模型进行量化处理。本文将详细介绍如何使用 llama.cpp 工具链对模型进行量化,并通过 Ollama 容器化部署实现本地推理。
1. 环境准备
1.1 C++ 编译工具安装
llama.cpp 核心由 C++ 编写,因此需要构建本地编译环境。Windows 用户推荐使用 Visual Studio。
- 下载并安装 Visual Studio Installer。
- 在安装组件选择界面,勾选'使用 C++ 的桌面开发'工作负载。
- 确保勾选了 Windows 10/11 SDK 和 MSVC v14x 生成工具。
- 安装完成后重启电脑。
- 打开命令行输入
cmake --version验证安装是否成功。
1.2 依赖环境配置
- Git:用于克隆 llama.cpp 源码仓库。
- Python:用于执行模型转换脚本,建议版本 3.8 及以上。
- Conda:推荐创建独立虚拟环境管理依赖,避免污染全局环境。
- Docker:用于后续 Ollama 的容器化部署。
2. 编译 llama.cpp
建议单独建立文件夹存放项目源码。
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
mkdir build
cd build
执行编译命令,指定 Release 模式以优化性能:
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
编译过程中可能会出现大量警告信息,只要没有红色报错提示,通常不影响构建结果。编译耗时约 5 分钟,具体取决于硬件性能。
编译成功后,可在 build\bin\Release 目录下找到可执行文件,如 llama-cli.exe、llama-quantize.exe 等。
3. 模型转换与量化
3.1 格式转换
首先将微调后的 HuggingFace 格式模型转换为 GGUF 格式。启动 Conda 虚拟环境,进入 llama.cpp 源码目录下的 examples 或根目录(视版本而定),运行转换脚本:
python convert_hf_to_gguf.py <此前导出的模型文件路径>
该脚本会生成一个 16 位精度的 GGUF 文件。例如:model-16bit.gguf。
3.2 模型量化
为了降低显存占用并提升推理速度,需对 GGUF 文件进行量化。常用量化方案包括 Q4_K_M、Q5_K_M 等,其中 Q4_K_M 在精度与体积间取得了较好平衡。
新建目标存储文件夹,运行量化命令:
llama-quantize.exe input_model.gguf output_model_q4.gguf Q4_K_M
参数说明:
input_model.gguf:上一步生成的 16 位 GGUF 文件路径。output_model_q4.gguf:量化后文件的保存路径及名称。


