第13部 付録第23章

ローカルLLMを触る最短ルート

手元のPCでLLMを動かすまでを、ハードウェア別の道順で案内します。Ollama・LM Studio・llama.cpp・MLX-LMの最初の一歩、モデルサイズの選び方、つまずいたときの直し方まで。

約14分で読めます2026年10月改訂

このページの内容(11項目)
  1. まず自分のマシンを確かめる
  2. ルート1: Ollama(コマンド1行で会話まで)
  3. ルート2: LM Studio(GUIで選んで話す)
  4. ルート3: llama.cpp(エンジンを直接さわる)
  5. ルート4: MLX-LM(Macで軽快に)
  6. 自分のメモリに合うモデルを選ぶ
  7. アプリから呼ぶ: OpenAI互換API
  8. うまくいかないとき
  9. 安全に使うために
  10. さらに深く学ぶ
  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-LMMetal で GPU を使う。LM Studio は MLX エンジンも選べる
Windows / Linux + NVIDIA GPUOllama / LM Studio、慣れたら llama.cppCUDA で動く。VRAM がモデル選びの上限になる
AMD GPUOllama / llama.cppROCm または 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:3b3.3〜4.0GB / 2.0GB
16GB級gemma4:e4b / qwen3.5:9b6.6〜9.5GB / 6.6〜7.6GB
24GB以上gpt-oss:20b / gemma4:26b14GB / 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
Ollamahttp://localhost:11434/v1
LM Studiohttp://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の余裕を見る

確認クイズ

Q1. 16GBメモリのノートPCで最初に試すなら?

  • 120B級のモデルを8bitで
  • 4〜9B級のモデルを4bit量子化で
  • 8Bモデルを16bitで

8Bを16bitにすると重みだけで約16GB。4bitなら数GBで、KVキャッシュやOSの分も残ります。

Q2. 会話にならず、文章の続きをだらだら書き出す。まず疑うのは?

  • GPUの温度
  • チャットテンプレートとモデルの種類(ベースかinstructか)
  • インターネットの速度

テンプレートが合わない場合や、指示追従の調整をしていないベースモデルを使った場合によく起きます。

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 で。サーバーは外に開かない。

さらに深く学ぶ

この章の内容をもう一歩掘り下げるための原典です。

論文・資料ガイド全体を見る →

出典・参考

  1. ollama/ollama(GitHub) — インストール手順、ollama run(2026年10月確認)
  2. Ollama CLI Reference / FAQ / Context length / Hardware support — 既定の待ち受け先、コンテキスト長の既定値、対応GPU(2026年10月確認)
  3. Ollama: OpenAI compatibility(2026年10月確認)
  4. Ollama library: gemma4 / qwen3.5 / gpt-oss / llama3.2 — タグとサイズ(2026年10月確認)
  5. LM Studio: System Requirements / lms CLI / OpenAI Compatibility(2026年10月確認)
  6. ggml-org/llama.cpp(GitHub) / llama-server README / install.md — llama cli / llama serve、-hf、既定ポート(2026年10月確認)
  7. ml-explore/mlx-lm(GitHub) / SERVER.md(2026年10月確認)
  8. openai/gpt-oss-20b モデルカード — パラメータ数、16GBで動作、harmony形式(2026年10月確認)
  9. google/gemma-4-E4B-it / Qwen/Qwen3.5-9B / meta-llama/Llama-3.2-3B-Instruct — ライセンス表記(2026年10月確認)
  10. Hugging Face: Pickle Scanning — pickle形式の危険性