Googleが今年(2025)の8月中旬に新たにリリースした「Gemma 3 270M」[1]は, わずか2.7億パラメータという超軽量サイズでありながら, 日本語処理も可能なオープン非推論モデルである.
今回は, Raspberry Pi 5 8GBでGemma 3 270Mを動かし, ローカルLLMサーバを構築してみる.
1. インストール
Gemma 3を動かす方法[2]はいくつかあると思うが, 今回は大規模言語モデル(LLM)をローカル環境で簡単に実行・管理できるOllamaを使って行った.
1. 1 Ollamaのインストール[3]
以下のコマンドで, Ollamaをインストールする.
$ curl -fsSL https://ollama.com/install.sh | sh >>> Installing ollama to /usr/local >>> Downloading Linux arm64 bundle ######################################################################## 100.0% >>> Creating ollama user... >>> Adding ollama user to render group... >>> Adding ollama user to video group... >>> Adding current user to ollama group... >>> Creating ollama systemd service... >>> Enabling and starting ollama service... Created symlink /etc/systemd/system/default.target.wants/ollama.service 竊・/etc/systemd/system/ollama.service. >>> The Ollama API is now available at 127.0.0.1:11434. >>> Install complete. Run "ollama" from the command line. WARNING: No NVIDIA/AMD GPU detected. Ollama will run in CPU-only
1.2 Gemma 3 270Mのインストール
Ollamaを使って, Gemma 3 270Mモデルをインストールし, モデルを確認する.
$ ollama pull gemma3:270m pulling manifest pulling 735af2139dc6: 100% ▕██████████████████▏ 291 MB pulling 4b19ac7dd2fb: 100% ▕██████████████████▏ 476 B pulling 3e2c24001f9e: 100% ▕██████████████████▏ 8.4 KB pulling 339e884a40f6: 100% ▕██████████████████▏ 61 B pulling 74156d92caf6: 100% ▕██████████████████▏ 490 B verifying sha256 digest writing manifest success $ ollama list NAME ID SIZE MODIFIED gemma3:270m e7d36fb2c3b3 291 MB 7 minutes ago
1.3 Gemma 3の動作確認
Gemma 3 270Mに簡単なメッセージを渡し, 正常に動作しているか確認してみる.
$ ollama run gemma3:270m "Hello" Hello! How can I help you today?
正しくインストールできていれば, こんな感じで応答が返ってくると思う.
2. APIサーバ化
Gemma 3 270Mを他のPCからAPIアクセスできるようにし, ローカルLLMサーバ化する.
2.1 Ollamaのネットワーク設定
Ollamaは, インストール後に特に設定を行わなくても, "http://localhost:11434"からアクセスが可能である.
しかし, この状態では他のPCからのアクセスができないので, ネットワークの設定を行う.
具体的には, "override.conf"ファイルを以下のように作成する.
$ sudo mkdir -p /etc/systemd/system/ollama.service.d $ sudo nano /etc/systemd/system/ollama.service.d/override.conf
[override.conf]
[Service] Environment="OLLAMA_HOST=0.0.0.0"
Ollamaを再起動する.
$ sudo systemctl deamon-reload $ sudo systemctl restart ollama $ ss -tulpn | grep 11434 tcp LISTEN 0 4096 *:11434 *:*
2.2 APIの動作確認
他のPCから, 以下のようなコードを実行し, Raspberry Pi上で動作するGemma 3が応答するか試してみる.
[コード]
import json import requests import sys API_SERVER_URL = "http://<Raspberry Piのアドレス>:11434/api/chat" def main(): headers = {"Content-Type": "application/json"} payload = { "model": "gemma3:270m", "messages": [{ "role": "user", "content": "自己紹介してください", }] } with requests.post(API_SERVER_URL, headers=headers, json=payload, stream=True, timeout=60) as r: r.raise_for_status() chunks = [] for line in r.iter_lines(decode_unicode=True): if not line: continue obj = json.loads(line) # /api/chat は各チャンクに message:{content:"..."} が入る msg = obj.get("message", {}) chunks.append(msg.get("content", "")) if obj.get("done"): break text = "".join(chunks) print(text) if __name__ == "__main__": main()
実行結果として, 例えば以下のように応答が返ってくれば, 正常に動作している.
私は、AIアシスタントとして、あなたの質問に答え、情報提供、翻訳、文章作成、コード生成など、様々なタスクを実行できます。 どのようなタスクをしたいか、具体的な指示を教えていただけると、より的確にサポートできます。例えば、 * **質問に答える:** どんな質問でも、あなたの質問を具体的に、かつ正確に教えてください。 * **情報提供:** 特定の分野に関する情報を、分かりやすく、かつ最新の情報を提供できます。 * **文章作成:** 詩、レポート、ブログ記事、メール、プレゼンテーションなど、様々な文章を作成できます。 * **コード生成:** 複雑なタスクを、Python、JavaScript、Rなど、さまざまな言語で実行できます。 何か特定のタスクに特化した場合は、遠慮なくお申し付けください。
今回は, Raspberry Pi 5上で, Ollamaを使用してGemma 3 270MをローカルLLMサーバ化するところまでを少しまとめてみた.
ローカルLLMには, 外部への情報漏洩リスク低減や高速な応答などのメリットがあり, 用途によってはクラウドLLMよりもローカルLLMの方がよい場合もあるので, 引き続き活用内容も含めて考えていきたい.
他のプラットフォーム, オープンモデルでも, Ollamaを使用すると簡単にローカルLLMサーバを構築できるので, 試してみてください.
---
[1] Gemma 3 270Mの概要: 超高効率 AI のためのコンパクト モデル
[2] Gemma のコンテンツ生成と推論を実行する | Google AI for Developers
[3] GitHub - ollama/ollama: Get up and running with OpenAI gpt-oss, DeepSeek-R1, Gemma 3 and other models.

