Top-k sampling (DE)

From Systems analysis Wiki
Jump to navigation Jump to search

Top-k-Sampling ist eine stochastische Dekodierungsmethode, die in großen Sprachmodellen (LLM) zur Textgenerierung eingesetzt wird. Ihr Hauptziel ist es, die Auswahl des nächsten Tokens auf eine feste Anzahl (k) der wahrscheinlichsten Kandidaten zu beschränken, wodurch die Generierung unwahrscheinlicher und oft unpassender Wörter vermieden wird. Diese Methode war eine der ersten Verbesserungen des einfachen zufälligen Samplings und galt lange Zeit als beliebte Methode zur Verbesserung der Kohärenz des generierten Textes.

Konzept und Mathematik

Bei jedem Schritt der Textgenerierung gibt ein Standard-Sprachmodell eine Wahrscheinlichkeitsverteilung P(x|x1:i1) über das gesamte Vokabular V aus. Das Top-k-Sampling modifiziert diesen Prozess wie folgt:

  1. Kandidatenauswahl: Aus dem gesamten Vokabular wird eine Teilmenge V(k) ausgewählt, die aus den k Tokens mit den höchsten Wahrscheinlichkeiten besteht.
  1. Abschneiden (Truncation): Die Wahrscheinlichkeiten aller Tokens, die nicht in V(k) enthalten sind, werden auf null gesetzt.
  1. Neugewichtung (Normalisierung): Die Wahrscheinlichkeiten der verbleibenden k Tokens werden so skaliert, dass ihre neue Summe 1 beträgt.
  1. Sampling: Das nächste Token wird zufällig aus dieser neuen, verkürzten Verteilung ausgewählt.

Somit führt Top-k einen harten Schwellenwert für die Anzahl der Kandidaten ein: Wörter mit einem Wahrscheinlichkeitsrang unter k werden niemals ausgewählt.

Einfluss des Parameters k

  • Kleines k (z. B. k=510): Macht die Generierung konservativer und vorhersehbarer. Das Modell wählt nur aus einer sehr begrenzten Menge der wahrscheinlichsten Wörter. Dies erhöht die Kohärenz, kann aber zu sich wiederholendem und eintönigem Text führen.
  • Großes k (z. B. k=50100): Erhöht die Vielfalt und Kreativität des Textes, da mehr Varianten in die Auswahl einbezogen werden. Dies erhöht jedoch auch das Risiko, weniger relevante oder unpassende Tokens zu inkludieren.
  • Grenzfälle:
    • k=1: Entspricht der Greedy-Dekodierung. Das Modell wählt immer das wahrscheinlichste Token.
    • k = Größe des Vokabulars: Entspricht dem Standard-Sampling aus der vollständigen Verteilung, ohne Abschneiden.

Historische Bedeutung

Die Top-k-Methode wurde 2018 von Angela Fan und ihren Kollegen formal vorgeschlagen, als eine effektive Lösung für das Problem der Qualitätsminderung von Texten bei Verwendung von vollständigem zufälligem Sampling. Sie zeigten, dass die Begrenzung der Auswahl auf eine kleine Anzahl von Kandidaten die Kohärenz und Sinnhaftigkeit der generierten Geschichten erheblich verbessert.

Beispielsweise wurde in frühen Versionen von GPT-2 der Parameter `top_k=40` verwendet, was es dem Modell ermöglichte, lange und kohärente Texte zu generieren, die mit früheren Methoden unerreichbar waren.

Vergleich mit anderen Dekodierungsmethoden

Top-k vs. Top-p

Top-k wurde weitgehend durch eine fortschrittlichere Methode verdrängt – das Top-p-(Nucleus-)Sampling.

  • Der Hauptnachteil von Top-k ist seine mangelnde Anpassungsfähigkeit. Ein fester Wert für k berücksichtigt nicht die Form der Wahrscheinlichkeitsverteilung:
    • Wenn die Verteilung spitz ist (das Modell ist sich bei wenigen Tokens sicher), kann Top-k die Auswahl künstlich erweitern, indem es unwahrscheinliche Kandidaten einbezieht.
    • Wenn die Verteilung flach ist (das Modell ist unsicher und viele Tokens haben eine ähnliche Wahrscheinlichkeit), kann Top-k viele geeignete Varianten vorzeitig abschneiden.
  • Top-p hingegen passt die Größe der Auswahlmenge dynamisch an, indem es Tokens auf der Grundlage ihrer kumulativen Wahrscheinlichkeit auswählt. Dies macht es flexibler und zuverlässiger.

Top-k vs. Temperatur

  • Die Temperatur verändert die Form der gesamten Wahrscheinlichkeitsverteilung, schneidet aber keine Tokens ab. Sie beeinflusst die relativen Wahrscheinlichkeiten aller Kandidaten.
  • Top-k führt ein hartes Abschneiden ein und schließt Tokens außerhalb der Top-k vollständig aus.

In der Praxis kann Top-k zusammen mit der Temperatur verwendet werden: Zuerst verändert die Temperatur die Verteilung, und dann schneidet Top-k die Kandidaten ab.

Praktische Anwendung

Obwohl das Top-p-Sampling heute als bevorzugte Methode gilt, wird Top-k in einigen Fällen immer noch verwendet, insbesondere wenn eine einfache und intuitive Kontrolle über die Größe der Auswahlmenge erforderlich ist.

  • Typische Werte: In der Praxis werden k-Werte zwischen 20 und 100 verwendet, abhängig von der gewünschten Balance zwischen Kohärenz und Vielfalt.
  • Empfehlungen: Für die meisten Aufgaben wird die Verwendung von Top-p empfohlen. Wenn dennoch Top-k verwendet wird, sollte es mit einer moderaten Temperatur kombiniert und der k-Wert sorgfältig auf die jeweilige Aufgabe abgestimmt werden.

Siehe auch

  • Большие языковые модели

Literatur

  • Fan, A. et al. (2018). Hierarchical Neural Story Generation. arXiv:1805.04833.
  • Holtzman, A. et al. (2020). The Curious Case of Neural Text Degeneration. arXiv:1904.09751.
  • Holtzman, A. et al. (2024). Closing the Curious Case of Neural Text Degeneration. OpenReview:dONpC9GL1o.
  • Meister, C. et al. (2023). Locally Typical Sampling. arXiv:2202.00666.
  • Su, Y.; Collier, N. (2022). Contrastive Search Is What You Need for Neural Text Generation. arXiv:2210.14140.
  • O’Brien, S.; Lewis, M. (2023). Contrastive Decoding Improves Reasoning in Large Language Models. arXiv:2309.09117.
  • Finlayson, M. et al. (2024). Basis-Aware Truncation Sampling for Neural Text Generation. arXiv:2412.14352.
  • Tan, Q. et al. (2024). A Thorough Examination of Decoding Methods in the Era of Large Language Models. arXiv:2402.06925.
  • Yu, S. et al. (2023). Conformal Nucleus Sampling. arXiv:2305.02633.
  • Chen, S. J. et al. (2025). Decoding Game: On Minimax Optimality of Heuristic Text Generation Methods. arXiv:2410.03968.
  • Sen, J. et al. (2025). Advancing Decoding Strategies: Enhancements in Locally Typical Sampling for LLMs. arXiv:2506.05387.