自分のパソコンでChatGPTのようなAIを動かせる!100以上のモデル対応の超軽量エンジン — llama.cpp

ggml-org/llama.cppC++102.3k

llama.cppは、大規模言語モデル(ChatGPTのようなAI)を自分のパソコンやスマホ上で直接動かすためのソフトウェアです。C/C++というプログラミング言語で書かれており、外部サービスに頼らずにAIとの会話やテキスト生成をローカル環境で実行できます。Apple Silicon搭載のMac、NVIDIA/AMDのGPU、さらにはスマートフォンまで幅広いハードウェアに対応しており、モデルを圧縮(量子化)する技術によってメモリが少ない機器でも動作します。OpenAI互換のAPIサーバー機能も内蔵しているため、既存のAIアプリケーションの裏側としても利用可能です。プライバシーを重視する人や、インターネット接続なしでAIを使いたい人に最適なツールです。

🔥 なぜ話題?

OpenAIのGPT-ossモデルへの対応やマルチモーダル(画像理解)機能のサーバー統合など、大型アップデートが続いていることに加え、ローカルAI実行への需要がますます高まっている背景があります。クラウドに依存せず自分のハードウェアでAIを動かしたいという世界的なトレンドの中心に位置するプロジェクトとして注目を集めています。

💡 こう使える!

例えば、仕事で扱う機密文書の要約や質問応答をしたいけれど、ChatGPTのようなクラウドサービスにデータを送りたくない場合に、llama.cppを使って自分のパソコン上でAIモデルを起動し、完全にオフラインで文書の内容について質問したり要約を生成したりできます。コマンド一つでHugging Faceからモデルをダウンロードして即座に会話を始められます。

ユースケース: インターネットに接続せず、自分のパソコンやサーバー上でAIチャットボットやテキスト生成を動かしたい場面で使うツール。

  • 100種類以上のAIモデルに対応し、LLaMA、Mistral、Deepseek、Qwen、Gemmaなど主要モデルをカバー
  • 1.5ビットから8ビットまでの量子化に対応し、少ないメモリでも高性能AIを実行可能
  • OpenAI互換のAPIサーバーを内蔵しており、既存のAIアプリからそのまま利用できる
  • Apple Silicon、NVIDIA GPU、AMD GPU、Vulkan、RISC-Vなど17種類以上のバックエンドに対応
  • Hugging Faceからコマンド一つでモデルをダウンロード・実行できる手軽さ
GitHubで見る →

LLM inference in C/C++

技術情報

言語

C++

ライセンス

MIT

最終更新

2026-04-07

スター数

102,252

フォーク数

16,492

Issue数

1,410

トピック

ggml

技術詳細

アーキテクチャ・仕組み

llama.cppはC/C++で実装されたLLM(大規模言語モデル)推論エンジンで、基盤ライブラリとしてggmlを使用しています。外部依存を最小限に抑えた設計で、モデルはGGUFという独自のバイナリ形式で保存・読み込みされます。

対応バックエンド(17種類以上)

バックエンド対象デバイス
MetalApple Silicon
CUDANVIDIA GPU
HIPAMD GPU
Vulkan汎用GPU
SYCLIntel/NVIDIA GPU
MUSAMoore Threads GPU
CANNAscend NPU
OpenCLAdreno GPU
BLAS/BLIS全般
WebGPU(開発中)全般
Hexagon(開発中)Snapdragon

CPU+GPUのハイブリッド推論にも対応しており、VRAMに収まりきらない大規模モデルも部分的にGPUで高速化可能です。

CPU最適化

  • Apple Silicon: ARM NEON、Accelerate、Metal フレームワークで最適化
  • x86: AVX、AVX2、AVX512、AMX 命令セット対応
  • RISC-V: RVV、ZVFH、ZFH等のベクトル拡張対応

量子化(モデル圧縮)

1.5ビット、2ビット、3ビット、4ビット、5ビット、6ビット、8ビットの整数量子化をサポート。これにより推論速度の向上とメモリ使用量の大幅な削減が可能です。NVIDIAとのコラボレーションによるネイティブMXFP4形式もサポートしています。

