For the complete documentation index, see llms.txt. This page is also available as Markdown.

Gemma 4ファインチューニングガイド

GoogleのGemma 4をUnslothで学習しましょう。

Google の Gemma 4 12B、E2B、E4B、26B-A4B、および31Bを Unsloth。Unsloth は Gemma 4 のすべてのビジョン、テキスト、音声、RL のファインチューニングをサポートします。

  • Unsloth は Gemma 4 を 約1.5倍高速VRAMを約60%削減 FA2 構成よりも(精度低下なし)

  • 私たちは多くの汎用的な Gemma 4 の学習に関するバグを修正しました (Unsloth 由来ではありません)。

  • Gemma 4 E2B は 8GB VRAM。E4B には 10GB VRAM が必要です。

クイックスタートバグ修正 + ヒント

Gemma 4 をファインチューニングする 私たちの 無料の Google Colab ノートブック:

私たちの UI で Gemma 4 を無料で実行・学習できます Unsloth Studio✨ ノートブック:

さらに ノートブックはこちら.

  • Gemma 4 は次でも学習できます 強化学習 (RL)を 9GB VRAM で。

  • Gemma 4 E2B LoRA は 8〜10GB VRAM で動作します。E4B LoRA には 17GB VRAM が必要です。

  • 31B QLoRA は 22GB で動作し 、26B-A4B LoRA には 40GB 超が必要です

  • エクスポート/モデルを GGUF などに保存すること および フルファインチューニング (FFT) も可能です。

🐛 バグ修正 + ヒント

🍇勾配蓄積によって loss が水増しされることがあります

loss が 13〜15 より高い(100 や 300 など)場合、たいていは勾配蓄積が正しく考慮されていません — 私たちは これを Unsloth と Unsloth Studio の一部として修正しました。

勾配蓄積について詳しくは、勾配蓄積のバグ修正ブログをご覧ください: https://unsloth.ai/blog/gradient

⁉️Gemma-4 31B と 26B-A4B の推論での IndexError

31B と 26B で推論を行うと、このエラーが表示されることがあります:

原因は以下です:

Gemma-4 31B と 26B-A4B には num_kv_shared_layers = 0。Python では、 -0 == 0なので layer_types[:-0]layer_types[:0] == []。キャッシュは 0 個のレイヤースロットで構築され、最初の attention の forward が以下でクラッシュします Cache.update.

use_cache = True E2B、E4B の生成は意味不明でした

次の issue を参照: "[Gemma 4] use_cache=False が attention 計算を壊し、ゴミの logits を生成する #45242"

Gemma-4 E2B と E4B はレイヤー間で KV 状態を共有します(num_kv_shared_layers = 20 および 18)。キャッシュは、初期レイヤーが KV を保存し、後続レイヤーが再利用する唯一の場所です。 use_cache=False (すべての QLoRA チュートリアルが設定するように、また gradient_checkpointing=True が強制するように)、 Gemma4TextModel.forward キャッシュ構築がスキップされ、そのため KV 共有レイヤーは現在の隠れ状態からローカルに K と V を再計算する処理に落ちます。logits は壊れ、学習 loss は発散します。

修正前(unsloth/gemma-4-E2B-it、プロンプト「1+1 は?」):

修正後:

📻音声の float16 オーバーフロー

Gemma4AudioAttention で使用します config.attention_invalid_logits_value = -1e9masked_fill 呼び出しで。fp16(Tesla T4)では、-1e9 が fp16 の最大値 65504 をオーバーフローし、次を引き起こします:

原因は self.config.attention_invalid_logits_value :

💡Gemma-4 のヒント

  1. もし 推論能力を維持したい 場合は、推論スタイルの例と直接回答を混ぜることができます(推論を最低 75% に保ってください)。そうでなければ、完全にそのまま出力しても構いません。 使用するのは gemma-4 です。思考なしのチャットテンプレートには gemma-4-thinking 思考版を使ってください。大きい 26B と 31B には思考版、小さいものには思考なし版を使います。

  2. 思考モードを有効にするには enable_thinking = True / Falsetokenizer.apply_chat_template

    思考有効:

    次を出力します <bos><|turn>system\n<|think|><turn|>\n<|turn>user\n2+2 は何ですか?<turn|>\n<|turn>model\n

    思考無効:

    次を出力します <bos><|turn>user\n2+2 は何ですか?<turn|>\n<|turn>model\n<|channel>thought\n<channel|>

  3. Gemma 4 は140言語をサポートしており、多言語ファインチューニングに強力です。

  4. 学習することを推奨します E4B QLoRA ではなく E2B LoRA E4B のほうが大きく、量子化精度の差はごくわずかだからです。Gemma 4 E4B LoRA はさらに優れています。

  5. ファインチューニング後は、次へエクスポートできます GGUF (llama.cpp/Unsloth/Ollama など用)

⚡クイックスタート

🦥 Unsloth Studio ガイド

Gemma 4 は次で実行・ファインチューニングできます Unsloth Studio、ローカル AI 向けの新しいオープンソース Web UI です。

Unsloth Studio なら、モデルをローカルで次の環境で実行できます MacOS、Windows、Linux 上で NVIDIA GPU を使って学習できます。Intel、MLX、AMD の学習サポートも今月中に登場予定です。

1

Unsloth をインストール

ターミナルで実行:

MacOS、Linux、WSL:

Windows PowerShell:

2

Unsloth を起動

MacOS、Linux、WSL および Windows:

その後、次を開いてください http://localhost:8888 をブラウザで。

3

Gemma 4 を学習

