ggml-org/llama.cpp

LLM inference in C/C++

解决的问题

llama.cpp 提供了一种在各种硬件上以最少的设置和高性能本地运行大型语言模型(LLMs)和视觉语言模型(VLMs)的方法。它无需依赖重型组件,使用户能够在自己的设备上运行强大的 AI 模型,包括笔记本电脑和云服务器。

工作原理

该项目使用纯 C/C++ 编写,基于 ggml 库构建。它采用先进的量化技术(从 1.5 位到 8 位),以减少内存占用并加速推理。为了最大化性能,项目包含了针对多种架构的专用优化,包括 Apple Silicon(Metal)、NVIDIA GPU(CUDA)、AMD GPU(HIP)以及各种 CPU 指令集(AVX、RVV)。

适用人群

希望在不依赖云 API 的情况下本地运行 LLM 和 VLM 的开发者和 AI 爱好者,以及希望在消费级硬件上优化推理性能的用户。

主要亮点

  • 广泛的硬件支持:支持大量后端,包括 CUDA、Metal、Vulkan、SYCL 以及各种 CPU(x86、RISC-V、Apple Silicon)。
  • 量化支持:提供多种整数量化级别(1.5 位至 8 位),可将更大的模型适配到更小的内存中。
  • 无依赖:纯 C/C++ 实现,无外部依赖。
  • OpenAI 兼容 API:包含服务器模式(llama serve),提供 OpenAI 兼容的 REST API。
  • 混合推理:支持 CPU+GPU 混合推理,可运行超出总 VRAM 容量的模型。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目