主要ツール

  • llama-cli: コマンドラインで会話やテキスト生成を行うツール。チャットテンプレート、文法制約(GBNF)に対応
  • llama-server: OpenAI API互換のHTTPサーバー。複数ユーザーの同時接続、投機的デコーディング、埋め込み(embedding)・リランキングの提供が可能
  • llama-perplexity: モデルの品質(パープレキシティ)を測定するツール
  • llama-bench: 推論パフォーマンスのベンチマークツール

多言語バインディング

Python、Go、Node.js、Rust、C#、Java、Ruby、Swift、Flutter/Dart、React Native、Zig、Clojure、PHPなど20以上の言語バインディングが利用可能です。ブラウザ上で動作するWebAssembly版も存在します。

マルチモーダル対応

LLaVA、Qwen2-VL、MiniCPMなどの画像理解モデルにも対応。llama-serverでマルチモーダルAPIを提供可能です。

XCFramework

iOS、visionOS、tvOS、macOS向けのプリコンパイル済みXCFrameworkが提供されており、Swift Package Managerから簡単に導入できます。

モデル取得

Hugging Faceから-hfオプションで直接ダウンロード可能。ダウンロード先は標準のHugging Faceキャッシュディレクトリに統合され、他のHFツールとモデルを共有できます。PyTorchモデルからGGUFへの変換スクリプトも同梱されています。

ライセンス

MITライセンスで公開されており、商用利用も可能です。

依存ライブラリ

  • cpp-httplib(HTTPサーバー、MIT)
  • stb-image(画像デコーダー、パブリックドメイン)
  • nlohmann/json(JSONライブラリ、MIT)
  • miniaudio.h(音声デコーダー、パブリックドメイン)

インストール・クイックスタート

インストール方法(複数の選択肢あり)

パッケージマネージャーで導入:

# macOS (Homebrew)
brew install llama.cpp

# Windows (winget)
winget install llama.cpp

# Nix
nix-shell -p llama-cpp

ビルド済みバイナリ: リリースページからダウンロード

Dockerで実行:

# Docker用のドキュメントを参照

クイックスタート

# Hugging Faceからモデルをダウンロードしてチャット開始
llama-cli -hf ggml-org/gemma-3-1b-it-GGUF

# OpenAI互換のAPIサーバーを起動
llama-server -hf ggml-org/gemma-3-1b-it-GGUF

# ローカルのモデルファイルを使用
llama-cli -m my_model.gguf

参考になる外部の関連記事

関連リポジトリ

AIモデルを軽量化!CPUでも爆速で動く機械学習エンジン — ggml

ggml-org/ggmlC++14.1k

ggmlは、AIモデル(機械学習の仕組み)を普通のパソコンやスマホでも速く動かせるようにする技術ライブラリです。通常は高性能なGPU(グラフィック処理専用チップ)が必要なAI処理を、CPUだけでも軽快

中国発の本格派AI開発プラットフォーム!2333万人の開発者が選んだ産業用深層学習フレームワーク — Paddle

PaddlePaddle/PaddleC++23.7k

Paddleは中国百度が開発した深層学習フレームワークで、AIモデルの作成から実用化まで一貫してサポートするプラットフォームです。製造業や農業など様々な分野で実際に使われており、世界で2333万人の開

数億のベクトルデータを瞬時検索!軽量AIデータベースが登場 — zvec

alibaba/zvecC++5.1k

zvecは、AIアプリに組み込んで使えるデータベースで、文章や画像などをベクトル(数値の集合)に変換したデータを超高速で検索できます。通常のデータベースとは違い、「似ている内容」を探すのが得意で、例え

スマホもラズパイもOK!大規模言語モデルをエッジ端末で爆速動作させるGoogle公式フレームワーク — LiteRT-LM

google-ai-edge/LiteRT-LMC++3.1k

LiteRT-LMは、Googleが開発した大規模言語モデル(AIが文章を生成する仕組み)をスマートフォンやパソコン、IoT機器などの手元のデバイスで高速に動かすためのオープンソースフレームワークです

スマホやIoTでAIをサクサク動かす!TensorFlow Liteの正統後継フレームワーク — LiteRT

google-ai-edge/LiteRTC++1.9k

LiteRTは、Googleが開発した「デバイス上で直接AIを動かす」ためのフレームワークで、TensorFlow Liteの後継にあたります。スマートフォン、パソコン、IoT機器など幅広いデバイス上