初回起動時には、アカウントを保護するためのパスワードを作成し、後で再度サインインする必要があります。その後、モデル、データセット、基本設定を選ぶ簡単なオンボーディングウィザードが表示されます。いつでもスキップできます。

検索バーで Gemma 4 を検索し、希望のモデルとデータセットを選択します。次に、ハイパーパラメータやコンテキスト長を必要に応じて調整します。

4

学習の進捗を監視

学習開始をクリックすると、モデルの学習進捗を監視・確認できます。学習 loss は着実に減少しているはずです。 完了すると、モデルは自動的に保存されます。

5

ファインチューニングしたモデルをエクスポート

完了すると、Unsloth Studio ではモデルを GGUF、safetensor などの形式にエクスポートできます。

6

ファインチューニング済みモデルと元のモデルを比較

をクリック 比較モード して、LoRA アダプターと元のモデルを比較します。

🦥 Unsloth Core(コードベース)ガイド

Gemma 4 用の無料ノートブックを作成しました:

また、強化学習(RL)用にも作成しました: E2B (RL GRPO)

より大きな Gemma 4 モデル用のノートブックもありますが、A100 が必要です:

Gemma-4-26B-A4B - A100 GPU

Gemma-4-31B - A100 GPU

次を行いたい場合は GRPO、高速 vLLM 推論を無効にして Unsloth 推論を使えば Unsloth で動作します。以下の ビジョン RL ノートブック例に従ってください。

以下は独立した Gemma-4-26B-A4B-it のテキスト SFT レシピです。これはテキストのみです — 詳しくは ビジョンのファインチューニング セクションも参照してください。

OOM が発生したら:

  • 下げる per_device_train_batch_size1 にし、必要に応じて max_seq_length.

  • を維持する use_gradient_checkpointing="unsloth" をオンにします(VRAM使用量を減らし、コンテキスト長を伸ばすために設計されています)。

MoE(bf16 LoRA)用の読み込み例:

読み込んだら、LoRAアダプタを追加し、上のSFT例と同様に学習します。

強化学習(RL)

これで Gemma 4 を RL、GSPO、GRPO などで学習できるようになりました。 無料ノートブック.

Gemma 4 E2B RL は 9GB で動作します。

このノートブックの目的は、Gemma 4 に Sudoku パズルの解き方を学習させることです。 GRPO.

モデルは空白マスを埋める戦略を考案し、正しい配置や有効なパズルの完成に対して報酬を与えます。

vLLM ではサポートされていませんが、次の設定にすることで Unsloth で Gemma 4 RL を実行できます。 fast_inference=False モデルを読み込むときに:

MoEファインチューニング(26B-A4B)

この 26B-A4B モデルは、Gemma 4 ラインナップの中で速度と品質の中間にあたります。これは MoE モデルで、トークンごとに有効になるパラメータが一部だけなので、保守的なファインチューニング方法は次のとおりです:

  • 使う LoRA を、フルファインチューニングではなく

  • 優先する 16-bit / bf16 LoRA もしメモリに余裕があるなら

  • まずは短いコンテキストと小さいランクから始める

  • パイプラインが安定してからのみ拡張する

最高品質を目指し、さらにメモリに余裕があるなら、代わりに 31B を使ってください。

マルチモーダルファインチューニング(E2B / E4B)

なぜなら E2B および E4B サポート 画像 および 音声に対応しているため、これらがマルチモーダルファインチューニング向けの主な Gemma 4 バリアントです。

  • マルチモーダルモデルを FastVisionModel

  • で読み込み、 finetune_vision_layers = False をまず

  • 言語、アテンション、MLP レイヤーだけをファインチューニングする

  • 必要に応じて後から vision か audio レイヤーを有効にする

Gemma 4 マルチモーダル LoRA の例:

画像の例の形式

覚えておいてください:Gemma 4 のマルチモーダルプロンプトでは、画像を 先に その後にテキスト指示を置きます。

音声の例の形式

音声は E2B / E4B のみです。クリップは短く、タスクに特化したものにしてください。

ファインチューニング済みモデルの保存 / エクスポート

特定の推論 / デプロイガイドは以下で確認できます。 Unsloth Studio, llama.cpp, vLLM, llama-server, Ollama または SGLang.

GGUF に保存

Unsloth は直接 GGUF へ保存することをサポートしています:

または、GGUF を Hugging Face にプッシュします:

エクスポートしたモデルが別のランタイムで悪化する場合、Unsloth は最も一般的な原因を次のように示します: 推論時のチャットテンプレート / EOS トークンの誤り (学習時と同じチャットテンプレートを使う必要があります)。

詳細は推論ガイドをご覧ください:

Gemma 4 のデータに関するベストプラクティス

Gemma 4 には、覚えておくべきフォーマット上の注意点がいくつかあります。

1. 標準のチャットロールを使う

Gemma 4 は標準の

  • system

  • user

  • assistant

これは、SFT データセットを古い Gemma 固有のロール形式ではなく、通常のチャット形式で記述するべきことを意味します。

2. Thinking モードは明示的

SFT 中に思考スタイルの挙動を保持したい場合:

  • 形式を一貫させる

  • 次のどちらで学習するかを決める 表示される思考ブロック または 最終回答のみ

  • する しない 互換性のない複数の思考形式を同じデータセットで混ぜない

ほとんどの本番アシスタントでは、最も簡単な構成は 最終的に表示される回答のみ.

3. マルチターンのルール

マルチターン会話では、会話履歴には 最後に表示される回答 だけを残します。以前の しない 思考ブロックを後続のターンに再度入力しないでください。

最終更新

役に立ちましたか?