llama.cpp vs vLLM:本地推理引擎怎么选

模型权重本身不会说话,需要推理引擎把它跑起来。简单说,推理引擎负责「把模型加载进显存/内存、按你的输入算出下一批 tok…

llama.cpp vs vLLM:本地推理引擎怎么选

一、推理引擎做什么

模型权重本身不会说话,需要推理引擎把它跑起来。简单说,推理引擎负责「把模型加载进显存/内存、按你的输入算出下一批 token」。llama.cpp 与 vLLM 是两类代表:一个重「轻量本地」,一个重「高并发服务」。选错引擎,要么跑不起来,要么资源浪费。

二、llama.cpp 的特点

llama.cpp 用 C/C++ 实现,支持量化,能在笔记本、甚至手机上跑模型。它和 Ollama 底层关系密切(Ollama 很多能力就建立在 llama.cpp 之上),是个人本地体验、边缘设备的首选,安装简单、跨平台。量化(如 q4_K、q5_K)让它能在 8GB 显存甚至纯 CPU 上跑 7B–14B 模型。

三、vLLM 的特点

vLLM 面向服务端高吞吐,核心是 PagedAttention,能高效批处理大量并发请求,显存利用高、吞吐大。做 API 服务、给多用户供模型,它更合适,常与生产系统对接。它支持连续批处理(continuous batching),多个请求动态拼批,闲置算力被充分利用。

四、怎么选(一张表)

  • 个人把玩、端侧、低资源:llama.cpp(或 Ollama 封装)。
  • 团队服务、高并发 API:vLLM。
  • 很多架构是「llama.cpp 做端侧,vLLM 做云端」。

若只是本地聊天,Ollama 足够;若要自建对外 API 网关,再上 vLLM/LocalAI。

五、注意点

量化换速度会略损质量,按硬件权衡;服务端要测并发与延迟。两者都持续更新,看官方基准而非旧评测。显存不足时,llama.cpp 可走 CPU 卸载但变慢,vLLM 则对 GPU 更依赖。

六、小结

七、部署架构与避坑

典型架构是「llama.cpp 做端侧、vLLM 做云端」:笔记本和边缘设备用 llama.cpp 跑量化模型,服务器用 vLLM 给多用户供高吞吐 API。量化类型(q4_K、q5_K 等)在速度与质量间权衡,显存小选更激进量化。避坑:量化换速度会略损质量,按硬件权衡;vLLM 对 GPU 依赖高,显存不足时吞吐上不去,先测并发与延迟再上线;两者都持续更新,看官方基准而非旧评测。若只是本地聊天,Ollama 足够;要自建对外 API 网关再上 vLLM/LocalAI。

再补部署架构:典型架构是轻量引擎做端侧、高吞吐引擎做云端,笔记本和边缘设备用轻量引擎跑量化模型,服务器用高吞吐引擎给多用户供高并发接口。量化类型在速度与质量间权衡,显存小选更激进量化。高吞吐引擎对显卡依赖高,显存不足时吞吐上不去,先测并发与延迟再上线;两者都持续更新,看官方基准而非旧评测。若只是本地聊天,轻量封装足够;要自建对外接口再上高吞吐或兼容网关。

再补一段部署架构:典型架构是轻量引擎做端侧、高吞吐引擎做云端,笔记本和边缘设备用轻量引擎跑量化模型,服务器用高吞吐引擎给多用户供高并发接口。量化类型在速度与质量间权衡,显存小选更激进量化。高吞吐引擎对显卡依赖高,显存不足时吞吐上不去,先测并发与延迟再上线;两者都持续更新,看官方基准而非旧评测。若只是本地聊天,轻量封装足够;要自建对外接口再上高吞吐或兼容网关。

最后再提醒,高吞吐引擎对显卡依赖高,显存不足时吞吐上不去,先测并发与延迟再上线;两者都持续更新,看官方基准而非旧评测。若只是本地聊天,轻量封装足够;要自建对外接口再上高吞吐或兼容网关。量化类型在速度与质量间权衡,按硬件选。

一个轻量、一个高吞吐,按「谁来用、用多少」选引擎。版本与性能会变,文中以撰写时为准。想了解更多地 AI 工具与落地实践,可关注软著通与风航科技。