# ローカルLLMの始め方 完全ガイド：Ollama / LM Studioで自分のPCにAIを動かす（VRAM別モデル選定つき）

> 自分のPCで無料・プライベート・オフラインにAIを動かす「ローカルLLM」の始め方を、実際にLLMを本番運用するエンジニアが解説。Ollama / LM Studioの選び方、いちばんの疑問『自分のGPU（VRAM）でどのモデルが動くか』に答えるVRAM別モデル選定表、量子化(Q4_K_M)、速度の現実、Ollama APIで自作アプリを作るコードまで。

- 公開日: 2026-06-25
- 著者: 友田 陽大
- タグ: 生成AI, LLM, Ollama, ローカルLLM, セルフホスト, 型安全
- URL: https://tomodahinata.com/blog/local-llm-getting-started-ollama-lm-studio-vram-model-selection-guide

## 要点

- ローカルLLMは『無料・プライバシー（データが外に出ない）・オフライン』が利点。普通のPCでも実用的なAIが動く
- 最大の疑問『自分のGPUでどのモデルが動くか』はVRAMで決まる。8GBなら7-8B、16GBなら14B、24GBなら32B、70Bは48GB級が目安（Q4量子化）
- ツールはOllama（手軽・API付き）かLM Studio（GUI重視）。まずはOllamaで `ollama run` の1行から始められる
- 量子化（Q4_K_M）は品質をほぼ保ったまま容量を約1/4にする実用的な既定値。速度(tok/s)は環境依存なので必ず自分のPCで計測する
- Ollamaはローカルでhttp APIを公開するので、データを外に出さずに自作チャットや社内文書AI（プライベートRAG）を作れる

---

最初に結論を述べます。**はい、特別なサーバーがなくても、あなたの普通のPCで「無料・プライベート・オフライン」にAI（LLM）を動かせます。** ChatGPTのようなAIを、月額課金なし・データを外部に送らず・ネット接続なしで使える——これがローカルLLMです。そして、始めるうえで本当に重要な疑問はたった1つ、**「自分のGPU（VRAM）で、どのモデルが動くのか」**です。本記事は、まずこの問いに表で即答し、そのうえで Ollama / LM Studio の選び方、量子化、速度の現実、自作アプリの作り方まで——**実際にLLMを本番運用しているエンジニアの視点**で、最短で確実に動かせるよう解説します。

> 本記事は、量子化の詳細は[AWQ/GPTQ/FP8/GGUFの量子化比較](/blog/qwen3-quantization-awq-gptq-fp8-gguf-comparison-guide)、コスト比較は[ローカル vs ChatGPTの比較](/blog/local-llm-vs-chatgpt-cost-privacy-offline-comparison)、自分の資料に答えさせる方法は[プライベートRAG入門](/blog/private-rag-local-llm-chat-with-your-own-documents)に続きます。

---

## ローカルLLMとは？なぜ今こんなに人気なのか

ローカルLLMとは、**ChatGPTのような大規模言語モデル（LLM）を、クラウドではなく自分のPC上で動かす**ことです。人気が急上昇している理由は、はっきりしています。

| 利点 | 内容 |
|---|---|
| **無料** | 月額課金なし。一度環境を作れば、使い放題（電気代を除く） |
| **プライバシー** | 入力したデータが外部に送信されない。機密情報・個人情報を扱える |
| **オフライン** | ネット接続なしで動く。飛行機の中でも、社内の閉じた環境でも |
| **無制限・自由** | 利用回数の制限なし。モデルを自由に選び、改造できる |

背景には、**オープンウェイトのモデル（Llama、Qwen、Gemma など）が「実用的に賢い」水準に達した**ことと、**Ollama のようなツールが導入を劇的に簡単にした**ことがあります。Ollama のダウンロード数は数年で爆発的に増え、デスクトップアプリも登場して、コマンドに不慣れな人でも使えるようになりました。「AIを自分の手元に置く」ことが、一部のエンジニアだけのものではなくなっています。

---

## 【核心】自分のGPUでどのモデルが動く？VRAM別・モデル選定表

ローカルLLMで最初にぶつかる壁が「自分のPCでどのモデルが動くのか」です。答えは、**GPUのVRAM（ビデオメモリ）の量でほぼ決まります**。モデルは「パラメータ数（7B＝70億など）」が大きいほど賢いですが、その分メモリを食います。

下表は、**実用的な量子化（後述のQ4_K_M）を前提に、必要なVRAMの目安**です（重みの容量は「パラメータ数 × ビット数」で計算できる確定値、それに文脈用の余裕を足しています）。

| モデル規模 | 必要VRAMの目安(Q4) | 動かせる環境の例 | 用途の目安 |
|---|---|---|---|
| **3B** | 約3GB〜 | 8GB VRAM / 多くのノートPC / CPUでも可 | 軽い要約・分類・チャット |
| **7〜8B** | 約6GB〜 | 8GB VRAM（やや余裕12GB） / M1〜 | 日常の万能ライン（最初の推奨） |
| **13〜14B** | 約10GB〜 | 12〜16GB VRAM / M2 Pro〜 | 一段賢い汎用 |
| **32〜34B** | 約20GB〜 | 24GB VRAM(RTX 3090/4090) / M-Pro 32GB | 高品質・推論寄り |
| **70B** | 約42GB〜 | 48GB級 or GPU2枚 / Mac 64GB+ | 最上位（ハードを選ぶ） |

> **読み方**: 「自分のGPUのVRAM ÷ 1.3〜1.5」くらいが、無理なく動く重みの上限の目安です。例えば**16GBのGPUなら14Bクラスまでが快適**、**24GBなら32Bクラス**が狙えます。Apple Silicon（M系）は**メインメモリをVRAMのように使える**ため、64GB機なら70Bも動きますが、帯域の都合で速度は控えめになります。

この「載るか載らないか」は、計算で確かめられます。前提を明示した関数にすると、こうなります。

```ts
/**
 * モデルが手元のGPUに載るかを概算する。
 * Q4_K_M ≒ 約4.5bit/パラメータを前提（量子化方式で変わるので目安）。
 * 文脈（KVキャッシュ）の余裕を加える。最終的な可否は実機で確認すること。
 */
function estimateModelVramGiB(paramsBillions: number, bitsPerParam = 4.5): number {
  const weightBytes = paramsBillions * 1e9 * (bitsPerParam / 8);
  const contextOverheadGiB = 1.5; // 文脈長・同時実行で増減する目安
  return weightBytes / 1024 ** 3 + contextOverheadGiB;
}

function fitsOnGpu(paramsBillions: number, gpuVramGiB: number): boolean {
  return estimateModelVramGiB(paramsBillions) <= gpuVramGiB;
}

// 例: 8B は 8GB GPU に概ね載る / 70B は 48GB 級が必要
fitsOnGpu(8, 8);   // → true（ぎりぎり。文脈を短めに）
fitsOnGpu(70, 24); // → false（24GBには載らない）
```

---

## どのツールを使う？Ollama vs LM Studio

ローカルLLMを動かすツールは色々ありますが、**最初の選択肢は実質この2つ**です。

| | Ollama | LM Studio |
|---|---|---|
| **特徴** | コマンド＋ローカルAPI。軽量で自動化・自作アプリ向き | GUI（画面操作）中心。モデル探しとチャットが直感的 |
| **向く人** | 開発者・自作したい人・APIで繋ぎたい人 | まずGUIで試したい人・非エンジニア |
| **始め方** | インストール後 `ollama run <モデル>` の1行 | アプリでモデルを選んでダウンロード→チャット |
| **API** | あり（`localhost:11434`） | あり（OpenAI互換サーバ） |

**迷ったら Ollama** をおすすめします。導入が軽く、後述のように**ローカルAPIが付いているので、自作アプリや社内文書AIへ発展させやすい**からです。GUIで気軽に始めたいなら LM Studio が快適です。

---

## 量子化（Q4_K_M）を一言で：品質ほぼ維持で容量1/4

モデル名に出てくる **`Q4_K_M` や `Q5` といった記号が「量子化」**です。量子化とは、モデルの重みを低いビット数で表現して**容量を小さくする**技術です。

- **量子化なし（FP16・16bit）**: 8Bモデルで重みだけ約16GB → 普通のPCには載らない。
- **Q4_K_M（約4.5bit）**: 同じ8Bが約4.5GBに圧縮 → 8GBのGPUで動く。

実用上、**`Q4_K_M` が「品質をほとんど落とさずに容量を約1/4にする」定番の選択**です。まずはこれを選べば間違いありません。もっと品質を上げたいなら `Q5_K_M` や `Q6`、もっと小さくしたいなら `Q3` ——というトレードオフです。仕組みの詳細は[量子化方式の比較](/blog/qwen3-quantization-awq-gptq-fp8-gguf-comparison-guide)と[量子化のサービング経済学](/blog/llm-quantization-serving-economics-awq-fp8-kv-cache-vram-budget)で解説しています。

---

## 速度（tok/s）の現実：必ず自分のPCで計測する

「どれくらいの速さで動くの？」——これはローカルLLMで最も誤解の多い点です。正直に言います。**速度（1秒あたりの生成トークン数 = tok/s）は、GPU・モデルサイズ・量子化・推論バックエンドで大きく変わるため、ネット上の「○○ tok/s出た」という数字を鵜呑みにしてはいけません。**

定性的な現実は、こうです。

- **小さいモデル（3〜8B・Q4）を、最近のディスクリートGPUで動かす** → 人が読む速度より十分速く、対話に支障ないことが多い。
- **大きいモデル（70Bなど）や、Apple Siliconのユニファイドメモリ、CPUオフロード** → かなり遅くなり、用途を選ぶ。
- **デコード（1文字ずつ生成）はメモリ帯域がボトルネック**になりやすい。だから量子化で重みを小さくすると、容量だけでなく速度にも効きます。

私は普段、量子化したオープンモデルを**GPUサーバー上の vLLM で本番運用**していますが、その経験から断言できるのは——**「自分のワークロードでの体感は、自分のマシンで計ってみないと分からない」**ということです。Ollama なら、回答の最後に生成速度が表示されます。まず `Q4_K_M` の7〜8Bを動かし、遅ければモデルを小さく、速くて余裕があればモデルを大きく——と、**自分のPCを基準に調整**してください。

---

## 実際に動かす：Ollamaの最短手順と、APIで自作する

### 最短3ステップ

```bash
# 1. Ollama をインストール（公式サイト or パッケージマネージャ）
# 2. モデルを取得して対話する（初回はダウンロードが走る）
ollama run llama3.1:8b

# 3. これだけ。プロンプトに質問を打てば、ローカルで完結して回答が返る
```

### ローカルAPIで自作アプリを作る（データは外に出ない）

Ollama の真価は、**ローカルにHTTP APIを公開している**点です。`http://localhost:11434` に投げるだけで、**データを一切外部に送らずに**自作のチャットアプリや業務ツールを作れます。世界最高水準のクライアントは、こう書けます。

```ts
interface ChatMessage {
  readonly role: "system" | "user" | "assistant";
  readonly content: string;
}

interface OllamaChunk {
  readonly message?: { readonly content?: string };
  readonly done: boolean;
}

/**
 * ローカルのOllamaにチャットを投げ、生成トークンを逐次yieldする非同期ジェネレータ。
 * - 通信はlocalhostのみ＝データは外部に出ない（プライバシー）
 * - AbortSignalでタイムアウト/キャンセル可能（回復性）
 * - NDJSONを行単位で安全にパースし、不完全な行は次チャンクへ持ち越す（堅牢性）
 */
async function* streamOllamaChat(
  params: { model: string; messages: readonly ChatMessage[]; signal?: AbortSignal },
  endpoint = "http://localhost:11434",
): AsyncGenerator<string, void, unknown> {
  const res = await fetch(`${endpoint}/api/chat`, {
    method: "POST",
    headers: { "content-type": "application/json" },
    body: JSON.stringify({ model: params.model, messages: params.messages, stream: true }),
    signal: params.signal ?? AbortSignal.timeout(120_000),
  });
  if (!res.ok || res.body === null) {
    throw new Error(`Ollama request failed: ${res.status} ${res.statusText}`);
  }

  const reader = res.body.pipeThrough(new TextDecoderStream()).getReader();
  let buffer = "";
  try {
    for (;;) {
      const { value, done } = await reader.read();
      if (done) break;
      buffer += value;
      // NDJSON: 改行で区切られた完全な行だけを処理する
      let newlineIndex: number;
      while ((newlineIndex = buffer.indexOf("\n")) !== -1) {
        const line = buffer.slice(0, newlineIndex).trim();
        buffer = buffer.slice(newlineIndex + 1);
        if (line === "") continue;
        const chunk = JSON.parse(line) as OllamaChunk;
        const delta = chunk.message?.content;
        if (delta !== undefined && delta !== "") yield delta;
        if (chunk.done) return;
      }
    }
  } finally {
    reader.releaseLock(); // ストリームのリソースを確実に解放（KISS / 後始末）
  }
}

// 使い方: トークンが届くたびに画面へ流す（ストリーミングUX）
// for await (const token of streamOllamaChat({ model: "llama3.1:8b", messages })) {
//   process.stdout.write(token);
// }
```

このコードは、**型安全（`any`なし）・タイムアウトとキャンセル（回復性）・壊れた行で全体を落とさない安全なパース・確実なリソース解放**を備えています。ローカルAPIに繋げば、ここから「自分の資料に答えるAI（[プライベートRAG](/blog/private-rag-local-llm-chat-with-your-own-documents)）」へ発展させられます。

