Gemma-2-2B-IT ゲーム戦略ファインチューニングモデル
モデル概要
このモデルは、GoogleのGemma-2-2B-ITをベースに、22個のゲーム戦略知識をLoRA(Low-Rank Adaptation)でファインチューニングしたものです。
学習内容:
- 5つの基本戦略タイプ(Offensive, Defensive, Adaptive, Disruptive, Endurance)
- 7つの攻撃側決定基準(Cumulative Probability Focus, Recent Pattern Focus, Speed Focus, Return Focus, Feint Focus, Distribution Focus, Energy Efficiency Focus)
- 7つの防御側決定基準(Cumulative Probability Focus, Recent Pattern Focus, Counterattack Focus, Return Focus, Risk Avoidance Focus, Counter Focus, Distribution Focus)
訓練情報
訓練データ
- データ数: 479件(訓練)+ 25件(検証)
- データソース: game_rules_augmented.jsonl
- データ形式: Gemma-2-itプロンプトテンプレート形式
<start_of_turn>user 質問<end_of_turn> <start_of_turn>model 回答<end_of_turn>
ハイパーパラメータ
| パラメータ | 値 |
|---|---|
| ベースモデル | google/gemma-2-2b-it |
| LoRAランク (r) | 16 |
| LoRA alpha | 32 |
| LoRA dropout | 0.1 |
| ターゲットモジュール | q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj |
| 学習率 | 5e-5 |
| バッチサイズ | 2 x 8 (gradient accumulation) = 16 |
| エポック数 | 37(途中停止) |
| 最適化手法 | AdamW |
| Warmup ratio | 0.3 |
| Weight decay | 0.05 |
| 精度 | bfloat16 |
訓練結果
- 最終訓練ロス: 0.0
- 最終検証ロス: 1.08e-05
- 訓練可能パラメータ: 20,766,720 (0.79%)
- 訓練時間: 約1.5時間
- ハードウェア: NVIDIA RTX 4070 Ti SUPER (16GB VRAM)
評価結果
テスト結果サマリー
9つの異なる質問でテストを実施:
| 評価 | 件数 | 割合 |
|---|---|---|
| ✅ 完璧な回答 | 4/9 | 44% |
| ⚠️ 部分的に正確 | 1/9 | 11% |
| ❌ 不正確 | 4/9 | 44% |
強み
✅ 個別の決定基準の説明は非常に正確
- Recent Pattern Focus, Counterattack Focus, Counter Focus, Distribution Focusの説明は完璧
✅ 質問の表現バリエーションに対応
- "What is", "Explain", "Describe", "Tell me about" など様々な動詞に対応可能
弱点
❌ 過学習による知識の混同
- 数値の誤認(5個の戦略を7個と回答)
- 攻撃側/防御側の混同
- 戦略特徴の混入
❌ 間接的な質問への対応不足
- "Which strategy focuses on energy management?" → 不正確な回答
❌ 比較質問への対応不足
- 訓練データに比較形式の例がないため、適切な比較ができない
使い方
インストール
pip install transformers peft torch
基本的な使用方法
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
import torch
# ベースモデルとLoRAアダプタをロード
base_model = AutoModelForCausalLM.from_pretrained(
"google/gemma-2-2b-it",
device_map="auto",
torch_dtype=torch.bfloat16
)
model = PeftModel.from_pretrained(base_model, "ayousanz/gemma-2-2b-it-game-ft")
tokenizer = AutoTokenizer.from_pretrained("ayousanz/gemma-2-2b-it-game-ft")
# 推論
prompt = "What is the offensive strategy?"
formatted_prompt = f"<start_of_turn>user\n{prompt}<end_of_turn>\n<start_of_turn>model\n"
inputs = tokenizer(formatted_prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=150,
do_sample=False,
pad_token_id=tokenizer.pad_token_id,
eos_token_id=tokenizer.eos_token_id
)
response = tokenizer.decode(outputs[0][inputs['input_ids'].shape[1]:], skip_special_tokens=True)
print(response)
# 出力: Offensive strategy: High risk, high reward strategy type with frequent attacks.
マージして使用(推奨)
# LoRAアダプタをベースモデルにマージ
merged_model = model.merge_and_unload()
# 推論(より高速)
inputs = tokenizer(formatted_prompt, return_tensors="pt").to(merged_model.device)
outputs = merged_model.generate(**inputs, max_new_tokens=150)
推奨される使用方法
✅ 適している質問
- 個別の戦略や決定基準の説明
- "What is Recent Pattern Focus in offense?"
- "Explain Counterattack Focus in defense"
- 基本的な戦略タイプの説明
- "What is the offensive strategy?"
- "Tell me about Disruptive strategy"
❌ 避けるべき質問
- 数を問う質問
- "How many basic strategy types are there?" → 不正確な可能性
- 比較質問
- "Compare offensive and defensive strategies" → 不適切な回答
- 間接的な質問
- "Which strategy focuses on X?" → 不正確な可能性
制限事項と注意点
⚠️ 過学習について
このモデルはエポック37で訓練されており、過学習の兆候があります:
- 訓練ロスが0.0まで低下
- 一部の知識が混同(数値、攻撃/防御の区別)
- 訓練データにない造語を生成する場合あり
推奨事項
より正確なモデルが必要な場合は、以下のアプローチを推奨:
- エポック数を10-15に削減して再訓練
- データの追加(比較質問、間接質問の例を追加)
- 正則化の強化(weight decay増加、LoRA dropout増加)
ライセンス
このモデルは以下のライセンスに従います:
- コード: MIT License
- ベースモデル(Gemma-2): Gemma Terms of Useに従ってください
引用
このモデルを使用する場合は、以下を引用してください:
@misc{gemma-2-2b-it-game-ft,
author = {ayousanz},
title = {Gemma-2-2B-IT Game Strategy Fine-tuning},
year = {2025},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/ayousanz/gemma-2-2b-it-game-ft}}
}
技術仕様
モデルアーキテクチャ
- ベースモデル: Gemma-2-2B-IT
- ファインチューニング手法: LoRA (Low-Rank Adaptation)
- パラメータ効率: 0.79% (20.7M / 2.6B)
計算環境
- GPU: NVIDIA RTX 4070 Ti SUPER (16GB VRAM)
- OS: Windows 11
- フレームワーク:
- Transformers 4.47.1
- PEFT 0.17.1
- PyTorch 2.5.1+cu124
連絡先
問題や質問がある場合は、Issuesでお知らせください。
🤖 このモデルは実験的なものです。本番環境での使用前に十分なテストを行ってください。
- Downloads last month
- 35