Gemma 4

Unsloth で Gemma 4 をファインチューニング

Unsloth は LLM のファインチューニングを最大 2 倍速くしながらメモリ使用量を 60% 減らすオープンソースライブラリです。カスタム CUDA カーネルと最適化されたトレーニングループにより、これを実現します — 標準トレーニングと比較して精度の低下はゼロです。

Gemma 4 は Unsloth で完全にサポートされており、4 つのバリエーション(E2B、E4B、26B MoE、31B)すべてが対象です。このガイドでは、インストール、データセットの準備、トレーニング設定、ファインチューニングしたモデルのエクスポートを取り上げます。

Unsloth でファインチューニングする理由

2 倍速いトレーニング

カスタム Triton カーネルが注意機構、MLP、埋め込み層を最適化します。標準的な方法で 10 時間かかるファインチューニングが、Unsloth では約 5 時間で完了します。

60% 少ないメモリ

インテリジェントな勾配チェックポイントとメモリ管理により、より小さな GPU でより大きなモデルをファインチューニングできます。E4B モデルは単一の RTX 3090 でファインチューニング可能です。

精度の低下なし

Unsloth の最適化は数学的に標準トレーニングと同等です。より少ない計算量で同じモデル品質が得られます — 近似やトレードオフはありません。

簡単なエクスポート

ファインチューニングしたモデルを GGUF(Ollama/llama.cpp 用)、SafeTensors(vLLM 用)にエクスポートしたり、Hugging Face に直接プッシュしたりできます — すべて 1 つのコマンドで。

インストール

pip で Unsloth をインストールします。Python 3.10 以上と PyTorch 2.0 以上が必要です:

pip install unsloth

クイックスタート:E4B をファインチューニング

独自のデータセットで LoRA を使用して Gemma 4 E4B をファインチューニングする最小限の例:

from unsloth import FastLanguageModel

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="google/gemma-4-e4b-it",
    max_seq_length=4096,
    load_in_4bit=True,
)

model = FastLanguageModel.get_peft_model(
    model, r=16, lora_alpha=16,
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj"],
)

# Train with your dataset
from trl import SFTTrainer
trainer = SFTTrainer(
    model=model, tokenizer=tokenizer,
    train_dataset=dataset,
    max_seq_length=4096,
)
trainer.train()

データセットの準備

Unsloth は Gemma 4 のファインチューニング向けに複数のデータセットフォーマットをサポートしています:

unslothPage.datasets.formats.0.title

ユーザー/アシスタントターンの会話。チャットボットとアシスタントのファインチューニングに最適です。

unslothPage.datasets.formats.1.title

継続的な事前トレーニングまたはドメイン適応のための生テキスト。

unslothPage.datasets.formats.2.title

選好ベーストレーニングのための選択/却下ペア。

ファインチューニングのハードウェア要件

unslothPage.hardware.desc

unslothPage.hardware.headers.modelunslothPage.hardware.headers.gpuunslothPage.hardware.headers.time
E2B LoRARTX 3060 (12 GB)~15 min / 1K steps
E4B LoRARTX 4060 Ti (16 GB)~25 min / 1K steps
E4B QLoRARTX 3060 (12 GB)~30 min / 1K steps
27B MoE LoRARTX 4090 (24 GB)~60 min / 1K steps
27B MoE QLoRARTX 4070 Ti (16 GB)~90 min / 1K steps

モデルのエクスポート

ファインチューニング後、好みのフォーマットにエクスポートします:

# Save to GGUF for Ollama
model.save_pretrained_gguf("gemma4-custom", tokenizer, quantization_method="q4_k_m")

# Save to SafeTensors for vLLM
model.save_pretrained_merged("gemma4-custom-merged", tokenizer)

# Push to Hugging Face
model.push_to_hub_merged("your-username/gemma4-custom", tokenizer)

Unsloth + Gemma 4 よくある質問

Unsloth とは何ですか?

Unsloth は、カスタム CUDA カーネルにより LLM トレーニングを 2 倍速くし、メモリ使用量を 60% 減らすオープンソースのファインチューニングライブラリです。Gemma 4、Llama、Mistral、その他の人気モデルファミリーをサポートしています。

コンシューマー GPU で Gemma 4 E4B をファインチューニングできますか?

はい。Unsloth の QLoRA 4 ビットを使用すると、RTX 4060(8GB)で E4B をファインチューニングできます。LoRA には RTX 3090(24GB)が必要です。より大きなモデルには、プロフェッショナル GPU(A100/H100)またはクラウドインスタンスが必要です。

LoRA と QLoRA の違いは?

LoRA(Low-Rank Adaptation)は、ベースの重みを固定したまま、モデルに小さなトレーニング可能な行列を追加します。QLoRA はさらにベースモデルを 4 ビットに量子化し、メモリを劇的に削減します。どちらも同様の品質の結果を生み出します。

ファインチューニングにはどれくらいのデータが必要ですか?

ドメイン適応には、1K〜10K の高品質な例がしばしば十分です。インストラクションチューニングには、5K〜50K の会話ペアがうまく機能します。量より質が重要です — 1K の優れた例は 100K のノイズの多い例に勝ります。

LoRA 重みをベースモデルにマージできますか?

はい。Unsloth は、アダプターのオーバーヘッドなしでのデプロイのために、LoRA 重みをベースモデルにマージすることをサポートしています。GGUF または SafeTensors フォーマットで単一のマージされたモデルとしてエクスポートしてください。

Unsloth は MoE モデルをサポートしていますか?

はい、Unsloth は Gemma 4 26B A4B MoE モデルのファインチューニングをサポートしています。MoE アーキテクチャのため、LoRA は通常共有レイヤーとエキスパートルーティングに適用され、同様のアクティブパラメータ数の Dense モデルよりも多くの VRAM を必要とします。

unslothPage.faq.items.6.q

unslothPage.faq.items.6.a

unslothPage.faq.items.7.q

unslothPage.faq.items.7.a

unslothPage.faq.items.8.q

unslothPage.faq.items.8.a

unslothPage.faq.items.9.q

unslothPage.faq.items.9.a

Gemma 4 のファインチューニングを始めよう

Unsloth をインストールし、データセットを準備して、数時間でカスタム Gemma 4 モデルを作成しましょう。