「ローカルLLMを試してみたいけれど、高価なGPU搭載PCが必要なんでしょう?」——そう思っている方に朗報です。実は、手のひらサイズのシングルボードコンピューター「Raspberry Pi」でもローカルLLMを動かすことができます。
もちろん、GPT-4クラスの大規模モデルは動きませんが、小型モデル(SLM)を使えば、チャットボットやFAQ応答システム、簡単なテキスト生成など、実用的なAIサーバーを構築できます。本記事では、Raspberry PiでローカルLLMを動かすための具体的な手順を解説します。
Raspberry PiでローカルLLMが動く理由
数年前まで、LLMの実行には高価なGPUが必須でした。しかし、以下の技術進歩により、Raspberry PiのようなCPUのみの環境でもLLMが動くようになりました。
小型モデル(SLM)の進化
1B〜3Bパラメータの小型モデルが驚くほど高性能になっています。Gemma 3の1BモデルやQwen3の0.6Bモデルなど、少ないパラメータ数でも実用的な応答品質を実現するモデルが次々と登場しています。
量子化技術の発展
量子化により、モデルのサイズとメモリ使用量を大幅に削減できるようになりました。4bit量子化を適用すれば、3Bモデルでも約2GB程度のメモリで動作します。
llama.cppの最適化
llama.cppはCPU環境でのLLM実行に特化した推論エンジンで、ARM CPU(Raspberry Piが搭載するCPU)向けの最適化も行われています。NEON命令セットを活用することで、ARM環境でも効率的な推論が可能です。
必要な機材と費用
Raspberry PiでローカルLLMを動かすために必要な機材を一覧でまとめます。
推奨構成
| 機材 | 推奨スペック | 概算費用 |
|---|---|---|
| Raspberry Pi本体 | Raspberry Pi 5(8GBモデル) | 約13,000円 |
| microSDカード | 64GB以上、Class 10 / UHS-I以上 | 約1,500円 |
| 電源アダプター | USB-C 5V/5A(27W)公式推奨品 | 約2,000円 |
| ケース | ファン付きケース(排熱対策) | 約2,000円 |
| SSD(推奨) | NVMe SSD 256GB以上 + HAT | 約5,000〜8,000円 |
| LANケーブル | Cat 6以上 | 約500円 |
合計:約24,000〜27,000円
高価なGPUが不要なため、通常のローカルLLM用PCと比べると大幅に低コストです。ただし性能面では大きな差があることを理解しておきましょう。
Raspberry Pi 5を推奨する理由
- 8GBメモリ:3Bクラスの量子化モデルを動かすのに十分
- Cortex-A76 CPU:前世代のPi 4と比較して約2〜3倍の処理性能
- NVMe SSD対応:M.2 HAT経由でSSD接続可能、モデル読み込みが高速化
- PCIe 2.0:外部ストレージとの高速データ転送
Raspberry Pi 4(4GBまたは8GB)でも動作しますが、処理速度がかなり遅くなるため、新規購入ならPi 5をおすすめします。
OSのセットアップ
Raspberry PiにOSをインストールし、ローカルLLMの実行に必要な環境を整えます。
Raspberry Pi OSのインストール
- PCで「Raspberry Pi Imager」を公式サイトからダウンロード
- microSDカードをPCに挿入
- Imagerで「Raspberry Pi OS (64-bit) Lite」を選択(GUIなしの軽量版を推奨)
- 歯車アイコンからSSH有効化、Wi-Fi設定、ホスト名を設定
- 書き込み完了後、microSDをRaspberry Piに挿入して起動
# SSHで接続(PCから)
ssh pi@raspberrypi.local
# システムの更新
sudo apt update && sudo apt upgrade -y
# 基本ツールのインストール
sudo apt install -y git cmake build-essential
NVMe SSDの設定(推奨)
microSDカードだけでも動作しますが、NVMe SSDを追加するとモデルの読み込みが大幅に高速化されます。
# SSDの認識確認
lsblk
# SSDをフォーマットしてマウント
sudo mkfs.ext4 /dev/nvme0n1p1
sudo mkdir /mnt/ssd
sudo mount /dev/nvme0n1p1 /mnt/ssd
# 起動時に自動マウント
echo '/dev/nvme0n1p1 /mnt/ssd ext4 defaults 0 2' | sudo tee -a /etc/fstab
OllamaでローカルLLMを動かす
Raspberry Pi上でLLMを動かす最も簡単な方法はOllamaを使うことです。ARM64に対応しており、Raspberry Pi 5で直接インストールできます。
Ollamaのインストール
# Ollamaのインストール
curl -fsSL https://ollama.com/install.sh | sh
# インストールの確認
ollama --version
# Ollamaサービスの起動確認
sudo systemctl status ollama
おすすめモデルのダウンロード
Raspberry Pi 5(8GB)で動作するおすすめモデルを紹介します。
| モデル | サイズ | メモリ使用量 | 特徴 |
|---|---|---|---|
| gemma3:1b | 約0.8GB | 約1.5GB | Google開発、軽量で高品質 |
| qwen3:0.6b | 約0.5GB | 約1GB | 日本語に強い超軽量モデル |
| phi-4-mini | 約2.5GB | 約3.5GB | Microsoft開発、推論力が高い |
| llama4-scout:1b | 約0.8GB | 約1.5GB | Meta開発、汎用性が高い |
| tinyllama:1.1b | 約0.6GB | 約1.2GB | 超軽量、チャットボット向き |
# モデルのダウンロードと実行
ollama pull gemma3:1b
ollama run gemma3:1b "こんにちは、自己紹介をしてください"
# 日本語特化のモデルも試す
ollama pull qwen3:0.6b
ollama run qwen3:0.6b "中小企業のDX推進のポイントを3つ教えてください"
生成速度の目安
Raspberry Pi 5(8GB)での各モデルの生成速度の目安です。
- 0.6B〜1Bモデル:約5〜10 tokens/秒(十分実用的)
- 3Bモデル:約2〜4 tokens/秒(やや遅いが使える)
- 7Bモデル:約0.5〜1 tokens/秒(実用には厳しい)
リアルタイムのチャットには1B〜3Bモデルが適しています。バッチ処理など応答速度を問わない用途なら、7Bモデルも選択肢に入ります。
llama.cppで直接実行する方法
より細かな制御が必要な場合は、llama.cppをソースからビルドして使用する方法もあります。
ビルドとセットアップ
# ソースコードの取得
cd /mnt/ssd
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
# ビルド(ARM NEON最適化を有効にする)
mkdir build && cd build
cmake .. -DGGML_CPU_ARM_ARCH=armv8.2-a+dotprod+fp16
cmake --build . --config Release -j4
# GGUFモデルのダウンロード(Hugging Faceから)
cd /mnt/ssd
mkdir models
# 例:Gemma 3 1Bの4bit量子化モデル
wget https://huggingface.co/google/gemma-3-1b-it-GGUF/resolve/main/gemma-3-1b-it-Q4_K_M.gguf -P models/
# 実行
./build/bin/llama-cli -m models/gemma-3-1b-it-Q4_K_M.gguf \
-p "日本の中小企業がDXを進めるには" \
-n 256 --temp 0.7
APIサーバーとして起動
llama.cppに付属するサーバー機能を使って、Raspberry PiをAPIサーバーにすることもできます。
# llama-serverの起動
./build/bin/llama-server \
-m models/gemma-3-1b-it-Q4_K_M.gguf \
--host 0.0.0.0 \
--port 8080 \
-c 2048 \
-t 4
これで、同じネットワーク上の他のデバイスからhttp://raspberrypi.local:8080にアクセスしてAIを利用できます。
実用的な活用アイデア
Raspberry PiのローカルLLMサーバーを使った実用的な活用例を紹介します。
社内FAQ応答ボット
チャットボットとして、社内の問い合わせ対応を自動化できます。Open WebUIをRaspberry Piにインストールすれば、ブラウザからアクセスできるチャットインターフェースが完成します。
# Open WebUIのインストール(Docker使用)
sudo apt install -y docker.io docker-compose
sudo docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
IoT連携のスマートアシスタント
Raspberry Piの強みであるGPIOピンを活用して、センサーデータをLLMで分析するIoTシステムを構築できます。温度・湿度データの異常検知、設備の稼働状況レポート生成などに応用可能です。
オフラインの議事録要約
音声認識ツール(Whisper)と組み合わせて、会議の議事録を自動要約するシステムも構築できます。完全オフラインで動作するため、情報漏洩の心配なく議事録を処理できます。
パフォーマンス改善とトラブルシューティング
Raspberry PiでローカルLLMを快適に使うためのチューニングと、よくある問題への対処法です。
排熱対策
LLMの推論中はCPUがフル稼働するため、排熱が重要です。ファン付きケースの使用は必須で、可能であればヒートシンクも追加しましょう。サーマルスロットリングが発生すると性能が大幅に低下します。
# CPU温度のモニタリング
vcgencmd measure_temp
# 温度ログの確認(80度を超えたらスロットリング発生)
while true; do vcgencmd measure_temp; sleep 5; done
スワップ領域の追加
8GBのメモリだけでは大きなモデルを動かせない場合、スワップを追加することで対処できます(ただし速度は低下します)。
# スワップファイルの作成(SSD上に4GB)
sudo fallocate -l 4G /mnt/ssd/swapfile
sudo chmod 600 /mnt/ssd/swapfile
sudo mkswap /mnt/ssd/swapfile
sudo swapon /mnt/ssd/swapfile
# 起動時に自動有効化
echo '/mnt/ssd/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
自動起動の設定
Raspberry Pi起動時にOllamaが自動で立ち上がるようにsystemdで管理します(Ollamaのインストールスクリプトで自動的に設定されますが、カスタム設定が必要な場合は以下を参照)。
# Ollamaの自動起動確認
sudo systemctl enable ollama
sudo systemctl start ollama
# 起動時に特定モデルをプリロード
# /etc/systemd/system/ollama-preload.service を作成
[Unit]
Description=Preload Ollama Model
After=ollama.service
Requires=ollama.service
[Service]
Type=oneshot
ExecStart=/usr/local/bin/ollama pull gemma3:1b
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
まとめ:低コストで始めるAIサーバー
Raspberry PiでのローカルLLM運用は、AIを低コストで体験し、実用的な小規模システムを構築するための優れた選択肢です。
本記事のポイント:
- Raspberry Pi 5(8GB)+約27,000円の投資でAIサーバーが構築可能
- 1B〜3Bの小型モデルなら十分実用的な速度で動作
- OllamaまたはLlama.cppで簡単にセットアップ可能
- FAQ応答、IoT連携、議事録要約など多様な活用が可能
- 排熱対策とSSD追加がパフォーマンスの鍵
Raspberry Piでの運用は、ローカルLLMのメリット・デメリットを少ない投資で体験できる点が最大の魅力です。まずは手軽に試してみて、必要に応じてより本格的な環境にステップアップしていくアプローチをおすすめします。
関連記事
Claude CodeでREST API開発|設計からテストまでAI駆動で高速構築
Claude Codeでコードレビュー|AIを活用した品質チェックとレビュー効率化
Claude Codeのコンテキスト管理術|大規模プロジェクトで精度を維持する方法
Claude Codeのカスタムスラッシュコマンド作成ガイド|独自ワークフローの自動化
Claude Codeでデータベース移行・マイグレーション|安全なスキーマ変更の実践
Claude Codeでデバッグを効率化|バグ修正・エラー解析の実践テクニック
Claude Codeでドキュメント自動生成|README・API仕様書・技術文書の効率的な作り方
Claude Codeでエラーハンドリング実装|堅牢なアプリケーションを構築するパターン集