Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Medusa Heads

Medusa-Heads sind zusätzliche LLM-Decodierköpfe, die mehrere zukünftige Tokens gleichzeitig vorhersagen. Tree Attention überprüft die Vorhersagen und beschleunigt so die Ausgabe, ohne ein Entwurfsmodell zu benötigen.

Medusa-Köpfe sind leichtgewichtige Dekodierköpfe, die auf der letzten verborgenen Schicht eines großen Sprachmodells aufsetzen. Jeder Kopf wird darauf trainiert, ein Token weiter vorauszusagen als die Ausgabeschicht des Modells selbst. In einem Vorwärtsdurchlauf erzeugt das Modell neben seiner üblichen Vorhersage des nächsten Tokens auch Schätzungen für die nächsten Positionen. Im darauffolgenden Durchlauf prüft ein Tree-Attention-Schritt diese Schätzungen und behält die längste Folge bei, der das Modell zustimmt. Medusa ist eine Form des spekulativen Dekodierens, für die kein separates Entwurfsmodell erforderlich ist. Es muss also kein zweites Netz trainiert, gehostet oder synchron gehalten werden. Tianle Cai, Tri Dao und Kollegen stellten das Verfahren im Januar 2024 in Medusa: Simple LLM Inference Acceleration Framework with Multiple Decoding Heads vor.

So sagen die Köpfe voraus#

Bei einem üblichen Schritt der Textgenerierung erhält der Sprachmodellkopf den letzten verborgenen Zustand an Position t und bewertet das Token an Position t + 1. Medusa-Kopf k liest denselben verborgenen Zustand und bewertet das Token an Position t + k + 1. Jeder Kopf besteht aus einer einzelnen Feedforward-Schicht mit einer SiLU-Aktivierung und einer Residualverbindung, gefolgt von einer Projektion auf das Vokabular. Die Projektion beginnt als Kopie des Sprachmodellkopfs, die Feedforward-Schicht mit Nullwerten. Daher gibt jeder Kopf vor dem Training dieselbe Vorhersage des nächsten Tokens wie das Basismodell aus. Laut Paper reichen fünf Köpfe aus. Diese PyTorch-Skizze erstellt drei Köpfe und vergleicht ihre Ausgaben anhand eines verborgenen Zustands mit der Ausgabe des Basismodellkopfs:

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)  # die Ausgabeschicht des eingefrorenen Modells

# Jeder Medusa-Kopf: eine SiLU-Schicht mit Residualverbindung (mit Nullwerten initialisiert) und eine Kopie des LM-Kopfs
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)

# Alle Köpfe lesen denselben letzten verborgenen Zustand; Kopf k sagt die Position t + k + 1 voraus
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])

Die Ausgabe [True, True, True] zeigt, dass die mit Nullwerten initialisierte Residualschicht dafür sorgt, dass jeder neue Kopf zunächst eine exakte Kopie der Vorhersage des Basismodells ist. Beim Training wird Kopf k dann auf seine eigene zukünftige Position ausgerichtet, während lm_head und das Grundmodell unverändert bleiben.

Tree Attention und Akzeptanz#

Die besten Schätzungen der Köpfe werden zu möglichen Fortsetzungen kombiniert. Nimmt man die zwei besten Tokens von Kopf 1 und die drei besten von Kopf 2, ergeben sich durch das kartesische Produkt sechs Kandidaten mit gemeinsamen Präfixen, die einen Baum bilden:

Im nächsten Vorwärtsdurchlauf werden alle Kandidatentokens gleichzeitig an die Eingabe angehängt. Eine Aufmerksamkeitsmaske sorgt dafür, dass jedes Token nur seine eigenen Vorfahren im Baum sehen kann. So bewertet das Modell alle Zweige parallel. Der längste vom Modell akzeptierte Zweig wird beibehalten, und sein letzter verborgener Zustand dient den Köpfen als Eingabe für die nächste Runde. Da alle Köpfe denselben verborgenen Zustand lesen, schlägt Kopf 2 unter jedem Zweig von Kopf 1 dieselben Tokens vor. Die Autoren stellten fest, dass ein dünn besetzter Baum mit 64 Knoten, der aus den genauesten Kombinationen gebildet wurde, eine höhere Beschleunigung erzielte als ein dichter Baum mit 256 Knoten.

Beim Greedy-Decoding wird ein Kandidatentoken akzeptiert, wenn es der besten Wahl des Modells entspricht. Für das Sampling bietet Medusa eine typische Akzeptanzmethode: Sie behält jeden Kandidaten bei, dessen Wahrscheinlichkeit unter dem Basismodell einen an die Entropie der Verteilung geknüpften Schwellenwert überschreitet. Dadurch werden mehr Tokens akzeptiert, allerdings stimmt die Verteilung nicht mehr exakt überein.

Training mit Medusa-1 und Medusa-2#

Medusa-1 trainiert nur die neuen Köpfe auf einem eingefrorenen Grundmodell. Dadurch bleibt die Ausgabequalität des Modells erhalten, und das Paper berichtet von einer mehr als 2,2-fachen Beschleunigung der Generierung. Das Training der Vicuna-7B-Köpfe dauerte mit 60.000 ShareGPT-Konversationen etwa fünf Stunden auf einer einzelnen A100-GPU. Dasselbe Aufteilungsschema richtet freeze=23 beim Feinabstimmen von Ultralytics YOLO26 ein: Die Schichten 0–22 bleiben eingefroren, und nur der Erkennungskopf auf Schicht 23 lernt aus den neuen Daten.

Medusa-2 feinabstimmt die Köpfe und das Grundmodell gemeinsam. Dadurch werden die Köpfe genauer und die Beschleunigung steigt auf das 2,3- bis 3,6-Fache. Das Trainingsrezept bewahrt dabei die ursprünglichen Fähigkeiten des Grundmodells. Wenn die ursprünglichen Trainingsdaten nicht verfügbar sind, trainiert die Selbst-Destillation die Köpfe mit Text, den das Modell selbst generiert.

Medusa gehört zu mehreren Verfahren, die Tokens direkt aus dem Zielmodell entwerfen. EAGLE erstellt Entwürfe aus den internen Merkmalen des Modells mithilfe einer kleinen autoregressiven Schicht. Die in DeepSeek-V3 verwendete Multi-Token-Vorhersage trainiert während des Vortrainings zusätzliche Vorhersagemodule, die Serving-Engines später als Entwurfsmodelle wiederverwenden. Alle drei Verfahren senken die Inferenzlatenz vor allem bei den kleinen Batchgrößen interaktiver Chatbots, bei denen der GPU während jedes Vorwärtsdurchlaufs größtenteils auf den Speicher wartet.

Explore solutions

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens