Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Medusa Heads

Medusaヘッドは、複数の将来トークンを一度に予測する追加のLLMデコードヘッドで、ツリーアテンションによって予測を検証します。ドラフトモデルなしで出力を高速化できます。

Medusaヘッドは、大規模言語モデルの最終隠れ層に追加する軽量なデコーディングヘッドです。それぞれのヘッドは、モデル自身の出力層よりも先のトークンを予測するように学習します。1回のフォワードパスで、モデルは通常の次トークン予測に加え、その先のいくつかの位置の予測も生成します。次のパスでツリー注意機構がそれらの予測を検証し、モデルが合意する最長の連続部分を採用します。Medusaは投機的デコーディングの一種で、別のドラフトモデルが不要なため、追加のネットワークを学習、ホスト、同期する必要はありません。Tianle Cai、Tri Daoらは、2024年1月にMedusa: Simple LLM Inference Acceleration Framework with Multiple Decoding Headsでこの手法を発表しました。

ヘッドによる先読みの仕組み#

標準的なテキスト生成では、位置tの最終隠れ状態を言語モデルのヘッドに渡して、位置t + 1のトークンをスコアリングします。Medusaのヘッドkは同じ隠れ状態を読み取り、位置t + k + 1のトークンをスコアリングします。各ヘッドは、SiLU活性化と残差接続を備えた単一のフィードフォワード層に続き、語彙への射影を行います。射影層は言語モデルのヘッドのコピーとして初期化され、フィードフォワード層はゼロで初期化されます。そのため、学習前はすべてのヘッドがベースモデルの次トークン予測を再現します。論文では5つのヘッドで十分であると報告されています。このPyTorchの例では、3つのヘッドを構築し、1つの隠れ状態に対する出力をベースモデルのヘッドと比較します。

import torch
import torch.nn.functional as F

hidden_size, vocab_size, num_heads = 256, 1000, 3
lm_head = torch.nn.Linear(hidden_size, vocab_size, bias=False)  # 凍結されたモデルの出力層

# 各Medusaヘッド:ゼロ初期化された単一の残差SiLU層と、LMヘッドのコピー
w1 = [torch.nn.Linear(hidden_size, hidden_size) for _ in range(num_heads)]
w2 = [torch.nn.Linear(hidden_size, vocab_size, bias=False) for _ in range(num_heads)]
for layer, out in zip(w1, w2):
    torch.nn.init.zeros_(layer.weight)
    torch.nn.init.zeros_(layer.bias)
    out.weight.data.copy_(lm_head.weight.data)

# すべてのヘッドが同じ最終隠れ状態を読み取ります。ヘッドkは位置t + k + 1を予測します
h = torch.randn(1, hidden_size)
head_logits = [out(h + F.silu(layer(h))) for layer, out in zip(w1, w2)]
print([torch.equal(logits, lm_head(h)) for logits in head_logits])

出力[True, True, True]から、ゼロ初期化された残差層により、新しい各ヘッドがベースモデルの予測を正確にコピーした状態で開始することがわかります。学習によってヘッドkは自身が担当する将来の位置に向けて調整されますが、lm_headとバックボーンは変更されません。

ツリー注意機構と受け入れ#

各ヘッドの最上位の予測を組み合わせて、候補となる続きの系列を作ります。ヘッド1から上位2トークン、ヘッド2から上位3トークンを選ぶと、直積から共通の接頭辞を持つ6つの候補が得られ、ツリーを形成します。

次のフォワードパスでは、候補トークンをすべて一度に入力に追加し、アテンションマスクによって各トークンがツリー内の自身の祖先だけを参照できるようにします。これにより、モデルはすべての分岐を並列にスコアリングします。モデルが受け入れる最長の分岐を採用し、その最後の隠れ状態を次のラウンドのヘッドに入力します。すべてのヘッドが同じ隠れ状態を読み取るため、ヘッド2はヘッド1のどの分岐でも同じトークンを提案します。著者らは、最も精度の高い組み合わせから構築した64ノードの疎なツリーのほうが、密な256ノードのツリーより高い高速化率を達成すると報告しました。

貪欲デコーディングでは、候補トークンがモデルの最上位の選択と一致した場合に受け入れます。サンプリングでは、Medusaは典型的な受け入れ方式を提供します。これは、ベースモデルでの確率が分布のエントロピーに応じたしきい値を超える候補を採用する方法です。分布の厳密な一致を犠牲にして、より多くのトークンを受け入れます。

Medusa-1とMedusa-2の学習#

Medusa-1では、新しいヘッドだけを凍結したバックボーン上で学習するため、モデル出力の品質が保たれます。論文では、生成速度が2.2倍以上になると報告されています。Vicuna-7Bのヘッドの学習には、60,000件のShareGPT会話を使い、単一のA100 GPUで約5時間かかりました。これは、freeze=23がUltralytics YOLO26のファインチューニング時に設定するのと同じ分割です。レイヤー0~22を固定し、レイヤー23の検出ヘッドだけを新しいデータで学習させます。

Medusa-2では、ヘッドとバックボーンを一緒にファインチューニングします。バックボーン本来の能力を保護する学習レシピを使い、ヘッドの精度を上げて2.3~3.6倍の高速化を実現します。元の学習データがない場合は、自己蒸留によって、モデル自身が生成したテキストでヘッドを学習します。

Medusaは、ターゲットモデル自体からトークンをドラフトする複数の手法の1つです。EAGLEは小さな自己回帰層を使い、モデルの内部特徴からドラフトを生成します。DeepSeek-V3で使われているマルチトークン予測は、事前学習中に追加の予測モジュールを学習し、サービングエンジンが後にドラフターとして再利用します。これら3つの手法はすべて、インタラクティブなチャットボットのようにバッチサイズが小さく、フォワードパス中にGPUがほとんどメモリー待ちになる場面で、推論レイテンシを最も大きく削減します。

Explore solutions

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう