blog
AIブログ
Gemma ファインチューニング方法を徹底解説|LoRA/QLoRA実装から本番デプロイまで
監修
河合 継(クリスタルメソッド株式会社 代表取締役)
AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番組でのAI解説実績を持つAI研究者として、AIの研究開発を主導している。
運営会社について | 編集方針

Gemma ファインチューニングの全体像と手法選択の判断軸
Gemma ファインチューニング方法を選定する前に、現行のモデルラインナップと技術的制約を正確に把握しておく必要がある。2026年3月31日にリリースされたGemma 4は、GoogleがオープンウェイトモデルとしてApache 2.0ライセンスを初めて採用した世代であり、ファインチューニング後の成果物を商用配布する際にも特別な許諾や契約なしで対応できる(Google AI for Developers、Gemma 4 model overview、2026-06-08)。この点はエンジニアリング判断として重要な前提だ。
なお、Gemma 3以前の世代は独自の「Gemma Terms of Use」が適用されており、Apache 2.0とは異なる制約が存在する。旧世代モデルを流用する場合は再配布条件を必ず個別に確認すること。本記事では現行世代のGemma 4を主軸に解説する。
現行のGemma 4ラインナップは以下の4系統だ。エッジ・ブラウザ向けのE2B/E4B(コンテキスト128K、ネイティブマルチモーダル)、マルチモーダル主力の12B Unified(コンテキスト256K、2026年6月3日リリース)、高スループット推論向けの26B A4B(MoE構成、コンテキスト256K)、旗艦モデルの31B Dense(コンテキスト256K)。ファインチューニングの文脈では、モデルサイズの選択がGPUメモリ要件と直結するため、まずサイズから決定する順序が合理的だ。
ファインチューニング手法の選択は、大きく3軸で判断する。
- フルファインチューニング:全パラメータを更新する。精度は最大化できるが、数十〜数百GBのGPUメモリを要する。Gemma 4 31BクラスをフルFTするには複数のハイエンドGPUが必要になり、現実的な選択肢ではないケースが多い。
- LoRA(Low-Rank Adaptation):Attention層などに低ランク行列を挿入し、そこだけを学習する。24GB VRAM(例:RTX 3090/4090)1枚でE4Bクラスのモデルを扱える。精度とコストのバランスが最も取りやすい手法だ。
- QLoRA:ベースモデルを4-bit量子化した上でLoRAを適用する。16GB VRAM環境でも稼働可能になる一方、量子化による精度劣化が若干発生する。精度要件が厳しいタスクでは最終的にLoRAとの比較検証を行うべきだ。
Unslothの公式ドキュメントでは、E4BモデルにはQLoRAを、E2BモデルにはLoRAをそれぞれ推奨している(Gemma 4ファインチューニングガイド、Unsloth Documentation)。実装開始時の基準値として参照できる。
手法選択の判断材料として、以下の比較表を参照されたい。
| 手法 | 対象モデル目安 | 最小VRAM | 精度水準 | 計算コスト | 主な用途 |
|---|---|---|---|---|---|
| フルファインチューニング | E2B/E4B | 40GB+ | 最高 | 高(大) | 研究・精度最優先 |
| LoRA | E2B/E4B〜12B | 24GB | 高 | 中 | ドメイン適応・実用 |
| QLoRA | E4B〜12B | 16GB | 中〜高 | 低(小) | リソース制約・量産 |
| Vertex AI Tuning | 複数サイズ | インフラ不要 | 高 | マネージド課金 | 本番・運用コスト管理 |
深層学習の基礎概念や機械学習全般については深層学習(ディープラーニング)の基礎や機械学習の概要も参照してほしい。なお、JSTのAIモデル分野別動向報告(2026年2月、JST CRDS、CRDS-FR-S102-202602)では、オープンウェイトモデルのファインチューニング活用が産業応用の主要トレンドとして整理されており、本記事の手法選定はその方向性と一致する。
データセット準備とGemma 4の入力フォーマット設計
Gemma ファインチューニング方法の精度を左右する最大の要因は、モデルの選択よりもデータの品質にある。Google AI for Developersの公式ドキュメントでは、チューニングデータとフレームワークの準備を最初のステップとして明示している(Gemma モデルのファインチューニング、Google AI for Developers)。
データ量と品質の考え方
一般的なSFT(Supervised Fine-Tuning)では、数百〜数千件の高品質なサンプルで十分な効果が得られるケースが多い。ただしこれはタスクの複雑さとベースモデルの能力に大きく依存するため、固定の数値として断定することは避けるべきだ。実装上重要なのは以下の2点だ。
- 一貫したフォーマット:入力と出力の形式を全サンプルで統一する。プロンプトテンプレートのブレは学習の収束を阻害する。
- ノイズ除去:矛盾したラベルや不完全な回答を含むサンプルは積極的に除外する。少量の高品質データは大量の低品質データを上回る。
弊社が開発するDeepAIは、実在の人物の容姿・表情・声・振る舞いをデジタル空間で再現するバーチャルヒューマン/AIアバターソリューションであり、対話AIやRAGを活用して自然な応答を生成するためのドメイン固有データ設計において、アノテーション基準の一貫性がモデルの振る舞い品質を大きく左右することを実務で実感している。Gemmaのテキストファインチューニングでも、アノテーション基準のブレが学習精度に与える影響は同様に大きい。
Gemma 4のチャットフォーマット(会話テンプレート)
Gemma 4はsystem promptのロールに対応しており、以下のようなJinja2ベースのチャットテンプレートを使用する。Hugging Faceのtokenizerが自動処理するが、手動でフォーマットを組む場合は構造を正確に把握しておく必要がある。
<bos><start_of_turn>user
あなたは製造業向けの品質管理アシスタントです。
以下の検査結果を分類してください。
検査結果: 表面に0.3mmの傷が複数箇所確認された。<end_of_turn>
<start_of_turn>model
分類: 不良品
理由: 表面傷が基準値(0.1mm以下)を超過しているため。<end_of_turn>
<eos>
ユーザターンとモデルターンを明確に分離し、EOSトークンで終端することが基本だ。システムプロンプトはユーザターンの先頭に配置する形式が現行Gemma 4テンプレートの標準的な構造とされている。tokenizer側のapply_chat_template()を使えばこの変換を自動化でき、フォーマットミスのリスクを減らせる。
データセットのJSONL形式と構造設計
SFTTrainer(TRLライブラリ)に渡す場合、最もシンプルな形式はJSONL(1行1サンプル)だ。以下のようにtextフィールドに整形済みの会話テンプレートを格納する形式が推奨される。
{"text": "<bos><start_of_turn>user\n質問内容<end_of_turn>\n<start_of_turn>model\n回答内容<end_of_turn>\n<eos>"}
{"text": "<bos><start_of_turn>user\n別の質問<end_of_turn>\n<start_of_turn>model\n別の回答<end_of_turn>\n<eos>"}
多言語データセットの扱い
Gemma 4は140言語以上の多言語対応を特徴としており(Google AI for Developers、Gemma 4 model overview、2026-06-08)、日本語を含む多言語タスクのファインチューニングにも適している。日本語固有の表現(敬語変換、専門用語など)でドメイン適応を行う際は、語彙のカバレッジを事前に確認することを推奨する。
なお、デジタル庁の調査研究「政府等保有データのAI学習データへの変換に係る調査研究」(2025年6月、デジタル庁、2025-06-04)では、オープンデータを学習データとして活用する際の品質管理・権利処理フローが整理されており、公共データを学習に利用する場合の参考資料として有用だ。学習データのライセンス確認はモデル本体のライセンス確認と同様に、実装前に必ず実施すべき工程だ。
Gemma ファインチューニング方法:LoRA/QLoRA実装ステップ
ここでは最も汎用性が高いLoRAおよびQLoRAによるGemma 4ファインチューニングの実装手順を具体的に示す。環境はCUDA対応GPU、Python 3.10+、Hugging Face Transformers / PEFTライブラリを前提とする。
ステップ1:依存ライブラリのインストール
Unslothを使用すると、メモリ効率の最適化とFlashAttention 2の自動適用が行われ、学習速度とVRAM消費の両面で改善が期待できる。UnslothはGemma 4に対応しており、FastModelを介してモデルをロードする形式を採用している。
pip install unsloth transformers datasets trl peft accelerate bitsandbytes
ステップ2:モデルロードとLoRAアダプタ設定
LoRAのハイパーパラメータで最も重要なのはr(ランク)とlora_alphaだ。rが大きいほど表現力は増すが、VRAMと学習時間のコストが比例して増加する。Gemma 4 E4Bクラスではr=16が一般的な出発点となる。target_modulesにはAttentionのQ/K/V/O射影とFFN層(gate/up/down proj)を含めることで、多くのタスクで安定した適応が得られる。
from unsloth import FastModel
from peft import get_peft_model, LoraConfig, TaskType
import torch
# QLoRAの場合は load_in_4bit=True、LoRAは False
model, tokenizer = FastModel.from_pretrained(
model_name = "google/gemma-4-e4b-it",
max_seq_length = 4096,
load_in_4bit = True,
dtype = torch.bfloat16,
)
lora_config = LoraConfig(
task_type = TaskType.CAUSAL_LM,
r = 16,
lora_alpha = 32,
target_modules = ["q_proj", "k_proj", "v_proj", "o_proj",
"gate_proj", "up_proj", "down_proj"],
lora_dropout = 0.05,
bias = "none",
)
model = get_peft_model(model, lora_config)
model.print_trainable_parameters()
# 出力例: trainable params: ~42M || all params: ~4.2B || trainable%: ~1.0%
全パラメータのうち約1%程度のみを学習対象とすることで、VRAMと学習時間を大幅に削減できる点がLoRAの核心だ。
ステップ3:学習設定とトレーナー実行
TRLライブラリのSFTTrainerを用いることで、会話形式のデータセットとGemmaのチャットテンプレートを自動的に統合できる。gradient_accumulation_stepsを用いて実効バッチサイズを拡大することで、小さいVRAMでも安定した学習が可能だ。
from trl import SFTTrainer
from transformers import TrainingArguments
from datasets import load_dataset
dataset = load_dataset("json", data_files="your_dataset.jsonl", split="train")
training_args = TrainingArguments(
output_dir = "./gemma4-finetuned",
num_train_epochs = 3,
per_device_train_batch_size = 2,
gradient_accumulation_steps = 4, # 実効バッチサイズ = 2 × 4 = 8
learning_rate = 2e-4,
lr_scheduler_type = "cosine",
warmup_ratio = 0.05,
bf16 = True,
logging_steps = 10,
save_strategy = "epoch",
report_to = "none",
)
trainer = SFTTrainer(
model = model,
tokenizer = tokenizer,
args = training_args,
train_dataset = dataset,
dataset_text_field = "text",
max_seq_length = 4096,
)
trainer.train()
学習率は2e-4前後が多くのLoRA実装での出発点だが、タスクとデータ量に応じて1e-4〜5e-4の範囲でグリッドサーチを行うことを推奨する。過学習の兆候(訓練lossは下がるが検証lossが上昇する)が出た場合は、lora_dropoutを増やすかepoch数を減らして対処する。
ステップ4:アダプタの保存とマージ
学習後はLoRAアダプタのみを保存するか、ベースモデルにマージした状態で保存するかを選択する。推論レイテンシを優先するならマージ形式が適切だ。一方、複数のドメイン向けアダプタを切り替えて運用する場合はアダプタ単体保存が柔軟性に優れる。
# アダプタのみ保存(軽量、切り替え可能)
model.save_pretrained("./gemma4-lora-adapter")
tokenizer.save_pretrained("./gemma4-lora-adapter")
# ベースモデルにマージして保存(推論速度優先)
merged_model = model.merge_and_unload()
merged_model.save_pretrained("./gemma4-merged", safe_serialization=True)
tokenizer.save_pretrained("./gemma4-merged")
Unslothの公式ガイドでは、1時間以内・GPU1枚でGemma 4のファインチューニングが完了すると報告されており(gemma4-ai.com、Gemma 4をLoRAでファインチューニングする方法)、従来のA100クラスタを前提としたワークフローから環境要件が大幅に緩和されている。ただしこの時間はデータ量・エポック数・ハードウェア構成に依存するため、あくまで目安として扱うべきだ。
マルチモーダルや生成モデルの基礎理論についてはGAN(敵対的生成ネットワーク)の解説やマルチモーダルAIの概要もあわせて参照すると理解が深まる。
評価・デプロイ設計と技術的トレードオフ
評価設計の原則
ファインチューニング後の評価は、ベースモデルとの比較を定量・定性の両面で行うことが原則だ。タスク固有のメトリクス(分類精度、F1スコア、BLEU/ROUGEなど)と、人手評価またはLLM-as-judgeによる定性評価を組み合わせることが望ましい。評価データセットは学習データと重複させないよう厳格に分離する必要がある。
JSTの研究報告「認知・脳情報処理による人間らしい言語処理モデルの開発」(JST、2024年)では、言語モデルの評価における人間らしさとベンチマークスコアの乖離が指摘されている。数値指標のみに依存した評価の限界を認識し、業務上の実用性を中心に据えた評価設計が重要だ。
デプロイ選択肢と比較
ファインチューニング済みモデルのデプロイには主に3つのルートがある。
- ローカル/オンプレ推論(Ollama / vLLM):データをクラウドに送出しないため、機密データを扱う業務に適する。Gemma 4のOllamaを用いたローカル実行についてはGemmaのセットアップガイドを参照されたい。
- Google Vertex AI:マネージドサービスとしてデプロイし、スケーリング・モニタリング・セキュリティをGoogleのインフラに委ねる。従量課金であり、トラフィックが変動する本番環境での利用に向いている。Vertex AIでのファインチューニングについては公式ドキュメントで手順が整理されている(Google AI for Developers、Gemma モデルのファインチューニング)。
- サードパーティAPI(OpenRouter / DeepInfraなど):Gemma 4 26B A4Bの場合、概ね0.10〜0.70ドル/100万トークン程度(プロバイダ依存・USD基準・2026年6月時点)で利用可能と報告されている(OpenRouter、Gemma 4 26B A4B、2026-06-08)。ファインチューニング済みウェイトをアップロードして利用できるかはプロバイダの仕様に依存する。
料金体系の詳細についてはGemmaの料金・提供形態解説も参照されたい。他のオープンウェイトモデルとの性能比較はGemmaとその他モデルの比較記事でも扱っている。
Gemma ファインチューニングにおける技術的トレードオフと限界
実装上のトレードオフとして、以下の点をエンジニアリング判断の前提として把握しておく必要がある。
- カタストロフィック・フォーゲッティング:特定ドメインへの過度な適応により汎用能力が低下するリスクがある。EWC(Elastic Weight Consolidation)の適用や、元の汎用データとドメインデータを混合した学習セットの設計で緩和できる。
- マルチモーダルのファインチューニングコスト:Gemma 4 12B UnifiedやE2B/E4Bはネイティブマルチモーダル(テキスト・画像・動画・音声)対応だが、視覚・音声モダリティを含むファインチューニングはテキスト単体と比べてデータ準備・計算コストが大幅に増大する。まずテキストのみのファインチューニングから始めることを推奨する。
- MoE(26B A4B)アーキテクチャへの対応:MoE構造はスループット推論に優れるが、ファインチューニング時のRouter層の取り扱いに追加の考慮が必要になる場合がある。既存の実績あるレシピを参照して進めることが望ましい。
- QLoRAの量子化精度損失:4-bit量子化によって精度が低下するケースがある。精度要件が厳しいタスクでは、最終的にLoRAやフルファインチューニングとの精度比較検証を実施すること。
- 旧世代のライセンス差異:Gemma 4はApache 2.0で商用配布が可能だが、Gemma 3以前は独自の「Gemma Terms of Use」が適用される。旧世代モデルを流用する場合は再配布条件を個別に確認すること(the-decoder、2026-06-08)。
RLHFおよびテキストマイニングとの連携
SFTによるファインチューニングの延長として、RLHF(Reinforcement Learning from Human Feedback)やDPO(Direct Preference Optimization)を組み合わせることで、人間のフィードバックに沿った出力調整が可能になる。強化学習の基礎については強化学習の解説記事を、学習データの前処理・特徴抽出にはテキストマイニングの概要も参考にされたい。
弊社が開発するDeepAIは、実在の人物の容姿・表情・声・振る舞いをデジタル空間で再現するバーチャルヒューマン/AIアバターソリューションであり、接客・研修・面接練習・広報といった用途向けにリップシンク・表情生成・音声合成・対話AI・RAGを組み合わせた振る舞い再現を実装している。Gemmaのような汎用言語モデルをドメイン特化でファインチューニングする場合も、対話の文脈や人物固有の知識をRAGで補完しながらデータ品質と評価設計を磨き込むという構造は共通している。
ブログトップへ戻る場合はクリスタルメソッド技術ブログをご覧ください。
まとめ
Gemma ファインチューニング方法の核心は、「モデルサイズ・VRAM・精度要件の3軸から手法を決定し、データ品質に投資する」ことに集約される。Gemma 4はApache 2.0ライセンスにより商用展開の制約が大幅に緩和され、LoRA/QLoRAとUnslothなどのツールチェーンにより単一GPU環境での実用的なファインチューニングが現実的な選択肢となっている。
一方で、マルチモーダルファインチューニングのコスト増大、MoEアーキテクチャへの対応、カタストロフィック・フォーゲッティングのリスク、QLoRAの量子化精度損失など、実装上のトレードオフは依然として存在する。これらを事前に把握した上で、小規模な検証実験から着手し、データ品質・評価設計・デプロイ要件を段階的に固めていくアプローチが堅実だ。
参考文献
- Gemma 4 model overview | Google AI for Developers: https://ai.google.dev/gemma/docs/core(2026-06-08取得)
- Gemma releases | Google AI for Developers: https://ai.google.dev/gemma/docs/releases(2026-06-08取得)
- Gemma | Google DeepMind: https://deepmind.google/models/gemma/(2026-06-08取得)
- Gemma 4: Byte for byte, the most capable open models | Google Blog: https://blog.google/innovation-and-ai/technology/developers-tools/gemma-4/(2026-06-08取得)
- Google’s Gemma 4 now available with Apache 2.0 licensing | the-decoder: https://the-decoder.com/googles-gemma-4-is-now-available-with-apache-2-0-licensing-for-the-first-time/(2026-06-08取得)
- Gemma モデルのファインチューニング | Google AI for Developers: https://ai.google.dev/gemma/docs/tune?hl=ja(2026-06-08取得)
- Gemma 4 26B A4B – API Pricing | OpenRouter: https://openrouter.ai/google/gemma-4-26b-a4b-it(2026-06-08取得)
- Gemma 4ファインチューニングガイド | Unsloth Documentation: https://unsloth.ai/docs/jp/moderu/gemma-4/train(2026-06-08取得)
- Gemma 4をLoRAでファインチューニングする方法 | gemma4-ai.com: https://gemma4-ai.com/ja/blog/gemma4-fine-tuning(2026-06-08取得)
- 政府等保有データのAI学習データへの変換に係る調査研究 | デジタル庁(2025年6月): https://www.digital.go.jp/assets/contents/node/information/field_ref_resources/382c3937-f43c-4452-ae27-2ea7bb66ec75/1157c43f/20250604_news_ai_training-data_report_01.pdf(2026-06-08取得)
- 認知・脳情報処理による人間らしい言語処理モデルの開発 | JST(2024年): https://www.jst.go.jp/kisoken/presto/evaluation/s-houkoku/2024/JST_1112096_21461846_2024_Oseki_PER.pdf(2026-06-08取得)
- システム・情報科学技術分野AIモデル分野別動向 | JST CRDS(2026年2月): https://www.jst.go.jp/crds/pdf/CRDS-FR-S/CRDS-FR-S102-202602.pdf(2026-06-08取得)
Study about AI
AIについて学ぶ
-
Meta インド データセンター AIインフラ——Reliance 168MW契約の深層と日本企業の実務対応
監修 河合 継(クリスタルメソッド株式会社 代表取締役) AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番...
-
ワーナー Sureel AI 音楽 著作権——買収の意味と日本企業への示唆
監修 河合 継(クリスタルメソッド株式会社 代表取締役) AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番...
-
Vector Lakebase ベクターDB RAG——Zillizが示す統合AIデータ基盤の論点
監修 河合 継(クリスタルメソッド株式会社 代表取締役) AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番...