ggml-org/llama.cpp
LLM inference in C/C++
llama.cpp – 純粋 C/C++ で実現する高速 LLM 推論
何か – llama.cpp はローカルで大規模言語モデル(LLM)を実行するためのライブラリとコマンドラインツールのセットです。外部ランタイム依存がなく、純粋な C/C++ で書かれており、CPU と GPU(Apple Metal、x86 AVX/AVX2/AVX‑512/AMX、RISC‑V 拡張、CUDA、Vulkan、SYCL など)幅広いハードウェアを対象としています。目標は、最先端の推論性能を提供しつつ、セットアップをできるだけシンプルにすることです。
主な機能
- GGML/GGUF モデル形式をサポートし、モデルを 1.5‑8 ビット整数に量子化してメモリ使用量を削減し、推論を高速化します。
- ノートブック(Apple Silicon、x86、RISC‑V)からクラウド GPU(NVIDIA、AMD、Intel、Moore Threads、Ascend)まで、さらには WebGPU 経由のブラウザでも動作します。
- 軽量 CLI(
llama-cli)で直接プロンプトを実行し、OpenAI API をエミュレートする REST 互換サーバー(llama‑server)を提供、エンジンを他プログラムに組み込むための C ライブラリ(libllama)もあります。 - 豊富なモデルサポート:LLaMA 1‑3、LLaMA 2、Mistral、Mixtral、Falcon、Gemma、Yi、Qwen、数多くの多言語・コードモデルに加え、マルチモーダル視覚‑言語モデル(LLaVA、BakLLaVA、Moondream など)も増加中です。
- 言語バインディング(Python、Go、Node、Rust、.NET、Java、Swift、Ruby など)と UI フロントエンド(LMStudio、Ollama、Jan、KoboldCPP、LocalAI など)のエコシステムが充実しています。
はじめ方
- インストール – パッケージマネージャー(
brew、nix、winget、conda‑forge)を使うか、リリースページからビルド済みバイナリを取得、提供されている Docker イメージを実行、あるいはソースからビルドします(docs/install.mdとdocs/build.mdを参照)。 - モデル取得 – Hugging Face から GGUF モデルをダウンロード(
llama-cli -hf <repo>/<model>-GGUF)するか、ggifyなどのツールで自分の PyTorch チェックポイントを変換します。 - プロンプト実行
llama-cli -m my_model.gguf "Explain quantum computing in one sentence" - サーバー起動(OpenAI 互換クライアント向け):
任意の OpenAI クライアントライブラリでフロントエンドとして利用可能です。llama-server -hf ggml-org/gemma-3-1b-it-GGUF
重要性
- 重厚なフレームワークを必要とせず、プライベートかつオフラインで LLM を利用できるようにします。
- ハードウェアのハードルを下げます:積極的な量子化により、一般的な CPU でも 4‑7 B パラメータモデルを実行可能です。
- GGML エコシステムのリファレンス実装として、多くの下流プロジェクト(バインディング、UI アプリ、クラウドネイティブ LLMOps プラットフォームなど)を牽引します。
リソース
- ドキュメント – インストール、ビルドオプション、バックエンド詳細、マルチモーダルサポート、モデル追加ガイド。
- コミュニティ – 新機能、パッケージ化、WebUI、コラボレーション(例:NVIDIA MXFP4 サポート)についての議論。
- バインディング&UI一覧 –
llama.cppを利用した言語バインディングとユーザーインターフェースの厳選リスト。
上記情報はすべてリポジトリの README から直接引用しています。