この記事の対象読者
- ローカルでLLMを動かしたいが、どのツールを選べばいいかわからない方
- llama.cpp、Ollama、LM Studioの違いを知りたい方
- 自分の用途に最適なツールを見つけたいエンジニア・非エンジニア
- プライバシーを重視してAIを使いたい方
この記事で得られること
- 3大ローカルLLMツールの特徴と違いの完全理解
- 用途別の最適ツール選択の指針
- それぞれの長所・短所の把握
- 各ツールの詳細記事への導線
この記事で扱わないこと
- 各ツールの詳細な使い方(個別記事を参照)
- クラウドLLMサービスとの比較
- モデルのファインチューニング
1. ローカルLLMとの出会い
「ChatGPTは便利だけど、会社のデータを入力するのはちょっと...」
この悩みを持つ人は多い。クラウドAIは便利だが、プライバシー、コスト、オフライン利用など、様々な理由でローカル実行を選ぶ人が増えている。
2025年現在、ローカルLLMを動かすための3大ツールが存在する。
| ツール | 一言でいうと |
|---|---|
| llama.cpp | ローカルLLMの「エンジン」 |
| Ollama | ローカルLLMの「Homebrew」 |
| LM Studio | ローカルLLMの「iTunes」 |
実は、この3つは競合ではなくレイヤーが異なる。
┌─────────────────────────────────────┐
│ LM Studio(GUIアプリケーション) │ ← ユーザー向け
├─────────────────────────────────────┤
│ Ollama(モデル管理 + API) │ ← 開発者向け
├─────────────────────────────────────┤
│ llama.cpp(推論エンジン) │ ← 低レイヤー
└─────────────────────────────────────┘
OllamaもLM Studioも、内部ではllama.cppを使っている。つまり、llama.cppは「心臓部」であり、OllamaとLM Studioは「ラッパー」なのだ。
ここまでで、3つのツールの関係性がイメージできたでしょうか。次は、それぞれの特徴を詳しく見ていきましょう。
2. 前提知識の確認
本題に入る前に、この記事で登場する用語を確認します。
2.1 GGUF(GPT-Generated Unified Format)とは
llama.cppが使用するモデルファイル形式。量子化されたモデルの重み、トークナイザー、設定情報をひとつのファイルにまとめた規格。3つのツールすべてで使用される。
2.2 量子化(Quantization)とは
モデルの精度を落として、ファイルサイズとメモリ使用量を削減する技術。例えば、Q4_K_Mは4bit量子化で、元の1/4以下のサイズになる。
2.3 OpenAI互換APIとは
OpenAIのAPIと同じエンドポイント・フォーマットで動作するAPI。OllamaとLM Studioはこれを提供しており、既存のOpenAI向けアプリをローカルLLMに切り替えられる。
これらの用語が押さえられたら、各ツールの詳細を見ていきましょう。
3. 3大ツール徹底比較
3.1 llama.cpp
「全ての始まり、ローカルLLMの心臓部」
| 項目 | 内容 |
|---|---|
| 開発者 | Georgi Gerganov |
| ライセンス | MIT |
| 言語 | C/C++ |
| インターフェース | CLI、API、ライブラリ |
| 対応OS | Windows、macOS、Linux、Android、iOS |
特徴:
- 依存関係ゼロの純粋なC/C++実装
- 最も多くのハードウェアバックエンドをサポート
- 常に最新の最適化が入る
- 他のツールの基盤
こんな人向け:
- 最大のパフォーマンスを追求したい
- カスタムアプリケーションに組み込みたい
- 最新のモデルや機能をいち早く試したい
→ 詳細: llama.cppってなんだ?
3.2 Ollama
「開発者のための最短経路」
| 項目 | 内容 |
|---|---|
| 開発元 | Ollama, Inc. |
| ライセンス | MIT |
| 基盤 | llama.cpp |
| インターフェース | CLI、REST API、デスクトップアプリ |
| 対応OS | Windows、macOS、Linux |
特徴:
-
ollama run llama3.2だけで即座に実行 - モデル管理が楽(Dockerイメージのように扱える)
- OpenAI互換APIが標準搭載
- Modelfileでカスタマイズ可能
こんな人向け:
- コマンドラインが好き
- 素早くプロトタイプを作りたい
- 既存アプリにローカルLLMを組み込みたい
→ 詳細: Ollamaってなんだ?
3.3 LM Studio
「誰でも使える美しいGUI」
| 項目 | 内容 |
|---|---|
| 開発元 | Element Labs |
| ライセンス | プロプライエタリ(CLI/SDKはMIT) |
| 基盤 | llama.cpp、MLX |
| インターフェース | GUI、CLI、REST API |
| 対応OS | Windows、macOS、Linux |
特徴:
- 美麗なGUIでモデル管理・チャット
- ドラッグ&ドロップでRAG(ドキュメント対話)
- モデルの比較・切り替えが簡単
- 非エンジニアでも使える
こんな人向け:
- コマンドラインが苦手
- 複数モデルを比較したい
- まずはローカルLLMを体験してみたい
→ 詳細: LM Studioってなんだ?
基本的な違いがわかったところで、機能を詳しく比較しましょう。
4. 機能別比較表
4.1 基本機能
| 機能 | llama.cpp | Ollama | LM Studio |
|---|---|---|---|
| GUI | × | △(デスクトップアプリ) | ◎ |
| CLI | ◎ | ◎ | ○ |
| モデル管理 | △(手動) | ◎ | ◎ |
| インストール難易度 | 難 | 易 | 易 |
| OpenAI互換API | ○ | ◎ | ◎ |
4.2 ハードウェアサポート
| ハードウェア | llama.cpp | Ollama | LM Studio |
|---|---|---|---|
| CPU(AVX2) | ◎ | ◎ | ◎ |
| NVIDIA CUDA | ◎ | ◎ | ◎ |
| Apple Metal | ◎ | ◎ | ◎ |
| AMD ROCm | ◎ | ○ | △ |
| Intel SYCL | ◎ | × | × |
| Vulkan | ◎ | × | △ |
| Android/iOS | ◎ | × | × |
4.3 開発者向け機能
| 機能 | llama.cpp | Ollama | LM Studio |
|---|---|---|---|
| Python SDK | ○(サードパーティ) | ◎ | ◎ |
| JavaScript SDK | ○(サードパーティ) | ◎ | ◎ |
| Docker対応 | ○ | ◎ | × |
| ストリーミング | ◎ | ◎ | ◎ |
| 関数呼び出し | ○ | △ | △ |
| RAG(ドキュメント対話) | ×(自作必要) | ×(自作必要) | ◎ |
| MCP対応 | × | △ | ○ |
4.4 運用面
| 項目 | llama.cpp | Ollama | LM Studio |
|---|---|---|---|
| 本番運用 | ◎ | ◎ | △ |
| メモリ効率 | ◎ | ○ | ○ |
| 起動速度 | ◎ | ○ | △ |
| アップデート頻度 | 非常に高い | 高い | 高い |
| コミュニティ | 巨大 | 大 | 中 |
各機能を比較できたところで、具体的なユースケース別の推奨を見ていきましょう。
5. ユースケース別おすすめ
5.1 「とりあえずローカルLLMを体験したい」
→ LM Studio
理由:
- インストールが最も簡単
- GUIで直感的に操作可能
- モデルの検索・ダウンロードが楽
5.2 「アプリ開発にローカルLLMを組み込みたい」
→ Ollama
理由:
- OpenAI互換APIですぐに統合可能
- 公式Python/JavaScript SDKが充実
- Docker対応で本番運用も楽
5.3 「最高のパフォーマンスを追求したい」
→ llama.cpp(直接使用)
理由:
- 最新の最適化が真っ先に入る
- 細かいパラメータ調整が可能
- メモリ効率が最も高い
5.4 「社内ドキュメントと対話したい」
→ LM Studio
理由:
- RAG機能が標準搭載
- ドラッグ&ドロップでドキュメント追加
- 追加のセットアップ不要
5.5 「Dockerで運用したい」
→ Ollama
理由:
- 公式Dockerイメージが充実
- Docker Composeでの運用が楽
- 環境変数で柔軟に設定可能
5.6 「複数モデルを比較評価したい」
→ LM Studio
理由:
- モデル切り替えがワンクリック
- パラメータをスライダーで調整
- 同じプロンプトで比較しやすい
5.7 「AndroidやiOSで動かしたい」
→ llama.cpp
理由:
- モバイルネイティブサポート
- 2025年12月にフルアクセラレーション対応
- 他のツールはモバイル非対応
ユースケースを把握できたところで、環境別の設定例を見ていきましょう。
6. 環境別クイックスタート
6.1 開発環境(ローカルPC)
# 最も簡単な方法: Ollama
curl -fsSL https://ollama.com/install.sh | sh
ollama run llama3.2
# GUIが欲しい場合: LM Studio
# https://lmstudio.ai/ からダウンロード
6.2 本番環境(サーバー)
# docker-compose.yml(Ollama推奨)
version: '3.8'
services:
ollama:
image: ollama/ollama:latest
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped
volumes:
ollama_data:
6.3 CI/CD環境
# GitHub Actions(llama.cpp直接使用を推奨)
- name: Setup llama.cpp
run: |
git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
cmake -B build
cmake --build build --config Release
- name: Run inference test
run: |
./llama.cpp/build/bin/llama-cli \
-m model.gguf \
-p "Test prompt" \
-n 100
7. よくある質問(FAQ)
Q1: どれを選べばいいかわからない
A: 迷ったらOllamaから始めよう
Ollamaは「CLI派」と「GUI派」の中間に位置し、バランスが良い。後からllama.cpp直接使用やLM Studioに移行することも容易だ。
Q2: パフォーマンスの差はどれくらい?
A: 実用上はほぼ同じ
すべてllama.cppベースなので、推論速度の差は5%以下。起動時間やメモリ使用量に若干の差がある程度。
Q3: 複数のツールを併用できる?
A: できるが、モデルの重複に注意
それぞれが独自のモデルディレクトリを持つため、同じモデルをダウンロードするとストレージを圧迫する。
Q4: 企業で使う場合のおすすめは?
A: 用途による
- 開発チーム向け: Ollama(API統合が楽)
- 非エンジニア向け: LM Studio(GUIで使える)
- 高負荷運用: llama.cpp直接またはvLLM
Q5: 無料で使える?
A: すべて無料
- llama.cpp: MIT License、完全無料
- Ollama: MIT License、完全無料(Turboは有料)
- LM Studio: 無料(アプリ自体はプロプライエタリ)
8. 学習ロードマップ
この記事を読んだ後、次のステップとして以下をおすすめする。
初級者向け(まずはここから)
- LM Studioをダウンロードして体験
- Llama 3.2やGemmaなど軽量モデルで対話
- 各ツールの詳細記事を読む
中級者向け(実践に進む)
- Ollamaで既存アプリとの統合を試す
- Docker Composeで本番環境を構築
- RAGアプリケーションを作成
上級者向け(さらに深く)
- llama.cppのソースを読んで最適化を理解
- 独自のモデルをGGUFに変換
- MCPサーバーを開発してツール連携
9. まとめ
この記事では、3大ローカルLLMツールについて以下を解説した。
| ツール | ポジション | 向いている人 |
|---|---|---|
| llama.cpp | 心臓部(エンジン) | パフォーマンス追求、カスタム開発 |
| Ollama | Homebrew的ラッパー | 開発者、API統合、Docker運用 |
| LM Studio | GUIアプリ | 初心者、非エンジニア、モデル比較 |
私の所感
正直、「どれがベスト」という答えはない。それぞれが異なるレイヤーで異なるニーズを満たしている。
私個人は、以下のように使い分けている:
- 普段使い: Ollama(CLIでサクッと)
- モデル比較: LM Studio(GUIで切り替え楽)
- 本番運用: Ollama on Docker
- パフォーマンスチューニング: llama.cpp直接
大事なのは、「自分の用途に合ったツールを選ぶ」こと。
まずはどれかひとつを試してみて、ローカルLLMの世界に飛び込んでほしい。「AIが手元で動く」感動は、クラウドAPIでは味わえない。