llama.cppとは?ローカルLLM実行エンジンの全貌を解説
オープンソースラボ編集部 ・ 2026年6月12日
llama.cppは、大規模言語モデル(LLM)の推論をC/C++で実装したオープンソースプロジェクトです。量子化技術(GGUF形式)によって、本来は高性能GPUが必要なモデルを一般的なノートPCやMacBook、さらにはスマートフォンでも動かせる点が最大の特徴です。MITライセンスで無料・商用利用可能、GitHubスター数は11万超(2025年時点)と極めて活発なプロジェクトで、OllamaやLM Studioなど多くの人気ツールが内部エンジンとして採用しています。この記事では、llama.cppの概要・主な機能・料金・導入方法・活用シーン・デメリットまでをまとめて解説します。
llama.cppの概要と基本情報
llama.cppは、Meta社が開発したLLaMAモデルをCPUのみで動かすことを目的に、Georgi Gerganov氏が2023年3月に公開したプロジェクトです。当初はLLaMA専用でしたが、現在はLlama 3・Mistral・Gemma・Phi・Qwen・DeepSeekなど主要なオープンウェイトモデルを広くサポートしています。
リポジトリはGitHub上でllama.cppとして公開されており、2025年現在でGitHubスター数は116,000超、コントリビューター数も数百名規模に達しています。依存ライブラリが少なく、Linux・macOS・Windows・Android・iOSなどクロスプラットフォームで動作するため、エンタープライズから個人開発まで幅広い環境で採用されています。
| 項目 | 内容 |
|---|---|
| 開発者 | Georgi Gerganov(個人→コミュニティ主導) |
| 初回公開 | 2023年3月 |
| ライセンス | MIT(無料・商用利用可) |
| 実装言語 | C / C++ |
| GitHubスター数 | 116,093(2025年時点) |
| 対応プラットフォーム | Linux / macOS / Windows / Android / iOS |
| 主な量子化形式 | GGUF |
主な特徴・できること
GPU不要でLLMを動かせる量子化技術
llama.cppの中核となるのがGGUF形式による量子化です。量子化とは、モデルの重みデータを32ビット浮動小数点から4ビット・8ビットなどの低精度に圧縮する技術で、モデルサイズを大幅に削減できます。たとえば7Bパラメータのモデルであれば、量子化前は約14GB必要なところを、4ビット量子化後は約4GBまで圧縮でき、一般的なノートPCのRAMで動作します。
対応モデルの広さ
現在対応しているモデルファミリーは以下の通りです。
| モデルファミリー | 代表的なモデル |
|---|---|
| Meta Llama系 | Llama 3.1, Llama 3.2 |
| Mistral系 | Mistral 7B, Mixtral 8x7B |
| Google系 | Gemma 2, Gemma 3 |
| Microsoft系 | Phi-3, Phi-4 |
| Alibaba系 | Qwen 2.5 |
| DeepSeek系 | DeepSeek-R1, DeepSeek-V3 |
OpenAI互換APIサーバー機能
llama.cppにはllama-serverというHTTPサーバー機能が付属しており、OpenAI互換のREST APIを提供します。これにより、OpenAI APIを前提として作られたLangChainやLangFlowなどのツールを、クラウドAPIの代わりにローカルで動かすことが可能です。
マルチGPU・Apple Silicon対応
CPUのみでも動作しますが、NVIDIA CUDA・AMD ROCm・Apple Metal(M1/M2/M3/M4チップ)にも対応しており、GPUを搭載した環境ではGPUオフロードによってさらに高速な推論が可能です。
料金・ライセンスについて
llama.cppはMITライセンスで公開されており、無料で利用できます。個人利用はもちろん、商用利用・社内システムへの組み込み・SaaSへの組み込みも許可されています。ライセンス料は一切かかりません。
ただし、llama.cpp自体のライセンスと、動かすLLMモデルのライセンスは別物です。たとえばMeta社のLlamaモデルにはMeta独自の利用規約(Llama Community License)があり、月間アクティブユーザーが7億人を超える場合は別途許可が必要です。商用利用の際はモデル側のライセンス確認も必ず行ってください。
導入方法・使い方
Homebrewを使ったmacOSへの導入(最も簡単)
macOSの場合、Homebrewを使えば1コマンドで導入できます。
brew install llama.cpp
インストール後、Hugging FaceなどからGGUF形式のモデルファイルをダウンロードし、以下のコマンドで対話型チャットを起動できます。
llama-cli -m モデルファイル.gguf -cnv
ソースからのビルド(Linux・Windows)
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
cmake -B build
cmake --build build --config Release
APIサーバーとして起動する
llama-server -m モデルファイル.gguf --port 8080
起動後はhttp://localhost:8080にアクセスするか、curlなどでOpenAI互換APIとして呼び出せます。DifyなどのLLMOpsプラットフォームとも連携可能です。
GGUFモデルの入手先
GGUF形式のモデルはHugging FaceのTheBloke氏やBartowski氏などのアカウントで多数公開されています。モデルサイズと量子化ビット数(Q4_K_M・Q8_0など)によって品質と速度のバランスが変わるため、自分のPC環境のRAM容量に合わせて選択します。
活用シーン
機密データを扱う企業のオフライン推論
医療・法務・金融など、個人情報や機密情報を外部のクラウドAPIに送信できない業種において、llama.cppはオンプレミス・エアギャップ環境でのLLM活用を可能にします。データが外部に出ないため、情報漏洩リスクを大幅に低減できます。
エッジデバイスへのAI組み込み
llama.cppはRaspberry PiやAndroid端末でも動作実績があります。ネットワーク接続が不安定な環境や、レイテンシを極力下げたいリアルタイム処理においても活用できます。
ローカル開発・プロトタイピング
APIの利用料金を気にせずに、LLMを使ったアプリケーションのプロトタイプ開発が行えます。vLLMのようなサーバー向け高スループットエンジンを本番環境に採用する前の検証用途としても広く使われています。
RAGシステムの構築
llama-serverのOpenAI互換APIを利用することで、RAGFlowなどのRAGエンジンとも組み合わせて、社内文書を活用したチャットボットをクラウドなしで構築できます。
デメリット・注意点
llama.cppは優れたツールですが、導入・運用前に把握しておくべき制限事項があります。
クラウドAPIより推論速度が遅い
CPUのみで動作させる場合、OpenAIのGPT-4oなどクラウドAPIと比べてトークン生成速度が大幅に遅くなります。高性能GPU(NVIDIA RTX 4090など)を搭載した環境であれば差は縮まりますが、一般的なノートPC(CPUのみ)では7Bモデルで毎秒5〜20トークン程度が現実的な速度感です。
モデルのダウンロードに大容量ストレージが必要
GGUF形式に量子化しても、7Bモデルで3〜8GB、13Bモデルで7〜15GB程度のストレージが必要です。複数のモデルを試す場合、ストレージ容量の確保が課題になります。
セットアップにコマンドライン操作が必要
llama.cpp本体はCLIツールであり、GUIはありません。非エンジニアがそのまま利用するにはハードルが高い点は正直に伝えます。GUIを求める場合は、llama.cppをバックエンドに使うOllamaやLM Studioの利用を検討してください。
大規模同時アクセスには不向き
llama.cppはシングルユーザー・開発用途向けの設計です。多数のユーザーが同時にリクエストするプロダクション環境には、vLLMのような高スループット推論エンジンの方が適しています。
アップデートの頻度が高く追従が必要
llama.cppは開発が非常に活発で、APIや設定オプションが頻繁に変更されます。依存したアプリケーションを保守する際は、バージョンアップへの追従コストを考慮してください。
よくある質問
Q. llama.cppは完全無料で商用利用できますか?
llama.cpp自体はMITライセンスで、無料かつ商用利用が可能です。ただし、動かすLLMモデルは各モデルのライセンスに従う必要があります。MetaのLlamaモデルにはMeta独自の利用規約があるため、商用利用前に必ずモデル側のライセンスを確認してください。MistralやGemma(Gemma Terms of Use)など、モデルごとに条件が異なります。
Q. GPUなしのPCでも動きますか?
はい、動作します。llama.cppはCPUのみでも動作するよう設計されており、これが他のLLM推論ツールとの大きな差別化点です。ただし、CPUのみの場合は生成速度が遅くなるため、用途に応じた使い分けが重要です。Apple M系チップはMetalを通じたGPUアクセラレーションが有効で、CPUのみの環境と比べて数倍〜十数倍の速度が出ます。
Q. OllamaやLM Studioとの違いは何ですか?
OllamaもLM Studioも、内部でllama.cppを推論エンジンとして利用しています。llama.cppはコアエンジンそのものであり、CLIベースで低レイヤーな制御が可能です。OllamaはDockerライクなモデル管理とAPI提供に特化し、LM StudioはGUIによる使いやすさを重視した上位レイヤーのツールです。エンジニアが細かい設定やカスタマイズを行いたい場合はllama.cpp直接利用が向いており、非エンジニアには上位ツールの利用を推奨します。
Q. どのくらいのスペックのPCが必要ですか?
目安として、7Bモデル(Q4_K_M量子化)の場合はRAM 8GB以上、13Bモデルの場合はRAM 16GB以上が推奨されます。ストレージはモデルファイル分(3〜15GB程度)の空き容量が必要です。CPUはIntel/AMD/Apple Siliconいずれも対応しています。処理速度にこだわる場合はVRAM 8GB以上のGPU(NVIDIA RTX 3060以上など)を搭載したマシンが快適です。
まとめ
llama.cppは、GPU不要でローカルにLLMを動かすための最も広く使われているオープンソースエンジンです。MITライセンスによる無料・商用利用可能な点、GGUF量子化による軽量動作、OpenAI互換APIサーバー機能など、ローカルLLM活用の基盤として多くの強みを持っています。
一方で、CLIベースのセットアップや低速なCPU推論、大規模同時アクセスへの非対応といった制限もあります。プロジェクトの要件(データのセキュリティ要件・スループット・操作スキル)に合わせて、llama.cpp直接利用か、OllamaなどのフロントエンドツールやクラウドAPIとの使い分けを検討することをお勧めします。
ローカルLLMをアプリに組み込む際は、LangChainやDifyなどのフレームワークと組み合わせることで、より実用的なAIアプリケーションを構築できます。
