llama.cpp:一個高效能的 C/C++ 推論引擎,可在多樣硬體上本地執行量化 LLM
llama.cpp:一個高效能的 C/C++ 推論引擎,可在多樣硬體上本地執行量化 LLM
它解決了什麼問題
llama.cpp 提供了一種在本地執行大型語言模型(LLM)的方式,設定簡單,且在各種硬體上皆能達到高效能,包含消費級的 CPU 與 GPU。它透過純 C/C++ 的實作,免除繁重的相依性需求。
工作原理
此專案以 C/C++ 實作 LLM 推論,並使用 ggml 函式庫來最佳化效能。它支援多種硬體後端(例如 Apple Silicon 的 Metal、NVIDIA 的 CUDA、以及一般 GPU 的 Vulkan),並採用整數量化(從 1.5 位元到 8 位元)以降低記憶體使用量並提升速度。亦可進行 CPU+GPU 混合推論,讓模型大小超過可用 VRAM 時仍能執行。
目標使用者
想在自有硬體上本地執行 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
- undefinedggml-org/llama.cpp