llama.cpp:在多种硬件上本地运行量化 LLM 的高性能 C/C++ 推理引擎

llama.cpp:在多种硬件上本地运行量化 LLM 的高性能 C/C++ 推理引擎

它解决了什么问题

llama.cpp 提供了一种在本地运行大型语言模型(LLM)的方式,设置简便,且在包括消费级 CPU 和 GPU 在内的各种硬件上都能实现高性能。它通过提供纯 C/C++ 实现的 LLM 推理,消除了对繁重依赖的需求。

工作原理

该项目使用 C/C++ 实现 LLM 推理,并利用 ggml 库进行性能优化。它支持大量硬件后端(如 Apple Silicon 的 Metal、NVIDIA 的 CUDA 以及通用 GPU 的 Vulkan),并采用整数量化(从 1.5 位到 8 位)来降低内存占用并提升速度。它还可以进行 CPU+GPU 混合推理,以运行超出可用显存的模型。

适用人群

面向希望在自有硬件上本地运行 LLM 的开发者和 AI 爱好者——无论是 MacBook、NVIDIA GPU 还是 RISC‑V 架构,都无需依赖云服务或复杂的安装过程。

亮点

  • 广泛的硬件支持:针对 Apple Silicon、x86(AVX/AMX)、RISC‑V、NVIDIA、AMD 和 Intel GPU 进行优化。
  • 量化技术:支持多种整数量化级别(1.5 位至 8 位),使大型模型能够在更小的设备上运行。
  • 丰富的模型兼容性:兼容大量纯文本和多模态模型,包括 LLaMA、Mistral、Gemma 和 LLaVA 等。
  • 零依赖:采用纯 C/C++ 编写,便于在不同平台上构建和部署。
  • 兼容 OpenAI 的 API:提供服务器模式(llama-server),可提供符合 OpenAI 格式的 REST API。

Sources