0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Mac mini で ローカルLLM: Google の Gemma 3(量子化された MLX版 2種)の画像入力を MLX-VLM で試す

Last updated at Posted at 2025-05-04

はじめに

今回の内容は、以下の記事を書いた時に試した「Gemma 3(MLX版、2種)を使ったローカルLLM」のお試しの続きみたいな内容です。

今回の内容

上記と今回の内容が異なる部分は、今回は入力をテキストだけでなく画像も用いる点です。

マルチモーダル対応で、画像入力可能なモデルを使ったローカルLLM では、以前以下の内容を試していたことがありました。

●「Qwen2.5-VL」の量子化された MLX版のモデル(7B 8bit)と「MLX-VLM」を使ったローカルLLM(Image to Text、M4 Mac mini を利用) - Qiita
 https://qiita.com/youtoy/items/98d8b6c8d74c291ba3ca

この「Qwen2.5-VL」を試した時に使った「MLX-VLM」と、Gemma 3 を組み合わせて試します。

実際に試してみる

MLX-VLM と Gemma 3 を組み合わせて試す方法

MLX-VLM と Gemma 3 を組み合わせて試す方法について、今回使う以下のモデルのページ(Hugging Face上のもの)を見てみます。

●mlx-community/gemma-3-27b-it-qat-3bit · Hugging Face
 https://huggingface.co/mlx-community/gemma-3-27b-it-qat-3bit

●mlx-community/gemma-3-12b-it-qat-8bit · Hugging Face
 https://huggingface.co/mlx-community/gemma-3-12b-it-qat-8bit

どちらも上記のページ上では、MLX-VLM と組み合わせた例が掲載されています。

image.png

MLX-VLM のアップデート(またはインストール)のコマンドと、MLX-VLM を使った処理を行うコマンドは以下となるようです。

pip install -U mlx-vlm
python -m mlx_vlm.generate --model mlx-community/gemma-3-27b-it-qat-3bit --max-tokens 100 --temperature 0.0 --prompt "Describe this image." --image <path_to_image>

試す環境

今回の内容を試す環境について、ここで情報を少し書いておきます。

  • PC
    • M4 の Mac mini(メモリ 24GB、うち 16GB をローカルLLM用で利用可能)
  • モデル
    • gemma-3-27b-it-qat-3bit
    • gemma-3-12b-it-qat-8bit
  • 実行環境
    • Python の仮想環境で MLX-VLM を利用
  • 入力に使う画像
    • 2025-05-03_17-06-41.jpg

画像入力を試す

Gemma 3 での画像入力を試します。

gemma-3-27b-it-qat-3bit

まずは「gemma-3-27b-it-qat-3bit」のほうを使って試します。

以下が処理を実行するためのコマンドです。

python -m mlx_vlm.generate --model mlx-community/gemma-3-27b-it-qat-3bit --max-tokens 100 --temp 0.0 --prompt "この画像について日本語で説明して" --image "dragon.jpg"

そして上記のコマンドを実行したところ、以下の出力が得られました。

image.png

プロンプトの部分が文字化けしていたりしますが、出力は画像の内容を説明した日本語を得られました。

gemma-3-12b-it-qat-8bit

次に「gemma-3-12b-it-qat-8bit」のほうで試します。

以下が処理を実行するためのコマンドです。

python -m mlx_vlm.generate --model mlx-community/gemma-3-12b-it-qat-8bit --max-tokens 100 --temp 0.0 --prompt "この画像について日本語で説明して" --image "dragon.jpg"

以下が実行結果です。
今回は先ほどと異なり、出力が英語になってしまいました。

image.png

再度、同じコマンドを実行したところ、その際も出力が英語になってしまいました。

image.png

ここで「プロンプトを英語で書き、その中で日本語での出力を指定する」というやり方も試してみました。以下が実行したコマンドです。

python -m mlx_vlm.generate --model mlx-community/gemma-3-12b-it-qat-8bit --max-tokens 100 --temp 0.0 --prompt "Describe this image in Japanese" --image "dragon.jpg"

そして以下が出力結果ですが、最終出力の部分は日本語になりました。

image.png

今回は試行回数が少ないので、上記が偶然そうなったのか、プロンプトを変えた効果なのかは判断しづらい状態だと思います。

そのため、プロンプトを変えたものなどを色々試していければと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?