ローカルLLM¶
- 目次
- ローカルLLM
はじめに¶
自然言語を理解し生成するAI技術の一つに、大規模言語モデル(Large Language Model: LLM)があります。
自然な文章となるように、単語の並び方に確率分布を持たせ、人の書いた文章を基に単語の出現確率をモデル化しています。
2017年に発表されたTransformer技術をベースとする深層学習で膨大なテキストデータの学習を行います。
適用例は、要約、翻訳、校正、レポート生成、質問対応、プログラミングコード生成などがあります。
インターネット上のサービスとして、ChatGPT、Gemini、Copilotなどが提供されています。
このLLMを、個人や企業がオンプレミスで保有する計算機でインターネット接続がなくても利用できるようにしたものがローカルLLMとなります。学習済みのLLMソフトウェアを動かし、追加の学習(ファインチューニング)をオンプレミス環境でインターネットから切り離した状況で行うことができます。そのため、社内資料などを外部に漏洩するリスクを避けることができます。
ローカルLLMを動かすには¶
PCのスペック¶
LLMはモデルが保有する学習可能な重みの総数をパラメータ数で表現しています。例えばパラメータ数4Bのモデルなら40億個の学習可能な重みで構成されています。LLMを動かすと、パラメータ数に依存する行列計算が実行されます。この計算を最も効率的に実行するハードウェア構成品がGPUとVRAMになります。特に最近のGPUでは行列計算用のテンソルコアが搭載され、多数の行列計算を並列実行することで高速化を果たしています。
CPUとメインメモリでも行列計算を実行することができますが、GPUに比べると数倍から数十倍遅く、パラメータ数が大きいほどさらに遅さが広がっていきます。
CPUとメインメモリについては、モデルを読み込みメモリ上に保持しデータの前処理を実施する部分に使われるので、そこそこのCPUスペックと、モデルのサイズ以上のメモリが必要になります(もちろんOSや他のソフトウェアの動作に必要な分を加えます)。
Intel系 PC¶
Intel系PCでは、CPU内蔵のGPUは専用のメモリ(VRAM)を持っておらず、メインメモリの一部をGPU用に区分して使用します。そのため、GPUとメモリ間のデータ転送速度がVRAM搭載GPUに比べて遅くなります。
- NVIDIA GeForce RTX 5060/Tiは 448GB/sの帯域
- DDR5-5200メモリのデュアルチャネルで83.2GB/sの帯域
さらにCPU内蔵GPUの場合、CPUとGPUが同じメインメモリバスを共有するため、GPUが利用できる帯域は上述よりも遅くなります。
これらを考慮すると、ローカルLLMを動かすPCは専用のグラフィックスボードを搭載し、VRAM容量も16GB以上を持つのが望ましいです。
MacBook¶
Apple Mシリーズプロセッサ搭載のMacBookでは、CPU内蔵のGPUはメインメモリ/VRAMを統合したユニファイドメモリにアクセスします。ユニファイドメモリはCPUやGPUと同じSoC上に実装されており、メモリ帯域はM4チップで120GB/s、M4 Proで273GB/sとなっています。
32GBメモリを搭載したMacBookの場合、OSやアプリケーションが使用するメインメモリを残して後はVRAMとして動的に割当てることで16GB~24GBほどのVRAMをLLMの処理に使用することができます。
ソフトウェア¶
学習済みのローカルLLMモデルをダウンロードして実行するプラットフォームソフトウェアとして、OllamaやvLLMなどがあります。研究開発、PoCなどの検証用に簡単で使いやすいOllamaと、商用サービスでガッチリ動かすvLLMといった特性があります。
Ollamaのインストールと実行¶
ローカルLLMソフトウェア¶
オープンソースや無償で公開されているLLMのモデルがいくつもあります。
- 米 Meta社(旧Facebook)のLlama
- 米 Google社のGemma
- 米 Microsoft社のPhi
- 米 OpenAI社のgpt-oss
- 仏 Mistral AI社のMistral
- 中 アリババクラウドのQwen
- 中 深度求策(DeepSeek)社のDeepSeek-R1
- 中 智譜AI(Zhipu AI)社のGLM
- 日ELYZA社の日本語対応 Llama
- 日Lightblue社のsuzume-llama
日本語チャットに最適化
選択の方針として、日本語処理の対応度合い、得意とするタスク、パラメータ数と量子化の度合い(どちらも実行に必要な計算機リソースに影響)などがあります。
ローカルLLM用モデルの調査メモ¶
ノートPCやそれに近い汎用のデスクトップPCで動く¶
小型のLLMでパラメータが1B〜4Bのもので、小さなVRAMでも動作します。
- Gemma 3n E4B
2025-06, 日本語対応, 汎用, 8B(実効4B), 32K, メモリ16GBのPCで動く(超省メモリ 3GB以上で動作可能) - Qwen3 0.6B / 1.7B / 4B
日本語対応 - Mistral 7B (量子化4bit)
- Phi-3 Mini 3.8B
高性能PCで動く¶
- gpt-oss-20b
汎用, 21B(アクティブ3.6B) - Llama 3.1 8B
汎用, 8B, 128K
日本語対応は限定的 - Llama 4 Scout 109B(アクティブ17B)
- Qwen2.5 7B
汎用, 7.6B, 131K - Qwen3 8B
- Mistral 7B
汎用, 7B, 32K
英語が最も得意 - Phi-3 Small 7B
AI向き高性能PCで動く¶
- Mistral Small 3.1
マルチモーダル, 24B, 128K - Qwen 2.5 14B
汎用, 14B, 131K
日本語含む29言語対応、構造化データ、長文生成 - Qwen 3 32B
- Llama 4 Scount 109B(アクティブ17B) 8bit
特定目的専用¶
- plamo-2-translate
英語→日本語翻訳に特化、長文に対応、プロンプト不要 - DeepSeek-R1 8B
複雑な推論タスクに特化, 8B(蒸留版), 128K
強化学習(RL学習) - Phi-4
STEM(数学、コーディング、推論)特化, 14B, 16K
英語中心 - QwQ
Qwenをベースに推論能力を高めた - Qwen 2.5 coder
コード生成に特化、14B
日本語対応の度合い¶
- Qwen2.5やGemma 3など。Gemma 3はマルチモーダル(画像・音声)
- ELYZA-japanese-Llama-2 7B 2023年8月
Llama 2に日本語の追加学習をしたもの。 - Llama-3-ELYZA-JP 8B 2024年6月
Llama 3に日本語の追加学習をしたもの。
量子化(quantization)¶
モデルの重みを少ないビット数で表現することでメモリ使用量を削減します。また、計算コストも削減可能です。
- MXFP4
4.25bit/parameter、
MoE(Mixture of Experts)¶
全パラメータのうち、必要な部分のみ活性化することで、精度向上、計算コスト低減が見込まれます。
Ollamaで利用可能なモデル¶
| No. | モデル名 | ライセンス | パラメータ数 | 量子化 | file size | VRAM |
|---|---|---|---|---|---|---|
| 1 | gpt-oss:20b | APL 2.0 | 20B | MXFP4 | 12GB | 16GB |
| 2 | gpt-oss:120b | APL 2.0 | 120B | MXFP4 | 40GB | 64GB |
| 3 | qwen3:4b | APL 2.0 | 4.02B | Q4_K_M | 2.5GB | |
| 4 | qwen3:8b | APL 2.0 | 8.19B | Q4_K_M | 5.2GB | |
| 4 | qwen3:14b | APL 2.0 | 14.8B | Q4_K_M | 9.3GB | |
| 5 | qwen3:30b | APL 2.0 | 30.5B | Q4_K_M | 19GB | |
| 6 | gemma3:4b | Gemma Terms | 4.3B | Q4_K_M | 3.3GB | |
| 7 | gemma3:12b | Gemma Terms | 12.2B | Q4_K_M | 8.1GB | |
| 8 | gemma3:27b | Gemma Terms | 27.4B | Q4_K_M | 17GB | |
| 9 | phi4:14b | MIT | 14.7B | Q4_K_M | 9.1GB | |
| 10 | deepseek-r1:8b | MIT | 8.19B | Q4_K_M | 5.2GB |
PCのスペックについて¶
ローカルLLMの実行において重要となるハードウェアは、
- GPU
GPUのVRAM容量が重要となります。LLMのモデルのパラメータ数が大きいほど必要なメモリ量が大きくなります。
MacBookの場合¶
MacBookのアーキテクチャは、メインメモリとVRAMがどちらもユニファイドメモリ上に置かれます。GPUはCPUに統合されています。そこで、Apple siliconの種類名(M4 とか M5)と搭載メモリ量が重要です。
最初の一歩¶
macBook Air M4(メモリ32GB)¶
- Ollama を Homebrew からインストールします。
- 使用するローカルLLMモデルを選択します。
- 日本語対応に優れるとされている Qwen シリーズで、最新の Qwen3 から動作しそうな範囲のパラメータとして 8Bまたは14Bを候補にします。ダウンロードサイズが5.2GB/9.3GBとなるのでまずは8Bモデルを動かしてみます。
Qwen3のモデルは Ollama リポジトリにアップされています。
https://ollama.com/library/qwen3
- 日本語対応に優れるとされている Qwen シリーズで、最新の Qwen3 から動作しそうな範囲のパラメータとして 8Bまたは14Bを候補にします。ダウンロードサイズが5.2GB/9.3GBとなるのでまずは8Bモデルを動かしてみます。
インストール手順¶
- ターミナルを開いて、Ollamaをフォアグラウンドで実行
ollama serve - 別なターミナルを開いて、Qwen3:8bモデルを実行
% ollama run qwen3:8b MLX: Failed to load symbol: mlx_metal_device_info pulling manifest pulling a3de86cd1c13: 100% ▕██████████████████▏ 5.2 GB : success >>> Send a message (/? for help)
$HOME/.ollama ディレクトリの下にLLMモデルがダウンロードされます。
ダウンロードが完了すると、プロンプトを受け付ける状態になります。
Windows 11 Ryzen 7900X RTX4060¶
- OllamaサイトからWindows版インストーラをダウンロード
https://ollama.com/download/windows - インストーラーを実行
%LOCALAPPDATA%\Programs\Ollamaにインストールされる - スタートから Ollama を実行
簡素ながらGUIが起動、右下にLLMモデルの選択ドロップダウンリストがあります。メッセージを入力すると初回は選択したLLMモデルのダウンロードが始まります。今回は[qwen3:4b]を選択 - メッセージ欄に何かテキストを入れます(「こんにちは」)。qwen3 4Bのダウンロードが開始されます(2.3GB)。
- ダウンロードが完了すると推論が始まり応答が返ってきます。
ダウンロードは、%USERPROFILE%\.ollama\の下にされます。