Raspberry Pi 5でGemma 4を動かす:導入上の限界と再現可能な測定方法

Raspberry Pi 5上のGemma 4について、モデル識別、メモリ、first token遅延、生成速度、LAN接続を再現可能な条件で測定する方法。

これは Raspberry Pi 5(8GB RAM) で最小の Gemma 4 E2B を動かす、限界に近い実験です。

元の記録からは、モデルサービスが起動し、LAN上のクライアントから接続できたことまでは確認できます。しかし量子化ファイル名、token/s、first token遅延、ピークメモリが保存されていません。したがって、実現可能性の証拠ではあっても完全な性能benchmarkではありません。

元の導入環境

  • 端末:Raspberry Pi 5、4コアCPU、8GB RAM
  • OS:GUIなしのUbuntu Server
  • 接続:SSH
  • ランタイム:LM Studio CLI
  • モデル:Gemma 4 E2B。量子化とファイルハッシュは未記録

ファイルサイズだけではモデルを識別できません。BF16、Q8、Q4では容量、メモリ、速度が大きく異なるため、再測定では完全なファイル名とSHA256を記録します。

導入手順と制約

LM Studio CLIを導入し、現在のバージョンで使えるコマンドを確認します。

1
2
lms --help
lms server --help

SDカードへの反復書き込みを避け、モデルは外付けSSDに置きます。ダウンロード前にマウント先、空き容量、権限を確認してください。8GB端末では小さい量子化モデルと2Kまたは4Kコンテキストから始め、OSとKV cacheの余裕を残します。

元の構成ではPi上で互換APIを起動し、ローカルからモデル一覧を確認しました。localhostのみで待ち受けていたため、socatでLANポートを内部ポートへ転送し、同じLANのMacBookから一覧を取得できました。

これは接続性の確認であり、生成性能の証明ではありません。信頼できるLAN内だけで使い、遠隔接続にはSSHトンネルまたは認証付きリバースプロキシを利用してください。

OpenAI互換のbase_urlを指定できるエディタは接続できます。元のZedテストはチャット接続までで、遅延と出力が残っていないため性能資料にはしません。

再現可能な性能テスト

システム、メモリ、ストレージ、正確なモデルを記録します。

1
2
3
4
5
6
uname -a
cat /etc/os-release
free -h
lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS
ls -lh /path/to/model.gguf
sha256sum /path/to/model.gguf

サービスを再起動し、プロンプト、コンテキスト、スレッド数、最大出力tokenを固定します。CLI引数は変わるため、先に--helpを確認します。別の端末で1秒ごとにメモリを記録します。

1
while true; do date -Iseconds; free -m | sed -n '1,2p'; sleep 1; done | tee memory.log

コールドスタート1回とウォーム実行2回の計3回以上を測ります。

項目 1回目 2回目 3回目
モデルと量子化 未測定 未測定 未測定
コンテキスト長 未測定 未測定 未測定
first token遅延 未測定 未測定 未測定
生成token/s 未測定 未測定 未測定
ピークメモリ 未測定 未測定 未測定
swap使用 未測定 未測定 未測定

ローカルでは成功しLANで失敗する場合、待ち受けアドレス、ポート、ファイアウォールの順に確認します。swapが増え続ける場合は、コンテキストを減らすか小さい量子化へ変更し、ディスク交換を「実用的」と評価しないでください。

適した用途

オフライン学習、エッジ実験、低頻度の自動化、短い固定プロンプトに向きます。頻繁なチャット、長いコードベース解析、低遅延が必要な開発には向きません。

まとめ

Raspberry Pi 5でGemma 4 E2Bを起動しLANから利用することは可能ですが、保存された記録だけでは信頼できる性能値を出せません。first token遅延、生成速度、ピークメモリ、swapを固定条件で測定してから適否を判断してください。