Mac mini M4でOllamaを使ってGemma 3 12Bを動かし、画像入力も試してみる
Mac mini M4にOllamaをインストールし、ローカルLLMとしてGemma 3 12Bを動かしてみました。
今回はテキスト入力だけでなく、画像を渡してマルチモーダルな応答ができるかも軽く試しています。
実験として、さった峠のライブ画像をスクリーンショットし、Gemma 3 12Bに画像の内容、場所、交通状態、天気、海の状態などを質問しました。
参考にした記事
今回の検証では、以下の記事を参考にしました。
M4 の Mac mini で ローカルLLM: Ollama で Gemma 3 を軽く試す(テキスト入力、画像も入力するマルチモーダル)
Ollamaをインストールする
まず、Ollamaを公式サイトからダウンロードします。
今回はMac miniを画面共有で操作し、ダウンロードしたファイルをダブルクリックしてインストールしました。
Mac miniをヘッドレス運用している場合でも、画面共有が使える状態なら通常のMacアプリと同じようにインストールできます。
Gemma 3 12Bをインストールして起動する
Ollamaのインストール後、ターミナルで以下を実行します。
ollama run gemma3:12b
初回実行時は、モデルがまだローカルに存在しないため、自動的にダウンロードされます。
ダウンロードと読み込みが終わると、そのままGemma 3 12Bと対話できる状態になります。
終了する場合は、以下を入力します。
/bye
インストール済みモデルを確認する
インストール済みのモデルは、以下のコマンドで確認できます。
ollama list
実行結果は以下です。
NAME ID SIZE MODIFIED gemma3:12b f4031aab637d 8.1 GB 5 minutes ago
gemma3:12b が表示されているため、Gemma 3 12Bがローカルにインストールされています。
モデル情報を確認する
モデルの詳細情報は、以下のコマンドで確認できます。
ollama show gemma3:12b
実行結果は以下です。
Model
architecture gemma3
parameters 12.2B
context length 131072
embedding length 3840
quantization Q4_K_M
Capabilities
completion
vision
Parameters
stop "<end_of_turn>"
temperature 1
top_k 64
top_p 0.95
License
Gemma Terms of Use
Last modified: February 21, 2024
...
注目したいのは、以下の部分です。
Capabilities completion vision
completion だけでなく vision があるため、画像入力にも対応していることが分かります。
画像入力の実験
次に、画像入力を試しました。
今回は、以下のYouTubeライブ映像から、さった峠付近の画像をスクリーンショットして使用しました。
スクリーンショットした画像ファイル名は以下です。
testgemma.png
画像をMac miniへ転送する
手元のMacからMac miniへ、画像ファイルを転送します。
scp ~/Desktop/testgemma.png macmini:~
実行結果は以下です。
testgemma.png 100% 1902KB 8.3MB/s 00:00
これで、Mac miniのホームディレクトリに画像ファイルが転送されました。
画像の内容を質問する
まず、画像の内容を質問しました。
ollama run gemma3:12b "これは何の画像?" ./testgemma.png
結果は以下です。
Added image './testgemma.png' これは、海と、その向こうにそびえる富士山の画像です。 海岸沿いの道路が写っていることから、富士山を望むことができる海岸線にある場所であることがわかります。
画像に写っている富士山、海、海岸沿いの道路については、おおむね認識できています。
画像の場所を質問する
次に、どこの画像か質問しました。
ollama run gemma3:12b "これはどこの画像?" ./testgemma.png
結果は以下です。
Added image './testgemma.png' これは日本の富山県にある立山砂防公園からの景色です。写真の中心にそびえ立つのは、遠くに見える富士山です。 立山砂防公園は、かつて頻繁に発生した土砂災害から地域を守るために建設された施設で、その美しい景観も魅力です。
この回答は不正確です。
実際には、さった峠のライブ画像を使っていますが、Gemma 3 12Bは「富山県にある立山砂防公園」と回答しました。
画像内の富士山や海岸線は認識できても、場所の特定までは正確ではありませんでした。
交通状態を質問する
次に、交通状態を質問しました。
ollama run gemma3:12b "交通状態は?" ./testgemma.png
結果は以下です。
Added image './testgemma.png' 画像から判断すると、交通は比較的スムーズです。車線が複数あり、車両の密度も高くありません。全体的に見て、交通渋滞している様子は見られません。
交通量や渋滞の有無については、画像からある程度判断できているように見えます。
ライブカメラ画像を定期的に取得し、道路状況をざっくり把握する用途には使える可能性があります。
天気と津波の可能性を質問する
次に、天気と津波の可能性を質問しました。
ollama run gemma3:12b "天気は?津波の可能性は?" ./testgemma.png
結果は以下です。
Added image './testgemma.png' 画像によると、晴天で、空は鮮青色です。 津波の可能性については、画像だけでは判断できません。津波は地震や海底地すべりなどによって引き起こされるため、気象庁などの専門機関が発表する津波警報や注意報を確認する必要があります。 もし、画像が特定の場所で撮影されたものであれば、その場所の津波履歴や避難場所などを調べてみることをお勧めします。
天気については、画像から晴天と判断できています。
一方で、津波の可能性については画像だけでは判断できないと回答しました。
これは妥当な回答です。津波の判断には、画像だけでなく、地震情報、津波警報・注意報、潮位変化などの情報が必要になります。
天気と海の状態を質問する
次に、天気と海の状態を質問しました。
ollama run gemma3:12b "天気は?海の状態は?" ./testgemma.png
結果は以下です。
Added image './testgemma.png' 写真から判断すると、天気は晴れです。空は鮮青色で、富士山がくっきりと見えています。 海の様子は、比較的穏やかで波は穏やかです。しかし、太陽光の反射で波の様子を正確に判断するのは難しいです。
天気、富士山の見え方、海の状態については、画像から自然に説明できています。
また、太陽光の反射により波の状態を正確に判断しにくいという補足もありました。
今回分かったこと
今回の検証で分かったことは以下です。
- Mac mini M4でOllamaを使ってGemma 3 12Bを動かせた
gemma3:12bはOllama経由で簡単にインストールできる- モデルサイズは約8.1GBだった
visionに対応しており、画像入力も扱える- 富士山、海、道路、天気などの画像内容はある程度認識できた
- 場所の特定は間違えることがある
- 交通状態や海の様子は、ざっくりした判断なら可能性がある
- 津波の可能性など、防災上重要な判断は画像だけでは不十分
注意点
画像入力ができるとはいえ、ローカルLLMの回答をそのまま防災判断に使うのは危険です。
特に、以下のような判断には公式情報との組み合わせが必要です。
- 津波の可能性
- 地震後の危険判断
- 避難判断
- 火災や煙の有無
- 道路通行可否
画像から状況を補助的に把握することはできても、最終判断には気象庁、自治体、道路情報、災害情報などの信頼できる情報源が必要です。
今後試したいこと
今回の結果を見ると、ライブカメラ画像をローカルLLMに渡して、周辺状況をざっくり把握する用途には可能性がありそうです。
今後は、以下のような用途も試してみたいです。
- ライブカメラ画像から天気を判定する
- 道路の混雑状況を確認する
- 海の荒れ具合をざっくり確認する
- 火災や煙のような異常を検出できるか試す
- 地震後の屋外状況を画像から把握できるか試す
- JMA防災情報XMLなどの公式情報と組み合わせる
特に、画像だけで判断するのではなく、JMA防災情報XMLや気象情報、道路情報などと組み合わせることで、より実用的な監視システムに近づけられそうです。
まとめ
Mac mini M4にOllamaをインストールし、Gemma 3 12Bを動かすことができました。
テキスト入力だけでなく、画像入力にも対応しており、スクリーンショット画像から富士山、海、道路、天気、交通状態などをある程度説明できました。
一方で、場所の特定は間違えることがあり、津波の可能性のような防災上重要な判断は画像だけでは不十分です。
ローカルLLMによる画像理解は、災害情報や交通情報を補助する用途としてはかなり面白いですが、公式情報と組み合わせる前提で使うのが現実的だと感じました。

コメント