Ein neuer „Attention Sink Detector“ erkennt Token, die während der Prefill-Phase der Inferenz von Large Language Models (LLMs) den Großteil der Attention-Masse beanspruchen. Das Tool zeigt, dass das Entfernen dieser Sink-Token aus einem Key-Value (KV)-Cache die Modellleistung beeinträchtigt, da sie als essenzielle Anker für eine stabile Generierung dienen.

Warum die Prefill-Phase wichtig ist

Die meisten LLM-Forschungen konzentrieren sich auf die Token-für-Token-Generierungsschleife, aber die Arbeit, die vor dem ersten Token stattfindet – das Prefill – legt den Grundstein für alles Folgende. Während des Prefills verarbeitet das Modell den gesamten Prompt, baut den KV-Cache auf und verteilt die Attention über jede Position. Da die Softmax-Funktion, die die Attention-Gewichte erzeugt, in der Summe 1 ergeben muss, kann das Modell nicht sagen: „Nichts ist relevant“. Es überträgt die verbleibende Wahrscheinlichkeitsmasse auf ein Token, das leicht anzusprechen ist, meist das erste Token der Sequenz. Dieses Token wird zu einem Attention Sink.

Was ein Attention Sink vereinfacht gesagt ist

In einem Transformer berechnet jeder Head ein Gewicht für jedes Token-Paar. Wenn die Verteilung stark schief ist, kann ein einzelnes Token einen unverhältnismäßig großen Anteil des Attention-Gewichts erhalten. Dieses Phänomen ist kein Bug; es ergibt sich aus der Softmax-Beschränkung. Das erste Token (oft ein Beginning-of-Sentence-Marker) fungiert als „Entlastungsventil“ für die Restwahrscheinlichkeit, die nirgendwo anders zugewiesen werden kann.

Bedeutung für das KV-Cache-Management

KV-Caches speichern die Key- und Value-Vektoren für jedes verarbeitete Token, was schnelle Abfragen während der Generierung ermöglicht. In Long-Context-Szenarien betreiben Praktiker Cache-Pruning, um innerhalb der GPU-Speicherlimits zu bleiben. Der neue Detektor zeigt, dass das wahllose Löschen von Token, die „unwichtig“ erscheinen, auch genau die Sinks löscht, auf die das Modell angewiesen ist, was zu einem Leistungseinbruch führt. Das Fixieren (Pinning) von Sink-Token im Cache bewahrt das interne Gleichgewicht des Modells und hält die Generierung stabil.

Funktionsweise des Detektors

  • Eager Attention: Die Implementierung umgeht schnelle Kernel wie FlashAttention, die die vollständige Attention-Matrix komprimieren, und zeichnet stattdessen die rohen Attention-Scores für jeden Head auf.
  • Layer-wide Aggregation: Die Scores werden über alle Layer und Heads gemittelt, um ein einzelnes Attention-Masse-Profil pro Token zu erstellen.
  • Log-Median-Absolute-Deviation (MAD): Da Attention-Gewichte stark rechtsschief sind, klassifiziert ein einfacher Mittelwert-Standardabweichungs-Test normale Varianz fälschlicherweise als Ausreißer. Die Log-Transformation der Gewichte normalisiert die Verteilung; die Anwendung von MAD markiert dann Token, deren Attention-Masse die typische Streuung überschreitet.

Zwei entdeckte Klassen von Sinks

  1. True Sinks – Das Beginning-of-Sentence (BOS)-Token absorbiert konsistent einen massiven Teil der Attention, unabhängig vom Prompt-Inhalt.
  2. Structural Sinks – Token, die zu System-Prompts gehören, wie die in ChatML verwendeten Marker (<im_start>, <im_end>), bilden kleine Cluster, die ebenfalls Attention anziehen. Sie fungieren als logische Grenzen und helfen dem Modell, Benutzer-Nachrichten von System-Anweisungen zu trennen.

Gegenargument: Benötigen wir wirklich die rohe Matrix?

Der Autor weist darauf hin, dass das Sink-Phänomen ohne die Rohdaten verborgen bleibt und jede Cache-Pruning-Strategie, die auf unvollständigen Daten basiert, das Risiko birgt, das Modell zu destabilisieren.

Worauf man als Nächstes achten sollte

Der Detektor ist der zweite Teil einer vierteiligen Serie, die mit einem Entropie-Tracker für die Generierungsqualität begann. Der kommende Teil wird die Sink-Erkennung mit entropie-gesteuerter spekulativer Dekodierung integrieren. Die abschließende Untersuchung wird eine empirische Studie sein.

Fazit: Attention Sinks sind keine obskure Eigenart; sie sind strukturelle Säulen, die die Attention-Verteilung eines Transformers während des Prefills stabil halten. Jede KV-Cache-Pruning-Strategie, die sie ignoriert, gefährdet die Modellstabilität. Das Erkennen und Bewahren dieser Token ist eine kostengünstige Sicherheitsmaßnahme, die Long-Context-Inferenz sowohl zuverlässig als auch effizient machen kann.