Zurück zum Archiv
#ai#llm#glossary#aigen

Top-k-Sampling

Bei der zufälligen Auswahl des nächsten Fragments lässt das Modell viele sehr unwahrscheinliche Möglichkeiten zu. Du möchtest etwas Vielfalt behalten, aber den fernen Rand der Kandidaten entfernen. Du kannst nur eine festgelegte Zahl von Spitzenreitern zulassen.

Top-k Sampling zieht das nächste Token, also ein Textstück, aus den k höchstbewerteten Kandidaten. Es schließt die übrigen aus und rechnet die Wahrscheinlichkeiten der behaltenen Kandidaten auf die Summe eins um.

Wenn A die Wahrscheinlichkeit 0,5, B 0,3 und die übrigen zusammen 0,2 haben, bleiben bei k=2 A und B. Nach Division durch 0,8 betragen ihre Wahrscheinlichkeiten 0,625 und 0,375. B kann weiterhin gewinnen; die Methode gibt nicht allen gleich viel.

Ein festes k bestimmt die Zahl der Kandidaten, nicht ihre gemeinsame Verlässlichkeit. Bei einer sehr flachen Verteilung können sogar die Spitzenreiter geringe Wahrscheinlichkeiten haben. Top-p Sampling bestimmt die Menge anhand der Summe der Wahrscheinlichkeiten, während Temperature ihre Verhältnisse regelt.

Mechanismus und Details

Eine praktische Implementierung kann die Logits bereits vor Softmax filtern: Den verworfenen Positionen wird negative Unendlichkeit zugewiesen. Nach der Normalisierung beträgt ihre Wahrscheinlichkeit dann null. Diesen Mechanismus beschreibt die Dokumentation von Transformers: TopKLogitsWarper.

Zwei Kandidaten bedeuten keine gleichen Chancen

Eigenes Beispiel für k=2k=2:

TokenVor dem FilternNach Filtern und Normalisierung
A0,500,625
B0,300,375
C0,150
D0,050

A und B hatten zusammen eine Wahrscheinlichkeit von 0,80. Wir teilen durch diese Summe: 0,50/0,80=0,6250{,}50/0{,}80=0{,}625 und 0,30/0,80=0,3750{,}30/0{,}80=0{,}375. Das Ziehen kann weiterhin B auswählen. Bei k=1k=1 und einem eindeutigen Maximum wählen wir immer das am höchsten bewertete Token.

Ein festes kk kontrolliert die Anzahl der Kandidaten, nicht deren gemeinsame Wahrscheinlichkeit vor dem Abschneiden. Zwei erhaltene Positionen können nahezu die gesamte Verteilung oder nur einen kleinen Teil davon umfassen. Top-p-Sampling bestimmt die Grenze anhand der Summe der Wahrscheinlichkeiten. Die Temperatur verändert die Chancenverhältnisse; eine positive Skalierung allein verändert die Reihenfolge endlicher Logits nicht.

Bei Gleichständen lohnt sich ein Blick auf die Implementierung. Der Code von Transformers 5.17.0 entfernt Ergebnisse, die strikt unter dem Ergebnis des k-ten Kandidaten liegen. Er kann daher auch zusätzliche Tokens mit demselben Wert an der Grenze erhalten. Das Tabellenbeispiel enthält keine Gleichstände.