
第13部 付録第23章
ローカルLLMを触る最短ルート
手元のPCでLLMを動かすまでを、ハードウェア別の道順で案内します。Ollama・LM Studio・llama.cpp・MLX-LMの最初の一歩、モデルサイズの選び方、つまずいたときの直し方まで。
このページの内容(11項目)
自分のノートPCでLLMを動かすのに、何分かかるでしょう?
答えは「ダウンロードが終わるまで」です。いまのツールなら、インストールしてコマンドを1行打てば、モデルの取得から会話まで自動で進みます。難しいのは手順よりも「どのモデルなら自分のPCに収まるか」の見極めのほうです。この章では、その両方を最短ルートで片づけます。
ひとことで言うと
迷ったら Ollama か LM Studio で始め、メモリに収まる小さめのモデル(4bit量子化で数GB)を選ぶ。慣れてきたら llama.cpp や MLX-LM で細かく調整する。
まず自分のマシンを確かめる
ローカルLLMの快適さは、ほぼ「モデルの重みを置けるメモリの量」で決まります。GPUがあればそのVRAM、Apple Silicon の Mac ならCPUとGPUが共有するユニファイドメモリが主役です。仕組みは第17章と第18章で詳しく扱っています。
| 環境 | おすすめの入口 | メモ |
|---|---|---|
| Mac(Apple Silicon) | Ollama / LM Studio、慣れたら MLX-LM | Metal で GPU を使う。LM Studio は MLX エンジンも選べる |
| Windows / Linux + NVIDIA GPU | Ollama / LM Studio、慣れたら llama.cpp | CUDA で動く。VRAM がモデル選びの上限になる |
| AMD GPU | Ollama / llama.cpp | ROCm または Vulkan。対応GPUは公式の一覧で確認 |
| CPUのみ | Ollama / llama.cpp | 動くが遅め。1〜4B級の小さいモデルから |
flowchart TD A["コマンド操作は平気?"] -->|"いいえ"| B["LM Studio
GUIで選んで会話"] A -->|"はい"| C["Ollama
ollama run"] C --> D["もっと細かく
調整したい"] D -->|"Mac"| E["MLX-LM"] D -->|"どの環境でも"| F["llama.cpp"]
ルート1: Ollama(コマンド1行で会話まで)
Ollama はモデルのダウンロード・管理・実行・APIサーバーをひとまとめにしたツールです。公式READMEのインストール方法は次のとおりです2026年10月時点。macOS と Windows はインストーラ(.dmg / .exe)を公式サイトから入れても構いません。
# macOS / Linux
curl -fsSL https://ollama.com/install.sh | sh
# Windows(PowerShell)
irm https://ollama.com/install.ps1 | iex
あとはモデル名を指定して run するだけです。初回は自動でダウンロードされ、そのまま対話が始まります。終了は /bye です。
ollama run gemma4:e4b # Gemma 4 の E4B(エッジ向け)
ollama ls # ダウンロード済みモデルの一覧
ollama ps # 読み込み中のモデルと GPU/CPU の割合
ollama rm gemma4:e4b # 削除
注意
Ollama のライブラリには gemma4:31b-cloud のように cloud が付いたタグがあります。これは手元ではなく Ollama のクラウドで動くモデルです。「データを外に出さない」目的なら、cloud の付かないタグを選びましょう。クラウド機能は設定や環境変数 OLLAMA_NO_CLOUD=1 で無効化できます。
ルート2: LM Studio(GUIで選んで話す)
LM Studio はデスクトップアプリです。Discover タブでモデルを探してダウンロードし、Chat タブでモデルを読み込めば会話できます。中身のエンジンは llama.cpp(GGUF)で、Apple Silicon の Mac では Apple の MLX も使えます。
公式の動作要件2026年10月時点は、Mac が Apple Silicon(M1以降)と macOS 14 以上、Windows は x64(AVX2必須)と ARM、Linux は x64 と ARM64 です。Intel Mac は非対応です。RAM は16GB以上が推奨されています。
付属の CLI lms も便利です。
lms get llama-3.1-8b@q4_k_m # モデル名@量子化 でダウンロード(公式ドキュメントの例)
lms ls # 手元のモデル一覧
lms server start # ローカルサーバーを起動
ルート3: llama.cpp(エンジンを直接さわる)
LM Studio の中でも使われているエンジンが llama.cpp です。2026年10月の README では、インストーラで入る llama コマンドが案内されています。Homebrew(brew install llama.cpp)や winget、リリースページのビルド済みバイナリでも入手できます。
# インストール(macOS / Linux)
curl -LsSf https://llama.app/install.sh | sh
# Hugging Face から GGUF を落として、その場で会話
llama cli -hf ggml-org/gemma-4-E4B-it-GGUF:Q4_0
# OpenAI 互換 API サーバー(ブラウザ用の Web UI 付き)
llama serve -hf ggml-org/gemma-4-E4B-it-GGUF:Q4_0
-hf は「Hugging Face のリポジトリ名」、: の後ろは量子化の種類です。量子化を省略すると Q4_K_M が選ばれ、それがないリポジトリでは先頭のファイルが使われます。上の例のリポジトリには Q4_K_M がないので、Q4_0 を明示しています。
ソースからビルドすると、サーバーは llama-server という名前のバイナリになります。サーバーの既定の待ち受け先は 127.0.0.1:9931(以前の版の 8080 から変わっています)で、GPU に載せる層の数(-ngl)は既定で auto です。
ルート4: MLX-LM(Macで軽快に)
MLX は Apple が作った Apple Silicon 向けの機械学習フレームワークで、MLX-LM はその上でLLMを動かすパッケージです。Python 環境があれば pip で入ります。
pip install mlx-lm
mlx_lm.chat # 対話(既定モデルは mlx-community/Llama-3.2-3B-Instruct-4bit)
mlx_lm.generate --prompt "富士山の高さは?"
mlx_lm.server --model mlx-community/Llama-3.2-3B-Instruct-4bit # localhost:8080 で起動
MLX 形式に変換済みのモデルは Hugging Face の mlx-community に多数あります。ただし画像も扱うモデルの変換版には別パッケージ(mlx-vlm)向けのものもあるので、モデルカードの使い方の欄を確認しましょう。
自分のメモリに合うモデルを選ぶ
重みのメモリ量は「パラメータ数 × 1パラメータあたりのビット数 ÷ 8」でおおよそ見積もれます。8B(80億)パラメータなら、16bitで約16GB、4bitなら約4〜5GBです。量子化については第10章を見てください。
これに加えて、会話の長さに比例して増える KVキャッシュ(KV cache、第15章)と、OS や他のアプリの分が要ります。ダウンロードサイズより数GB多めのメモリを見ておくと安心です。
以下は、2026年10月時点で Ollama ライブラリにある小〜中型のオープンウェイトモデルの例です。サイズは Ollama ライブラリの表示値で、量子化版によって幅があります。
| メモリの目安 | 試しやすいモデル(Ollama名) | ダウンロードサイズ |
|---|---|---|
| 8GB級 | qwen3.5:4b / llama3.2:3b | 3.3〜4.0GB / 2.0GB |
| 16GB級 | gemma4:e4b / qwen3.5:9b | 6.6〜9.5GB / 6.6〜7.6GB |
| 24GB以上 | gpt-oss:20b / gemma4:26b | 14GB / 16〜19GB |
ライセンスは使い道に関わるので必ず確認しましょう。Qwen3.5、Gemma 4、gpt-oss は Hugging Face のモデルカード上で Apache 2.0 です。Llama 3.2 は Meta 独自の「Llama 3.2 Community License」で、利用条件が付いています。オープンウェイトとオープンソースの違いは第21章で整理しています。
もう一歩深く
gemma4:26b と gpt-oss:20b は MoE(第26章)です。gpt-oss-20b は総パラメータ210億のうち、1トークンあたり使うのは36億。速度はアクティブ側に近づきますが、メモリには全体を置く必要があります。OpenAI によると gpt-oss-20b は16GBのメモリで動きます。
アプリから呼ぶ: OpenAI互換API
どのツールも、OpenAI の API と同じ形で呼べるローカルサーバーを持っています。既存のプログラムやライブラリの「接続先URL」を書き換えるだけで、ローカルモデルにつながります。
| ツール | 既定のベースURL |
|---|---|
| Ollama | http://localhost:11434/v1 |
| LM Studio | http://localhost:1234/v1 |
| llama.cpp(llama-server) | http://localhost:9931/v1 |
| MLX-LM(mlx_lm.server) | http://localhost:8080/v1 |
from openai import OpenAI
client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama") # キーは必須だが無視される
res = client.chat.completions.create(
model="gemma4:e4b",
messages=[{"role": "user", "content": "ローカルLLMの利点を3つ"}],
)
print(res.choices[0].message.content)
うまくいかないとき
| 症状 | よくある原因 | 対処 |
|---|---|---|
| メモリ不足で落ちる | モデルか文脈が大きすぎる | 小さいモデル・低ビットの量子化にする。コンテキスト長を縮める |
| 極端に遅い | 一部がCPUに溢れている | ollama ps の PROCESSOR 欄が「100% GPU」か確認。モデルを小さくする |
| 文字化け・同じ語の繰り返し・会話にならない | チャットテンプレートの不一致、ベースモデルを使っている | instruct / it 版を使う。テンプレート入りの公式GGUFを選ぶ |
| 長い文書を渡すと前半を忘れる | コンテキスト長の既定値が小さい | 設定でコンテキスト長を上げる(メモリは増える) |
Ollama のコンテキスト長は VRAM 量で既定値が決まり、24GiB未満なら4kトークンです。OLLAMA_CONTEXT_LENGTH=64000 ollama serve のように変えられます。llama.cpp では -c(--ctx-size)で指定します。
チャットテンプレートは、会話を「どこからがユーザーの発言か」という印に変換する決まりです(第2章)。合っていないと、モデルは文章の続きを適当に書き始めます。gpt-oss のモデルカードには、harmony という専用形式で使わないと正しく動かないと明記されています。llama.cpp は GGUF に埋め込まれたテンプレートを既定で使い、--chat-template で上書きできます。
安全に使うために
- 入手元を選ぶ: 開発元の公式アカウント(google、Qwen、openai など)や、ツールの公式ライブラリ(Ollama ライブラリ、ggml-org)から落とす。名前が似た非公式の改変版に注意。
- 形式を選ぶ: PyTorch の pickle 形式(.bin / .pt)は、読み込むだけで任意のコードが実行されうると Hugging Face が警告しています。GGUF や safetensors を選びましょう(第4章)。
- 外に公開しない: Ollama・llama-server・LM Studio のサーバーは既定で 127.0.0.1(自分のPCだけ)で待ち受けます。
0.0.0.0にすると同じネットワークの誰でも使えるので、認証やファイアウォールを用意してから。 - 出力を鵜呑みにしない: 小さいモデルほど、もっともらしい間違いが増えます。
よくある誤解
GPUがないとローカルLLMは動かない
CPUだけでも動く。遅いだけなので、1〜4B級の小さいモデルなら十分試せる
Ollama で動かしていれば必ずローカル処理だ
cloud 付きのタグはOllamaのクラウドで動く。タグ名を確認する
ファイルサイズ=必要メモリ
KVキャッシュなどの分が上乗せされる。数GBの余裕を見る
確認クイズ
Q3. Python の OpenAI ライブラリから Ollama を呼ぶとき、変えるのは?
base_url を http://localhost:11434/v1 にします。api_key は何か入れる必要がありますが、Ollama は無視します。
この章のまとめ
- 入口は Ollama(コマンド)か LM Studio(GUI)。細かく調整したくなったら llama.cpp、Mac なら MLX-LM。
- モデル選びはメモリが基準。4bit量子化で「パラメータ数(B)の半分強のGB」が重みの目安で、さらに余裕を見る。
- どのツールも OpenAI 互換APIを持ち、ベースURLを替えるだけでアプリからつながる。
- おかしな出力はまずチャットテンプレートとモデルの種類を疑う。
- モデルは公式の入手元から、GGUF / safetensors で。サーバーは外に開かない。
さらに深く学ぶ
この章の内容をもう一歩掘り下げるための原典です。
出典・参考
- ollama/ollama(GitHub) — インストール手順、
ollama run(2026年10月確認) - Ollama CLI Reference / FAQ / Context length / Hardware support — 既定の待ち受け先、コンテキスト長の既定値、対応GPU(2026年10月確認)
- Ollama: OpenAI compatibility(2026年10月確認)
- Ollama library: gemma4 / qwen3.5 / gpt-oss / llama3.2 — タグとサイズ(2026年10月確認)
- LM Studio: System Requirements / lms CLI / OpenAI Compatibility(2026年10月確認)
- ggml-org/llama.cpp(GitHub) / llama-server README / install.md —
llama cli/llama serve、-hf、既定ポート(2026年10月確認) - ml-explore/mlx-lm(GitHub) / SERVER.md(2026年10月確認)
- openai/gpt-oss-20b モデルカード — パラメータ数、16GBで動作、harmony形式(2026年10月確認)
- google/gemma-4-E4B-it / Qwen/Qwen3.5-9B / meta-llama/Llama-3.2-3B-Instruct — ライセンス表記(2026年10月確認)
- Hugging Face: Pickle Scanning — pickle形式の危険性