今回もGeminiに教えてもらいながら、ローカルLLMをラズパイ4B上に構築してみました。Geminiに相談したら、ラズパイ4B(4GBモデル)でも動作するようなので、どんな感じなのか、お試しで構築してみます。
モデルはllama3.2:1bを使います。
■ステップ1:OSの書き込み
PCで「Raspberry Pi Imager」を使い、以下の設定でmicroSDカードを作成します。
書き込み時の設定ポイント
1)OSの選択:
Raspberry Pi OS (other) → Raspberry Pi OS Lite (64-bit) を選んでください。
※メモリ4GBを最大限AIに回すため、デスクトップなしの「Lite」がベストです。
2)OSカスタム設定 (重要): 書き込みボタンを押す前に「設定を編集する(歯車アイコン)」を開き、以下を済ませておくと後が楽です。
ホスト名: raspi-llm など(PCから見つけやすくなります)
ユーザー名/パスワード: 設定してください。
Wi-Fi設定: 普段お使いのWi-Fi情報を入力。
サービス: 「SSHを有効化する」 にチェック。
■ステップ2:初期設定とスワップ強化
ラズパイを起動し、ターミナル(またはSSH)でログインしたら、まずはメモリ不足対策をします。
※接続先はホスト名が raspi-llmであれば、raspi-llm.localといった感じです。
1)OSを最新の状態にする
sudo apt update && sudo apt upgrade -y
2)dphys-swapfileを入れる
dphys-swapfile がインストールされていない場合があるので、以下のコマンドでツールをインストールしてから設定を行う
sudo apt update
sudo apt install dphys-swapfile -y
3)スワップメモリを4GBに増設(4GBモデルの生命線です)
sudo nano /etc/dphys-swapfile
CONF_SWAPSIZE=100 を CONF_SWAPSIZE=4096 に変更。
※他はそのままででOK(ほぼコメントアウトされている)
保存(Ctrl+O, Enter)して終了(Ctrl+X)。
4)設定の反映
#現在のスワップを一旦停止
sudo dphys-swapfile swapoff
#新しいサイズ(4GB)でスワップファイルを再作成
sudo dphys-swapfile setup
#スワップを開始
sudo dphys-swapfile swapon
#確認
free -h
※Swap: の項目の total が 4.0Gi(またはそれくらい)になっていれば成功です!
■ステップ3:Ollamaのインストール
curl -fsSL https://ollama.com/install.sh | sh
copy
■ステップ4:このコマンドでAIが元気に動くか試してみましょう。
ollama run llama3.2:1b
起動して >>> というプロンプトが出たら、こんな質問をしてみてください。
「自己紹介して」
「(住んでいる場所)の良いところを教えて」
◼︎その他
AIを終了する方法
対話画面(>>> と出ている状態)を終わらせるには、以下のいずれかを入力してください。
/exit と入力してエンター
/bye と入力してエンター
キーボードで Ctrl + d を押す
これでラズパイの通常のコマンド入力画面に戻ります。
AIを起動する方法
以下のコマンドで起動できます。
ollama run llama3.2:1b
動作が重い場合は、下記も試してみて
ollama run tinyllama
◼︎動かしてみた感想
かなり遅いです。また1bは幼稚園児レベルらしく日本語もおぼつかない感じ。所詮ラズパイには厳しい感じですかね。それでも、ローカルLLMを動かせた、動かせるというのはいい経験でした。
処理中、CPU温度は80℃を超えます。平時60℃以下ですが。

英語なのは使用したターミナルのキーボードで日本語が使えなかっただけです。日本語で入力、応答もできました。
※起動用のai.shもGeminiに作ってもらいました。