AI・機械学習
上級

FastGen(ファストジェン)

LLMの各Attentionヘッドが示すAttentionパターンの「タイプ」を適応的に識別し、ヘッドタイプに応じた最適なKVキャッシュ圧縮ポリシーを適用する手法。

0 回閲覧
0 いいね
2026/6/7 更新
関連タグ
kv-cache
compression
attention-pattern
head-type
llm-inference
adaptive
memory-efficiency

FastGen — Attentionヘッドタイプ適応型KVキャッシュ圧縮

FastGenは、2024年にUT Austin・Microsoft Researchの共同チームが発表したAttentionヘッドタイプ適応型のKVキャッシュ圧縮フレームワークだ。SnapKV・H2O・ScissorHandsが「全ヘッドに同一のポリシーを適用」するのに対し、FastGenは各Attentionヘッドが示すAttentionパターンの種類(タイプ)を識別し、タイプごとに最適な圧縮ポリシーを割り当てることで効率を高める。

Attentionヘッドの4タイプ分類

FastGenの鍵となる観察: 異なるAttentionヘッドは質的に異なるAttentionパターンを示し、それぞれ異なる圧縮戦略が最適となる。

Type 1: Special Tokens(特殊トークン集中型)

  • パターン: BOS(文頭)・区切り文字等の特殊トークンに集中してAttend
  • 最適ポリシー: 特殊トークンのみ保持(数トークン)
  • 典型的な割合: 全ヘッドの10〜15%

Type 2: Punctuation(句読点集中型)

  • パターン: ピリオド・カンマ・改行など句読点に集中
  • 最適ポリシー: 句読点と直近トークンのみ保持
  • 典型的な割合: 全ヘッドの15〜20%

Type 3: Local(局所型)

  • パターン: 直前の数十トークンに集中(スライディングウィンドウ状)
  • 最適ポリシー: 直近Nトークンのみ保持(Sliding Window)
  • 典型的な割合: 全ヘッドの30〜40%

Type 4: Global Heavy Hitter(全体重要トークン型)

  • パターン: プロンプト全体からいくつかのHeavy Hitterに分散Attend
  • 最適ポリシー: H2O/SnapKV的なスコアベース選択
  • 典型的な割合: 全ヘッドの25〜35%

Profilingフェーズ

FastGenは本番推論の前に軽量なProfilingステップを実行してヘッドタイプを識別する:

  1. 代表的なプロンプトサンプル(100〜1000件)でAttention Scoreを収集
  2. 各ヘッドのAttentionパターンをクラスタリング(4タイプへ分類)
  3. 分類結果をヘッドタイプマップとして保存
  4. 本番推論ではタイプマップに従ってポリシーを適用

Profilingは一度行えば同モデルを使い続ける限り再実行不要。

性能評価

LLaMA-2-7B・13B・70Bでの評価:

  • FastGen: MMLU精度保持 98.8% / スループット +2.1x / KVメモリ削減 40%
  • H2O(同圧縮率): MMLU精度保持 96.2% / スループット +1.8x / KVメモリ削減 35%

SystemS実装:vLLMへの統合

FastGenはvLLMのPagedAttentionとの統合実装が提供されている。

from fastgen import FastGenConfig, profile_model

# Profilingフェーズ(1回のみ)
config = profile_model(
    model_name="meta-llama/Llama-2-7b-hf",
    sample_prompts=["..."],
    budget_ratio=0.3
)
config.save("llama2-7b-fastgen-config.json")

よくある質問(FAQ)

Q1: FastGenのProfilingにはどのくらいの時間がかかりますか? A: 100件のサンプルプロンプトで7Bモデルなら約2〜5分(A100 1枚)。70Bモデルでも30分以内。一度のProfilingで本番稼働期間中ずっと使えるため投資対効果が高い。

Q2: モデルのファインチューニング後は再Profilingが必要ですか? A: ファインチューニングによってAttentionパターンが変化する場合があるため、再Profilingを推奨。特にInstructionチューニングやRLHF後は変化が大きい傾向。

Q3: FastGenはFlash Attention 2と組み合わせられますか? A: Flash Attention 2はAttention Scoreを中間保持しないため、FastGenのScoreベース圧縮(Type 4)との組み合わせはStandard Attentionへのフォールバックが必要。Type 1/2/3はFlash Attentionと互換性が高い。

この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/6/7