160、llama.cpp 与 GGUF 量化:CPU 推理加速、量化级别对比与硬件选型
160、llama.cpp 与 GGUF 量化:CPU 推理加速、量化级别对比与硬件选型
一、从一次线上事故说起
去年冬天,我接手了一个内部知识库问答系统。团队用 Hugging Face Transformers 加载了一个 7B 模型,部署在 4 张 V100 上,推理速度勉强能接受。但运维反馈说 GPU 资源吃紧,每次扩容都要等审批,而且 7B 模型在 CPU 上跑一次推理要 30 秒——这谁受得了?
我当时的第一个想法是:能不能把模型量化后扔到 CPU 上跑?毕竟公司有大量闲置的 Intel Xeon 服务器,内存 256GB 起步,但 GPU 配额卡得死死的。
于是我开始折腾 llama.cpp 和 GGUF 格式。这一折腾就是两周,踩了无数坑。今天这篇笔记,就是我当时调试过程的真实记录。
二、llama.cpp 是什么?为什么选它?
先说结论:llama.cpp 是一个纯 C/C++ 实现的 LLM 推理框架,主打 CPU 推理和低资源部署。它不依赖 CUDA、PyTorch 这些重型依赖,编译出来就一个可执行文件,扔到服务器上就能跑。
我当时选它的理由很简单:
- 无 GPU 依赖:公司服务器没 GPU 也能跑,省去了申请 GPU 配额的麻烦
- 内存友好:量化后的模型可以塞进 32GB 内存的机器
- 跨平台:Window
