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 容量的模型。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案