Gemma 3 - 実行ガイド
llama.cpp、Ollama、Open WebUI上で当社のGGUFを使ってGemma 3を効果的に実行する方法と、Unslothでファインチューニングする方法を学びましょう!
Google が、270M の新モデルと従来の 1B、4B、12B、27B サイズを備えた Gemma 3 をリリースしました。270M と 1B はテキスト専用で、より大きいモデルはテキストと視覚の両方を扱います。GGUF と、効果的な実行方法、およびファインチューニングと実施方法のガイドを提供します RL Gemma 3 で!
新規 2025年8月14日 अपडेट: ファインチューニングを試す Gemma 3 (270M) ノートブック と 実行用 GGUF.
あわせてこちらもご覧ください Gemma 3n ガイド.
Unsloth は、Gemma 3 の推論と学習で float16 マシン上で動作する唯一のフレームワークです。 つまり、無料の Tesla T4 GPU を使う Colab ノートブックでも動作します!
こちらを使って、視覚サポート付きで Gemma 3 (4B) をファインチューニング 無料の Colab ノートブック
最適な設定付きの Unsloth Gemma 3 アップロード:
⚙️ 推奨推論設定
Gemma チームによると、公式に推奨される推論設定は次のとおりです:
Temperature 1.0
Top_K 64
Min_P 0.00(任意ですが、0.01 でもうまく動作します。llama.cpp のデフォルトは 0.1 です)
Top_P 0.95
反復ペナルティ 1.0。(1.0 は llama.cpp と transformers では無効を意味します)
チャットテンプレート:
<bos><start_of_turn>user\nこんにちは!<end_of_turn>\n<start_of_turn>model\nやあ!<end_of_turn>\n<start_of_turn>user\n1+1 は?<end_of_turn>\n<start_of_turn>model\n\n付きのチャットテンプレート
\n改行を表示したもの(最後のものを除く)
llama.cpp とその他の推論エンジンは <bos> を自動追加します。<bos> トークンを 2 つ入れないでください! モデルにプロンプトを与えるときは <bos> を無視してください!
✨スマートフォンで Gemma 3 を実行する
モデルをスマートフォンで実行するには、スマホのようなエッジデバイス上で GGUF をローカル実行できるモバイルアプリの利用をおすすめします。ファインチューニング後に GGUF に書き出し、スマホ上でローカル実行できます。モデルの処理には十分な RAM/電力が必要で、過熱する可能性があるため、この用途では Gemma 3 270M または Gemma 3n モデルの使用を推奨します。次を試せます オープンソースプロジェクト AnythingLLM の モバイルアプリ。こちらからダウンロードできます Android 版はこちら または ChatterUI。これらはスマホで GGUF を実行するのに最適なアプリです。
すべてのチュートリアルで、モデル名 'gemma-3-27b-it-GGUF' を 'gemma-3-270m-it-GGUF:Q8_K_XL' のような任意の Gemma モデルに変更できることを忘れないでください。
🦙 チュートリアル: Ollama で Gemma 3 を実行する方法
インストール
ollamaまだなら!
モデルを実行してください!失敗した場合は、
ollama serveを別の端末で呼び出せます。修正点と推奨パラメータ(temperature など)はすべてparamsHugging Face のアップロード内で! モデル名 'gemma-3-27b-it-GGUF' は 'gemma-3-270m-it-GGUF:Q8_K_XL' のような任意の Gemma モデルに変更できます。
📖 チュートリアル: llama.cpp で Gemma 3 27B を実行する方法
最新の
llama.cppを GitHub こちらから入手してください。以下のビルド手順に従うこともできます。-DGGML_CUDA=ONを-DGGML_CUDA=OFFに変更してください。GPU がない場合、または CPU 推論だけを行いたい場合です。 Apple Mac / Metal デバイスでは、次を設定し、-DGGML_CUDA=OFFその後は通常どおり進めてください。Metal サポートはデフォルトで有効です。
を使いたい場合は
llama.cppモデルを直接読み込むには、以下を実行できます。(:Q4_K_XL) は量子化タイプです。Hugging Face 経由でもダウンロードできます(3 を参照)。これは次と同様ですollama run
または (インストール後に)経由でモデルをダウンロードします
pip install huggingface_hub hf_transfer。Q4_K_M や他の量子化版(BF16 の完全精度など)を選べます。その他のバージョンはこちら: https://huggingface.co/unsloth/gemma-3-27b-it-GGUF
Unsloth の Flappy Bird テストを実行
編集
--threads 32CPU スレッド数について、--ctx-size 16384コンテキスト長用(Gemma 3 は 128K のコンテキスト長をサポートします!)--n-gpu-layers 99GPU オフロードするレイヤー数について。GPU がメモリ不足になったら調整してみてください。CPU のみで推論する場合は、これも削除してください。会話モードの場合:
会話モード以外で Flappy Bird をテストする場合:
弊社の https://unsloth.ai/blog/deepseekr1-dynamic 1.58bit ブログの全文入力は次のとおりです:
Gemma 3 は <bos> を自動追加するので、<bos> を削除するのを忘れないでください!
🦥 Unsloth で Gemma 3 をファインチューニングする
Unsloth は、Gemma 3 の推論と学習で float16 マシン上で動作する唯一のフレームワークです。 つまり、無料の Tesla T4 GPU を使う Colab ノートブックでも動作します!
私たちの新しい Gemma 3 (270M) ノートブック これにより 270M パラメータモデルはチェスを非常に上手くプレイでき、次のチェスの一手を予測できます。
またはファインチューニング Gemma 3n (E4B) で テキスト • 視覚 • 音声
Gemma 3 を完全ファインチューニング(FFT)しようとすると、float16 デバイスでは全レイヤーがデフォルトで float32 になります。Unsloth は float16 を前提としており、動的に upcast します。修正するには、次を実行してください model.to(torch.float16) 読み込み後、または bfloat16 対応の GPU を使用してください。
Unsloth のファインチューニング修正
Unsloth での私たちの解決策は 3 段階です:
すべての中間活性化を bfloat16 形式に保つ - float32 でもよいですが、その場合は 2 倍の VRAM または RAM を使用します(Unsloth の非同期勾配チェックポイント処理を使用)
テンソルコアを使ってすべての行列乗算を float16 で行い、ただし PyTorch の mixed precision autocast の助けを借りずに、手動で upcast / downcast します。
行列乗算を必要としないその他の項目(layernorm など)はすべて float32 に upcast します。
🤔 Gemma 3 修正の分析

まず、Gemma 3 をファインチューニングまたは実行する前に、float16 の mixed precision を使用すると、勾配と 活性化が無限大になります 残念ながらこれは、float16 の tensor core しか持たない T4 GPU、RTX 20x シリーズ、V100 GPU で起こります。
RTX 30x 以上、A100、H100 などの新しい GPU では、これらの GPU は bfloat16 tensor core を備えているため、この問題は発生しません! では、なぜ?
Float16 では最大で 65504までの数しか表現できませんが、bfloat16 では 10^38までの巨大な数を表現できます! ただし、どちらの数値形式も 16 ビットしか使わないことに注意してください! これは、float16 がより多くのビットを割り当てて小さな小数をよりよく表現できる一方で、bfloat16 は分数をうまく表現できないためです。
でも、なぜ float16 なのか? それなら float32 を使えばいいのでは! しかし残念ながら GPU 上の float32 は行列乗算では非常に遅く、場合によっては 4〜10 倍も遅くなります! そのため、これは使えません。
最終更新
役に立ちましたか?


