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版)を MLX LM で試す

Last updated at Posted at 2025-03-19

はじめに

以前も試して記事を書いたり、また記事には書いてないものでもちょこちょこ試しているローカルLLM の話です。

M4 の Mac mini で、以下の「MLX LM」と MLX版のモデルを組み合わせて試していきます。

●mlx-lm · PyPI
 https://pypi.org/project/mlx-lm/

2025-03-20_02-03-46.jpg

過去の記事

MLX LM と MLX版のモデルの組み合わせを過去に試したもので、記事化したものは以下があります。

●mlx-community の「Llama-3-ELYZA-JP-8B-8bit」「Swallow-13b-instruct-v0.1-8bit」を mlx-lm で試す - Qiita
 https://qiita.com/youtoy/items/973910dada605ab7e259

●MLX でローカルLLM:「mlx-community/phi-4-4bit」を試す(M4 Mac mini、mlx-lm を利用) - Qiita
 https://qiita.com/youtoy/items/a12ee071dd8290fc0715

今回試すモデル

今回試すモデルは、Googleさんの「Gemma 3(MLX版)」です。

Hugging Face のモデルのメニューで「mlx-community/gemma-3」をキーワードとして検索すると、パラメータ違いのモデルがたくさん出てきます。

●Models - Hugging Face
 https://huggingface.co/models?sort=trending&search=mlx-community%2Fgemma-3

2025-03-20_02-00-27.jpg

この中で、自分の M4 の Mac mini で動かせるモデルを選んでいきます。

モデルを選ぶ

自分のマシンはメモリ 24GB で、設定変更を行わない場合はそのうちの 16GB をローカルLLM用に使えます。

その範囲で扱える、できるだけ大きいモデルを選んでみます。

ざっと見ていくと、以下が良さそうに思えました。
(パラメータ数の大きいものから見ていったところ、27B のモデルは量子化されたものでもサイズが厳しそうだったので、12B の量子化されたものを選んだ形です)

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

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

2025-03-20_02-07-35.jpg

ちなみに、「it」と「pt」という種類があるようでしたが、以下の記事に書かれているような違いがあるようです。

●Google の Gemma 3 を解説して試してみる
 https://zenn.dev/schroneko/articles/try-google-gemma-3

image.png

今回は「mlx-community/gemma-3-12b-it-8bit」のほうを使うことにしました。

実際に試す

実際に試していきます。

下準備

過去の記事と同様に、仮想環境を使います。
既に「myenv」という名前で作成していた環境を使います。

まずはアクティベートです。

source myenv/bin/activate

過去に MLX LM を試した環境なので、それが導入済みではあるのですが、最新版にアップデートしておくために以下を実行しました。

pip install -U mlx-lm

コマンドで利用

下準備はできたので、「mlx-community/gemma-3-12b-it-8bit」をコマンドで扱います。

コマンドの内容

具体的には、以下のコマンドで実行すれば OK です。

mlx_lm.generate --model mlx-community/gemma-3-12b-it-8bit --prompt "【プロンプト】"

以下のように「--max-tokens」のオプションを併用すると良いかもしれません(デフォルトの値だと、最大トークン数があまり大きくない感じがします)。

mlx_lm.generate --model mlx-community/gemma-3-12b-it-8bit --prompt "【プロンプト】" --max-tokens 【数字】

ちなみに利用可能なオプションについては、mlx_lm.generate --help を実行することで確認できます。
以下はその実行例です(この部分の下に、個々のオプションの説明も出てきています)。

2025-03-20_02-28-25.jpg

実行結果

コマンドを実行して試した例を掲載します。

2025-03-20_02-33-06.jpg

メモリ利用のピークは 13.688 GB で、生成スピードは 7.962 tokens-per-sec となりました。

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?