樹莓派 5 で DeepSeek R1 大規模モデルをデプロイする - 完全ガイド

樹莓派 5 で DeepSeek R1 大規模モデルをデプロイする - 完全ガイド

一、準備作業

ハードウェア要件

  • 樹莓派 5:8GB または 16GB メモリバージョンを推奨
  • ストレージデバイス:少なくとも 32GB の高速 MicroSD カード(A2 クラスを推奨)
  • 冷却ソリューション:アクティブ冷却ファンまたは金属製ヒートシンク(持続高負荷で発熱しやすい)
  • 電源:公式 27W PD 電源(5V 5A)

ソフトウェア準備

  1. 64 ビットシステムの書き込み:
  2. 初回起動設定:
    sudo raspi-config
    # SSH/VNC を有効化、ファイルシステムを拡張、SWAP を 2048MB に設定

二、システム最適化設定

1. 基本設定

sudo apt update && sudo apt full-upgrade -y
sudo apt install -y git curl python3-pip cmake

2. メモリ最適化

SWAP 設定を編集:

sudo nano /etc/dphys-swapfile
# 以下に変更:CONF_SWAPSIZE=2048
sudo systemctl restart dphys-swapfile

3. GPU アクセラレーションを有効化

sudo usermod -aG render pi
echo "dtoverlay=vc4-kms-v3d" | sudo tee -a /boot/config.txt
sudo reboot

三、Python 仮想環境の作成

mkdir ~/deepseek_deploy && cd ~/deepseek_deploy
python3 -m venv venv
source venv/bin/activate

四、Ollama 推論フレームワークのインストール

ARM64 バージョンをインストール

curl -fsSL https://ollama.com/install.sh | sh

五、モデルデプロイ実践

方案 A:公式モデルを直接実行

# 1.5B 基本版(入門に推奨)
ollama run deepseek-r1:1.5b

# テスト実行
>>> 樹莓派とは何ですか?

方案 B:カスタム量子化モデル

  1. GGUF 形式モデルをダウンロード:

    wget https://huggingface.co/TheBloke/DeepSeek-R1-Distill-Llama-8B-GGUF/resolve/main/deepseek-r1-distill-llama-8b.Q4_K_M.gguf
  2. Modelfile を作成:

    tee Modelfile <<EOF
    FROM ./deepseek-r1-distill-llama-8b.Q4_K_M.gguf
    PARAMETER num_ctx 2048
    PARAMETER num_gqa 8
    EOF
  3. インポートして実行:

    ollama create deepseek-custom -f Modelfile
    ollama run deepseek-custom

六、パフォーマンス最適化テクニック

1. 速度向上方案

# CPU 優先度を設定
sudo nice -n -20 ollama run deepseek-r1:1.5b

# Metal シェーダーを使用(GPU アクセラレーション)
export OLLAMA_LLM_METAL=1

2. メモリ最適化設定

# 並列処理数を制限
export OLLAMA_NUM_PARALLEL=1

3. 量子化モデル選択の推奨

モデル仕様メモリ使用量推論速度精度維持
Q2_K3.2GB8.5tok/s60%
Q4_K_M4.8GB5.2tok/s80%
Q6_K6.4GB3.1tok/s90%

七、応用使用テクニック

1. API サービスデプロイ

ollama serve &  # バックグラウンドでサービスを実行
curl http://localhost:11434/api/generate -d '{
  "model": "deepseek-custom",
  "prompt": "樹莓派 5 のパフォーマンス特性",
  "stream": false
}'

2. 中国語最適化プロンプト

template = """[INST] <<SYS>>
あなたは樹莓派上で実行されている AI アシスタントです。簡潔な中国語で回答してください。
現在のシステム時間:{time}
<</SYS>>

{query} [/INST]"""

八、一般的な問題のトラブルシューティング

1. メモリ不足エラー

# メモリ状態を確認
free -h

# 解決策:
# 1. より低い量子化モデルを使用
# 2. SWAP 領域を増加
sudo dphys-swapfile swapoff
sudo nano /etc/dphys-swapfile  # 4096 に変更
sudo dphys-swapfile setup
sudo dphys-swapfile swapon

2. 応答速度が遅い

# CPU 周波数を監視
watch -n 1 "vcgencmd measure_clock arm"

# CPU がフルスピードで実行されていることを確認
sudo apt install cpufrequtils
sudo cpufreq-set -g performance

九、パフォーマンス実測データ

テストシーン1.5B モデル8B-Q4 モデル
中国語質問応答時間2.4s8.7s
コード生成速度5tok/s1.8tok/s
連続対話ラウンド12 ラウンド5 ラウンド
メモリピーク使用量1.8GB5.3GB

十、応用シーン推奨

  1. スマートホームハブ:Home Assistant と連携して音声制御を実現
  2. プログラミング学習アシスタント:VS Code 遠隔開発デバッグを通じて
  3. 教育ロボット:カメラと連携して視覚質問応答を実現
  4. エッジ AI 実験:LoRA 微調整テストプラットフォーム
v260