gemma-4-26b-a4b-cosine-slerp
google/gemma-4-26B-A4B (base) と google/gemma-4-26B-A4B-it (IT) を、層ごとのコサイングラデーションSLERPで統合したモデルです。
Base vs IT の違い分析
マージ前に両モデルの重みを比較した結果:
| パーツ | Cosine類似度 | 差の大きさ |
|---|---|---|
| Attention (layer 0) | 0.78 | 大きく異なる |
| Attention (layer 15) | 0.76 | 大きく異なる |
| Attention (layer 29) | 0.66 | 最も異なる |
| Dense MLP (layer 0) | 0.79-0.87 | かなり異なる |
| LayerNorm | 0.9999 | ほぼ同じ |
| Router proj | 0.9999 | ほぼ同じ |
| Router scale | 1.0 (identical) | 完全一致 |
| Expert weights | ~1.0 | ほぼ同じ |
| Embeddings | ~1.0 | ほぼ同じ |
重要な発見
ITの fine-tuning は Attention と Dense MLP だけ を大きく変更しており、Expert 重みはほぼ変えていない。後半層ほど Attention の乖離が大きい(layer 29: cos=0.66)。つまり IT fine-tuning は主に出力に近い層の Attention パターンを調整して指示追従能力を獲得している。
Merge Strategy: Cosine Gradient SLERP
この分析を踏まえ、浅い層ほど base 寄り(探索的)、深い層ほど IT 寄り(指示追従)のコサイングラデーションを適用。
SLERP t のスケジュール
Attention と Dense MLP にコサインカーブでなめらかに t を変化させます:
t(layer) = 0.5 + 0.5 × (1 - cos(π × layer / 29)) / 2
| Layer | SLERP t | 意味 |
|---|---|---|
| 0 | 0.500 | base 50% / IT 50% (広い視野) |
| 5 | 0.536 | |
| 10 | 0.633 | |
| 15 | 0.764 | 中間 |
| 20 | 0.890 | |
| 25 | 0.977 | |
| 29 | 1.000 | IT 100% (出力直前は完全IT) |
Expert, Router, LayerNorm, Embeddings, Vision encoder は IT モデルをそのまま使用(差がほぼないため)。
マージ構造図
Layer 0-4 (sliding attn) : Attn=SLERP(~0.5) MLP=SLERP(~0.5) Expert=IT Router=IT
Layer 5 (full attn) : Attn=SLERP(0.54) MLP=SLERP(0.54) Expert=IT Router=IT
Layer 6-10 (sliding attn) : Attn=SLERP(~0.6) MLP=SLERP(~0.6) Expert=IT Router=IT
Layer 11 (full attn) : Attn=SLERP(0.67) MLP=SLERP(0.67) Expert=IT Router=IT
...グラデーションがなめらかに上昇...
Layer 24-28 (sliding attn) : Attn=SLERP(~0.98) MLP=SLERP(~0.98) Expert=IT Router=IT
Layer 29 (full attn) : Attn=IT(1.0) MLP=IT(1.0) Expert=IT Router=IT
設計意図
- 浅い層 (t≈0.5): base モデルの広い注意パターンを混ぜて、より多様な情報を拾う
- 深い層 (t→1.0): IT モデルの指示追従・出力整形能力を完全に保持
- コサインカーブ: 線形より滑らかな遷移で、層間の表現空間の急激な変化を防ぐ
Model Details
| google/gemma-4-26B-A4B-it | 本モデル | |
|---|---|---|
| アーキテクチャ | Gemma-4 MoE | Gemma-4 MoE |
| 総パラメータ | ~26B | ~26B |
| アクティブパラメータ | ~4B | ~4B |
| エキスパート数 | 128 | 128 |
| top-k | 8 | 8 |
| Hidden size | 2816 | 2816 |
| レイヤー数 | 30 | 30 |
| Attention | 25 sliding + 5 full | 同一構造 |
| Vision encoder | あり | あり |
| マルチモーダル | 対応 | 対応 |
Usage
vLLM
vllm serve aixsatoshi/gemma-4-26b-a4b-cosine-slerp \
--tensor-parallel-size 4 \
--max-model-len 4096 \
--gpu-memory-utilization 0.95 \
--trust-remote-code
Transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "aixsatoshi/gemma-4-26b-a4b-cosine-slerp"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype="bfloat16",
device_map="auto",
)
messages = [{"role": "user", "content": "日本の首都はどこですか?"}]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True)
inputs = inputs.to(model.device)
outputs = model.generate(inputs, max_new_tokens=256)
print(tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True))
Hardware Requirements
- GPU推論 (vLLM, TP=4): ~60GB VRAM (例: 4x RTX A6000 48GB)
- GPU推論 (vLLM, TP=2): ~60GB VRAM (例: 2x A100 80GB)
License
- Downloads last month
- 35