---

## ローカル vs ChatGPT、結局どっちがいい？

結論だけ言うと、**用途で使い分けるのが正解**です。

- **ローカルLLMが向く**: プライバシーが重要（機密・個人情報）、オフラインで使いたい、大量に使ってAPI課金を抑えたい、自由に改造したい。
- **ChatGPT（クラウド）が向く**: とにかく最高品質が欲しい、ハードに投資したくない、すぐ使いたい。

「無料だから常にローカルが得」とは限りません。ハードウェア代・電気代・手間まで含めた**正直なコスト比較**は、[ローカルLLM vs ChatGPT の記事](/blog/local-llm-vs-chatgpt-cost-privacy-offline-comparison)で詳しく検証しています。

---

## よくある質問（FAQ）

### Q. ローカルLLMは本当に無料ですか？

ソフトウェア（Ollama / LM Studio）とオープンウェイトのモデルは無料で使えます。月額課金もありません。ただし「完全に無料」ではなく、PCの電気代と、快適に動かすためのハードウェア（GPU等）への初期投資はかかります。すでに十分なPCを持っているなら、追加費用はほぼ電気代だけです。

### Q. 自分のPCでどのモデルが動きますか？

GPUのVRAM量で決まります。目安は、8GBで7〜8B、12〜16GBで13〜14B、24GBで32B、70Bは48GB級のVRAM（またはGPU2枚、Mac 64GB以上）です。いずれもQ4量子化を前提とした目安で、「VRAM ÷ 1.3〜1.5」が無理なく載る重みの上限の目安になります。本文のVRAM別モデル選定表を参照してください。

### Q. GPUがない（普通のノートPCやCPUだけ）でも動きますか？

動きます。3B程度の小さいモデルなら、GPUなしのCPUでも実用的な速度で動くことが多いです。Apple Silicon（M系）のMacは、メインメモリをVRAMのように使えるため、ディスクリートGPUがなくても比較的大きいモデルを動かせます。まずは小さいモデルから試してください。

### Q. データは本当に外部に送信されませんか？

ローカルLLMは、モデルを自分のPC上で動かすため、入力したデータは外部に送信されません（モデルのダウンロード時を除く）。Ollama のAPIも `localhost` で完結します。これがプライバシー面での最大の利点で、機密情報や個人情報を扱う用途で特に重要です。

### Q. Q4_K_M とは何ですか？どれを選べばいいですか？

量子化（モデルを軽くする圧縮）の方式です。`Q4_K_M` は「品質をほとんど落とさずに容量を約1/4にする」定番で、まずはこれを選べば失敗しません。より高品質なら `Q5_K_M` / `Q6`、より小さくしたいなら `Q3`、というトレードオフです。

### Q. 速度はどれくらい出ますか？

GPU・モデルサイズ・量子化で大きく変わるため、一概には言えません。小さいモデル（3〜8B・Q4）を最近のGPUで動かせば、対話に支障ない速度が出ることが多いです。大きいモデルやCPU/ユニファイドメモリでは遅くなります。ネット上の数値を鵜呑みにせず、Ollama が表示する生成速度で、必ず自分のPCで計測してください。

---

## まとめ：まずQ4の7〜8Bを `ollama run` で動かす

ローカルLLMを最短で始めるために、押さえるべきは次の通りです。

1. **利点は「無料・プライバシー・オフライン」**——普通のPCでも実用的なAIが動く。
2. **動くモデルはVRAMで決まる**——8GBで7-8B、16GBで14B、24GBで32B、70Bは48GB級が目安（Q4）。
3. **ツールは Ollama（手軽・API付き）が第一候補**——`ollama run llama3.1:8b` の1行から。
4. **量子化は `Q4_K_M` を既定に**——品質をほぼ保って容量1/4。速度は必ず自分のPCで計測する。
5. **ローカルAPIで自作できる**——データを外に出さず、チャットや社内文書AI（プライベートRAG）へ発展。

「自社の機密データを外に出さずにAIを使いたい」「ローカルLLMを業務に本格導入したい」——個人で試す段階から、本番運用（自前GPU・vLLM・社内RAG）まで、私は実務で手がけています。[自前ホスティングのコスト設計](/blog/generative-ai-cost-api-vs-self-hosting-decision-guide)や[本番RAGの設計](/blog/production-rag-pitfalls-accuracy-improvement-guide)とあわせ、要件に応じてお手伝いします。
