3 Punkte von GN⁺ 2025-05-06 | 1 Kommentare | Auf WhatsApp teilen
  • LLMs berechnen eine Wahrscheinlichkeitsverteilung für das nächste Token und wählen daraus eines aus; Sampling ergänzt greedy Verfahren um kontrollierte Zufälligkeit und steuert so die Vielfalt der Ausgabe
  • Temperature, Wiederholungs-Penalties, DRY, Top-K/Top-P/Min-P verändern vor oder nach der Token-Auswahl die Logits oder Wahrscheinlichkeitsverteilung und rekonstruieren damit Kandidatenmenge und relative Wahrscheinlichkeiten
  • Je nach Sampler werden Tokens nach unterschiedlichen Kriterien beibehalten oder ausgeschlossen, etwa feste Anzahl, kumulative Wahrscheinlichkeit, Verhältnis zur höchsten Wahrscheinlichkeit, Entropie, n-Gram-Wiederholung oder Surprisal
  • In realen Pipelines verändert die Anwendungsreihenfolge von Filtering, Penalties, Temperature und Verteilungsanpassung das Ergebnis deutlich; je nach Kombination können sich Effekte ergänzen oder gegenseitig überschreiben
  • Die Vokabulargröße und Segmentierungsweise des Tokenizers verändern die Einheiten, denen das Modell Wahrscheinlichkeiten zuweist, sowie die Muster, die n-Gram-basierte Sampler wie DRY erkennen

Grundstruktur von LLM-Generierung und Sampling

  • Ein LLM nimmt Text wie einen Nutzer-Prompt entgegen und berechnet das nächste Token, das einem nächsten Wort oder Wortteil entspricht
  • Das Modell besitzt ein Vokabular aus gültigen Tokens und bezieht sich beim Training und bei der Inferenz auf dieses Vokabular
  • Während des Trainings sieht es viele Texte und baut eine interne Wahrscheinlichkeitskarte für Tokens auf; während der Inferenz entscheidet es auf Basis der gelernten Wahrscheinlichkeiten über das nächste Token
  • Der Generierungsprozess ist in zwei Schritte unterteilt
    • Vorhersage: Für jede Position wird eine Wahrscheinlichkeitsverteilung über alle möglichen nächsten Tokens berechnet
    • Auswahl: Aus dieser Verteilung wird ein Token ausgewählt und zur Ausgabe hinzugefügt
  • Ein greedy Verfahren wählt immer das wahrscheinlichste Token und erzeugt daher leicht repetitiven und deterministischen Text
  • Sampling bringt in den Auswahlschritt kontrollierte Zufälligkeit ein, damit die Ausgabe vielfältiger wird

Warum Tokens statt Wörter oder Zeichen?

  • Zeichenbasierte Tokenisierung macht denselben Text zu einer viel längeren Sequenz; tokenization kann statt 2–3 Tokens bei Subword-Verfahren 12 Tokens werden
  • Lange Sequenzen erfordern mehr Rechenaufwand für self-attention, und das Modell muss Informationen über mehrere Positionen wie t-h-e zu einem einzigen Konzept verbinden
  • Wortbasierte Tokenisierung müsste alle englischen Wörter und Wörter vieler anderer Sprachen enthalten, wodurch die Embedding-Matrix sehr groß und teuer wird
  • Trifft ein wortbasiertes Verfahren auf neue oder seltene Wörter, ersetzt es sie meist durch ein "unknown"-Token und verliert Bedeutungsinformation
  • Subword-Tokenisierung kann neue Wörter wie grompuficious durch Kombinationen bekannter Subwords darstellen
  • Sprachmodelle mit einem neuen Tokenizer trainieren den Tokenizer auf repräsentativen Stichproben der Trainingsdaten darauf, häufige Subwords zu finden, und legen die Vokabulargröße vorab fest

Zentrale Werte, mit denen Sampler arbeiten

  • Logits: vom Modell für jedes Token im Vokabular ausgegebene, noch nicht normalisierte Scores; je höher der Wert, desto wahrscheinlicher ist das Token als nächstes Token
  • Softmax: wandelt Logits in Werte zwischen 0 und 1 um und transformiert sie in eine Wahrscheinlichkeitsverteilung, deren Summe 1 ist
  • Entropie: beschreibt die Unsicherheit oder Zufälligkeit einer Wahrscheinlichkeitsverteilung; je höher sie ist, desto weniger sicher ist sich das Modell beim nächsten Token
  • Perplexity: beschreibt, wie stark ein Modell von einem Text „überrascht“ wird; je niedriger sie ist, desto höher ist die Zuverlässigkeit
  • n-Gram: eine Sequenz aus n aufeinanderfolgenden Tokens; "once upon a" ist ein 3-Gram
  • Context Window: maximale Anzahl an Tokens, die ein LLM inklusive Prompt und generierter Ausgabe auf einmal verarbeiten kann

Basissampler, die die Wahrscheinlichkeitsverteilung direkt anpassen

  • Temperature funktioniert wie ein „Kreativitätsregler“ des LLM
    • Niedrige Temperature macht die Tokens mit den höchsten Scores noch wahrscheinlicher und erhöht die Vorhersagbarkeit
    • Höhere Temperature wie 0,7–1,0 sorgt dafür, dass auch der dritt- oder viertbeste Kandidat gewählt werden kann, und erhöht die Vielfalt, aber auch die Fehlerwahrscheinlichkeit
    • Sehr hohe Temperature über 1,0 kann ohne andere Sampling-Verfahren wie Min-P zu rauen und schwer vorhersagbaren Ausgaben führen
    • Technisch werden die Logits durch den Temperature-Wert geteilt, bevor Softmax angewendet wird
  • Presence Penalty wendet eine feste Penalty auf Tokens an, die bereits mindestens einmal vorgekommen sind
    • Unabhängig von der Häufigkeit des Auftretens wird der Penalty-Wert von den Logits zuvor verwendeter Tokens abgezogen
    • Da es bessere Penalty-Strategien gibt, wird sie im Allgemeinen nicht empfohlen
  • Frequency Penalty erhöht die Penalty proportional zur Anzahl der Token-Vorkommen
    • Wenn ein Token dreimal vorkam, werden seine Logits um 3 × frequency penalty reduziert
    • Je öfter dasselbe Token wiederholt wird, desto geringer wird schrittweise die Wahrscheinlichkeit, dass es erneut ausgewählt wird
  • Repetition Penalty zielt auf Tokens, die sowohl im Prompt als auch in der generierten Ausgabe vorkommen
    • Positive Logits werden durch die Penalty geteilt, negative Logits werden mit der Penalty multipliziert und damit noch negativer gemacht
    • Nützlich zum Durchbrechen von Wiederholungsschleifen, kann bei aggressiven Werten aber Konsistenz kosten

DRY gegen Wiederholungsmuster

  • DRY (Don't Repeat Yourself) erkennt Wiederholungsmuster breiter als einfache Wortwiederholungen
  • Es sucht in der generierten Token-Sequenz nach n-Gram-Wiederholungen und bestraft Tokens, die dieses Muster weiter fortsetzen würden
  • Wenn ein Muster wie "the cat sat on the" zuvor aufgetreten ist und derselbe Verlauf erneut beginnt, wird das Token, das früher darauf folgte, weniger wahrscheinlich ausgewählt
  • Je länger das Wiederholungsmuster ist, desto stärker ist die angewendete Penalty
  • Wichtige Parameter sind multiplier für die Penalty-Stärke, base für die Steigerungsrate je nach n-Gram-Länge, minimale und maximale n-Gram-Länge, sequence breaker und range limit
  • Sequence Breaker wie punctuation können das Pattern Matching zurücksetzen; aus Effizienzgründen gibt es außerdem Bereichsbegrenzungen, die nur den jüngsten Text berücksichtigen
  • Besonders nützlich ist das in Bereichen wie kreativem Schreiben, in denen wiederholte Formulierungen unnatürlich wirken

Filternde Sampler, die Kandidaten abschneiden

  • Top-K behält statt des gesamten Vokabulars nur die obersten K Tokens
    • Wenn K 40 ist, wird nur aus den 40 wahrscheinlichsten Kandidaten ausgewählt
    • Die übrigen Logits werden auf -∞ gesetzt und haben nach Softmax praktisch Wahrscheinlichkeit 0
  • Top-P (Nucleus) behält statt einer festen Anzahl die kleinste Kandidatenmenge, deren kumulative Wahrscheinlichkeit den Schwellenwert P überschreitet
    • Wenn P 0,9 ist, werden die Top-Kandidaten einbezogen, bis ihre kumulative Wahrscheinlichkeit 90 % erreicht
    • Wenn das Modell sicher ist, bleiben wenige Kandidaten übrig; bei Unsicherheit bleiben mehr Kandidaten übrig
    • Das Token mit der höchsten Wahrscheinlichkeit bleibt immer erhalten, sodass mindestens ein Token übrig ist
  • Min-P setzt eine Qualitätsuntergrenze als Verhältnis zum Token mit der höchsten Wahrscheinlichkeit
    • Wenn die höchste Wahrscheinlichkeit 0,6 und Min-P 0,1 beträgt, liegt der Schwellenwert bei 0,06
    • Tokens mit im Verhältnis zum besten Kandidaten zu niedriger Wahrscheinlichkeit werden ausgeschlossen
    • Es wird üblicherweise zusammen mit hohen Temperature-Werten von 1,0–1,2 eingesetzt; Min-P selbst wird auf einem sehr niedrigen Niveau um 0,1 verwendet
    • Da im Gegensatz zu Top-K oder Top-P keine Sortierung des gesamten Vokabulars nötig ist, ist es effizienter
  • Top-A verwendet einen Schwellenwert, der proportional zum Quadrat der höchsten Wahrscheinlichkeit ist
    • Je sicherer das Modell ist, desto stärker erhöht der Quadrateffekt den Schwellenwert und reduziert die Kandidaten deutlich
    • Es ist ein älteres Verfahren als Min-P; technisch ist Min-P linear, während Top-A quadratbasiert ist
  • Epsilon Cutoff entfernt Tokens unterhalb eines festen Wahrscheinlichkeitsschwellenwerts
    • Es wendet unabhängig von den Verteilungseigenschaften denselben Maßstab an
    • Es ist einfach und vorhersehbar, aber nicht so adaptiv wie Eta Cutoff

Sampler, die Verteilungsform und Unsicherheit nutzen

  • Top-N-Sigma bildet mit dem Maximalwert der Logits und der Standardabweichung einen statistischen Schwellenwert
    • Die Grundlage ist maximales Logit - N × Standardabweichung
    • Es berücksichtigt nicht nur die absoluten Werte der Verteilung, sondern auch die Streuung der gesamten Score-Verteilung
  • Tail-Free Sampling (TFS) betrachtet die Krümmung der Wahrscheinlichkeitsverteilung und sucht den Punkt, an dem der lange Tail beginnt
    • Die Logits werden absteigend sortiert und in Wahrscheinlichkeiten umgewandelt, anschließend wird der Absolutwert der zweiten Differenz berechnet
    • Tokens nach dem Punkt, an dem die kumulative Verteilung der Krümmung den Schwellenwert überschreitet, werden entfernt
    • Der Fokus liegt stärker auf der Form der Verteilung als auf absoluten Wahrscheinlichkeitswerten
  • Eta Cutoff verwendet individuelle Wahrscheinlichkeiten und die Gesamtentropie gemeinsam
    • In Situationen niedriger Entropie, in denen das Modell sicher ist, wird ein strengerer Cutoff angewendet
    • In Situationen hoher Entropie, in denen das Modell unsicher ist, wird ein großzügigerer Cutoff angewendet
    • Der Schwellenwert wird als Minimum aus eta und sqrt(eta) * exp(neg_entropy) bestimmt
  • Locally Typical Sampling betrachtet nicht die Wahrscheinlichkeit selbst, sondern wie nah ein Token am durchschnittlichen Surprisal liegt
    • Sowohl zu vorhersehbare Tokens als auch zu überraschende Tokens gelten als weniger „typical“
    • Tokens werden nach zunehmender Surprisal Deviation sortiert, und typical-p legt die kumulative Wahrscheinlichkeitsmasse fest, die erhalten bleibt
  • Quadratic Sampling ist kein Filtering, sondern transformiert die gesamte Logit-Verteilung nichtlinear
    • Ausgehend vom Token mit dem höchsten Score werden die Abstände zu anderen Logits mit quadratischen und kubischen Termen angepasst
    • smoothing factor steuert die Stärke der Anpassung, smoothing curve die Form der Transformation
    • Ist s positiv, wird die Verteilung spitzer; ist k positiv, wirkt es in Richtung einer Abflachung der Verteilung

Fortgeschrittene Verfahren zur Steuerung von Vorhersagbarkeit und Vielfalt

  • XTC (eXclude Top Choices) wird probabilistisch aktiviert und schließt absichtlich einige der vorhersehbarsten Auswahlmöglichkeiten aus
    • Als Parameter werden Aktivierungswahrscheinlichkeit und Ausschlussschwellenwert verwendet
    • Unter den Top-Kandidaten oberhalb des Schwellenwerts wird ein Kandidat mit dem niedrigsten Score ausgeschlossen, und die übrigen Kandidaten mit hoher Wahrscheinlichkeit werden entfernt
    • Anders als normale Filter, die Kandidaten mit niedriger Wahrscheinlichkeit abschneiden, zielt es auf die offensichtlichsten Optionen
  • Mirostat ist ein Feedback-Verfahren, das dynamisch angepasst wird, um einen Ziel-Surprisal zu halten
    • Mit dem aktuellen mu threshold werden zu überraschende Tokens herausgefiltert
    • Nach der Token-Auswahl wird der tatsächliche Surprisal berechnet und mit dem Zielwert tau verglichen
    • eta ist die learning rate, die bestimmt, wie schnell mu angepasst wird
    • Die Update-Formel lautet mu_{t+1} = mu_t - η × (surprisal_t - τ)
    • Es ist ein selbstregulierendes Verfahren, das die Perplexity der Textgenerierung konstant halten soll
  • Dynamic Temperature Sampling ändert die Temperature abhängig von der Entropie der aktuellen Verteilung
    • Bei niedriger Entropie wird mit höherer Temperature mehr Vielfalt eingebracht
    • Bei hoher Entropie wird die Ausgabe mit niedrigerer Temperature fokussiert
    • Nutzer legen minimale Temperature, maximale Temperature und Exponent fest
    • Die Berechnungsformel lautet temperature = min_temp + (max_temp - min_temp) * (normalized_entropy ^ exponent)

Beam Search und Contrastive Search

  • Beam Search hält mehrere Kandidatensequenzen parallel vor und sucht nach Pfaden mit hoher Gesamtwahrscheinlichkeit
    • Es behält so viele Kandidatensequenzen wie die beam width bei, erweitert die Kandidaten in jedem Decoding Step und behält dann nur die besten Kandidaten
    • Üblicherweise werden in jedem Schritt 2k Kandidaten gesampelt, damit auch nach dem Ausschluss abgeschlossener Sequenzen usw. genügend Kandidaten übrig bleiben
    • Der Score ist die Summe der Logprobs aller Tokens in der Sequenz
    • Für dieselbe Eingabe erzeugt es deterministisch dieselbe Ausgabe, ist teuer und wird heute weniger genutzt, weil es bessere Sampling-Verfahren gibt
  • Contrastive Search optimiert zugleich hohe Wahrscheinlichkeit im Kontext und die Vermeidung repetitiver Muster
    • Zuerst werden Top-K-Kandidaten gewählt
    • Die hidden representation des bestehenden Contexts und der Kandidaten-Continuation wird verglichen, um eine similarity-basierte Degeneration Penalty zu berechnen
    • Der finale Score lautet score(x) = α * P(x) - (1-α) * sim(x, context)
    • α steuert das Gleichgewicht zwischen Wahrscheinlichkeit und Vielfalt
    • Ähnlich wie Beam Search ist es kein breit genutztes Verfahren

Wie die Anwendungsreihenfolge von Samplern das Ergebnis verändert

  • In realen LLM-Implementierungen werden Sampling-Techniken oft der Reihe nach angewendet; manche Bibliotheken erlauben eine Änderung der Reihenfolge pro Anfrage, die meisten jedoch nicht
  • Eine typische Pipeline folgt dieser Reihenfolge
    • Das Modell erzeugt raw logits
    • Tokens, die nicht berücksichtigt werden sollen, werden gefiltert oder verboten
    • repetition, frequency und presence penalties werden angewendet
    • Pattern-basierte Verfahren wie DRY werden angewendet
    • temperature scaling wird angewendet
    • Verteilungsanpassungen wie Top-K, Top-P und Min-P werden angewendet
    • Aus der finalen Wahrscheinlichkeitsverteilung wird ein Token gesampelt
  • Je nach Implementierung wird Temperature am Anfang oder am Ende außerhalb der Penalties und Post-Softmax-Sampler angewendet
    • Für die meisten Aufgaben wird Temperature zuerst angewendet
    • Beim kreativen Schreiben wird sie üblicherweise zuletzt angewendet
  • Jeder Sampler verändert die Wahrscheinlichkeitslandschaft, die der nächste Sampler sieht
    • Penalties senken Peaks bereits verwendeter Tokens und heben andere Kandidaten relativ an
    • Niedrige Temperature macht die Verteilung schärfer, hohe Temperature flacht sie ab
    • Filter wie Top-K/P entfernen Tokens mit niedriger Wahrscheinlichkeit und normalisieren die verbleibenden Wahrscheinlichkeiten neu

Reihenfolgeabhängige Interaktionen und Kombinationen

  • Die Reihenfolge Temperature → Filtering rekonstruiert zuerst die gesamte Verteilung und filtert dann
    • Niedrige Temperature konzentriert schon vor dem Filter Wahrscheinlichkeitsmasse auf wenige Tokens
    • Hohe Temperature verteilt die Wahrscheinlichkeitsmasse breiter, bevor gefiltert wird
  • Die Reihenfolge Filtering → Temperature schneidet zuerst Kandidaten ab, und Temperature passt nur die relativen Wahrscheinlichkeiten unter den verbleibenden Tokens an
    • Selbst bei hoher Temperature kommen Tokens, die der ursprüngliche Filter entfernt hat, nicht zurück
    • Wenn bei Top-K 40 und Temperature 1,5 zuerst der Filter angewendet wird, bleiben nur die ursprünglichen Top 40 übrig
  • Penalties → Temperature senkt zuerst die Wahrscheinlichkeiten repetitiver Tokens, danach verstärkt oder verringert Temperature diese Anpassung
    • Bei hoher Temperature kann der Penalty-Effekt faktisch ausgelöscht werden
    • Bei niedriger Temperature kann die Penalty übermäßig verstärkt werden
  • Temperature → Penalties lässt die Penalties auf einer durch Temperature rekonstruierten Verteilung wirken und kann ausgewogenere und vorhersehbarere Penalty-Effekte erzeugen
  • DRY ist positionssensitiv
    • Wird es früh in der Pipeline angewendet, ist der Wiederholungsschutz stark, aber spätere Sampler können Tokens mit Penalty wieder nach oben ziehen
    • Wird es spät angewendet, kann es schwächer sein, weil frühere Sampler bereits einige Kandidaten entfernt haben, bildet aber kurz vor der Token-Auswahl eine letzte Verteidigungslinie gegen Wiederholung
  • Es gibt auch sich ergänzende Kombinationen
    • Top-K + Top-P: Top-K bietet eine harte Grenze, Top-P passt sich der Modellsicherheit an
    • Temperature + Min-P: Hohe Temperature flacht die Verteilung ab, Min-P setzt eine Qualitätsuntergrenze relativ zum besten Kandidaten
  • Es gibt auch kollidierende Kombinationen
    • High Temperature + Low Top-K: Ein niedriges Top-K beschränkt die Kandidaten stark und überdeckt einen großen Teil des Temperature-Effekts
    • Mehrere Filtering-Verfahren gleichzeitig: Werden Top-K, Top-P, Min-P und TFS zusammen genutzt, dominiert die restriktivste Methode, sodass die übrigen redundant werden können
    • XTC + Top-A: Beide versuchen, Top-Optionen auf unterschiedliche Weise auszuschließen, und können den Sampling-Raum übermäßig verengen

Wie der Tokenizer den Sampling-Raum erzeugt

  • Der Tokenizer legt fest, wofür das Modell Wahrscheinlichkeiten vorhersagt und welche Kandidaten der Sampler verarbeitet
  • Subword-Algorithmen balancieren die Probleme langer zeichenbasierter Sequenzen und die riesigen Vokabulare sowie unknown-Probleme wortbasierter Verfahren aus
  • BPE (Byte Pair Encoding) beginnt mit einem zeichen- oder bytebasierten Vokabular und verschmilzt wiederholt die häufigsten benachbarten Symbolpaare im Trainingskorpus
    • Die Zusammenführungen werden bis zur gewünschten Vokabulargröße wiederholt
    • Als Beispielgrößen für Vokabulare werden 32000 oder 128256 units genannt
    • Standard-BPE kann Pre-Tokenization anhand von Leerzeichen und Satzzeichen erfordern, und je nach Implementierung kann die Behandlung von Whitespace uneinheitlich sein
  • SentencePiece verarbeitet Text direkt als Sequenz von Unicode-Zeichen ohne vorherige Segmentierung
    • Leerzeichen können als Teil eines Tokens encodiert werden
    • Da es auf raw Unicode arbeitet, kann Whitespace explizit als U+2581 encodiert werden, wodurch Tokenization und De-Tokenization reversibel und lossless werden
    • Intern kann es BPE oder ein unigram language model implementieren
    • Wegen Sprachunabhängigkeit und Reversibilität ist es in modernen LLMs beliebt

Auswirkungen von Vokabulargröße, Token-Grenzen und seltenen Wörtern

  • Tokenizer haben eine feste Vokabulargröße; große Vokabulare enthalten mehr ganze Wörter, kleine Vokabulare sind stärker auf Subwords angewiesen
  • Wenn "sampling" oder "probability" ein einzelnes Token ist, sagt das Modell die Wahrscheinlichkeit des gesamten Konzepts auf einmal voraus
    • Bei häufigen Formulierungen ermöglicht das direktere und vorhersehbarere Ausgaben
    • Bei seltenen Wörtern können Probleme mit <UNK> oder unbeholfenen Subword-Kombinationen entstehen
  • Wenn "sampling" wie sampl + ing aufgeteilt wird, sagt das Modell in feineren Schritten voraus
    • Wenn Sampler wie Temperature es zulassen, kann statt sampling auch sampler entstehen
    • Seltene Wörter können aus Teilen zusammengesetzt werden
    • Wenn es an einem common sub-word prefix hängen bleibt, können weniger konsistente oder stuck-Ausgaben entstehen
    • Penalties wie DRY müssen kürzere und semantisch weniger eindeutige Sequenzen verfolgen
  • Dieselbe Formulierung wird je nach Tokenizer unterschiedlich zerlegt
    • "State-of-the-art" kann zu State + - + of + - + the + - + art werden oder im SentencePiece-Stil zu State + _of + _the + _art
    • Wenn sie häufig vorkommt, kann die ganze Formulierung auch ein einzelnes Token sein
  • Token-Grenzen wirken sich direkt auf n-Gram-basierte Sampler wie DRY aus
    • Wenn "once upon a time" aus 4 Tokens besteht, kann DRY das 4-Gram leicht erkennen
    • Ist es ein einzelnes Token, ist es schwierig, auf dieselbe Weise eine Penalty zu vergeben, sofern die Ausgabe nicht zurückgerollt wird
  • Seltene oder neue Wörter können bei BPE und SentencePiece in bekannte Teile zerlegt werden
    • Wenn ein <UNK> erzeugt wird, verliert der Sampler eine sinnvolle Auswahlmöglichkeit
    • Subword-Verfahren können Teile kreativ kombinieren, brauchen aber mehrere Sampling-Schritte, um ein seltenes Wort zu erzeugen; dadurch ist die Wahrscheinlichkeit größer, zwischendurch vom Ziel abzuweichen, als bei einem einzelnen known token

1 Kommentare

 
GN⁺ 2025-05-06
Hacker-News-Kommentare
  • In diesem Zusammenhang: Unser min_p-Paper landete unter 12.000 ICLR-Einreichungen auf Platz 18 und wurde für einen mündlichen Vortrag ausgewählt.
    https://iclr.cc/virtual/2025/oral/31888
    Auch das Poster war beliebt: https://iclr.cc/media/PosterPDFs/ICLR%202025/30358.png?t=174...
    Den Vortrag kann man hier ansehen. Es gibt eine Stelle, an der Yoshua Bengio zu diesem Thema kritisiert wird, und er stellt dann die erste Frage. Der zweite Vortragende beginnt etwa bei 19:30; die Folien sind ebenfalls dabei und es ist ziemlich witzig: https://iclr.cc/virtual/2025/session/31936
    Paper: https://arxiv.org/abs/2407.01082
    Als einer der Autoren von min_p kann ich bestätigen, dass Top N sigma derzeit mit Abstand der beste Allzweck-Sampler ist. Außerdem kann und sollte temperature deutlich höher eingestellt werden als bisher. Mit Verfahren wie min_p oder top N sigma ist selbst temperature 100 völlig in Ordnung.
    Noch etwas: Auch die Kombination aus top_k = 2 und extrem hoher temperature, die die Autoren am Ende des Papers nicht empfehlen, ist für sich genommen sehr interessant. Etwa alle 10 Wörter tritt ein Rechtschreibfehler auf, aber zugleich scheint dadurch eine ziemlich interessante Kreativität zu entstehen.

    • Ich frage mich, ob es überhaupt Sampler gibt, die nicht im Grunde greedy sind. Also solche, die tatsächlich Tree Search betreiben.
      Ich weiß, dass die Verzweigungszahl absurd groß ist und auch die Kosten für das Erweitern von Knoten hoch sind, aber dass praktisch nicht gesucht wird, kam mir immer seltsam vor.
  • Ein Punkt, der hier fehlt, ist, dass der Sampler keinen Zugriff auf den internen Zustand des Modells hat. Der Sampler wendet nur einfache Mathematik auf die Ausgabeverteilung an; diese Verteilung enthält technisch gesehen zwar ein wenig Semantik, lässt sich aber nicht entschlüsseln, wenn man nicht so schlau ist wie das Modell.
    Dasselbe gilt für hier beschriebene Sampler wie repetition penalty oder DRY. Ein Modell kann sich auf zahllose verschiedene Arten selbst wiederholen, und die einzige Möglichkeit, all das zu verhindern, ist besseres Training, nicht n-Gram-Suche oder klassische NLP-Methoden. Das ist, als wollte man alle Löcher mit den Fingern stopfen — wie viele Finger hat man denn?
    Wenn man den autoregressiven Prozess hackt, kann man mit low-hanging fruit wie Min-P Verbesserungen oder clevere Tricks erzielen, aber wenn das Ziel ist, aus einem schlechten Modell ein gutes Modell zu machen, ist das die falsche Richtung.

    • Nein, das Ziel ist, aus einem unkreativen Modell ein kreatives Modell zu machen. Wegen der Vorstellung, Sampling sei unwichtig oder verstoße gegen die bitter lesson, musste ich in meinem ICLR-Oral explizit darauf hinweisen, dass das gesamte Feld bei solcher Forschung einen riesigen blinden Fleck hat.
      Top n sigma gibt es seit Mitte 2024, min_p seit 2023, und trotzdem warten wir außerhalb von Open Source, also außerhalb von HF/vllm, noch darauf, dass solche Innovationen integriert werden. API-Anbieter gehen absichtlich langsam vor, weil sie das Risiko nicht tragen wollen, dass Modelle zu kreativ werden; außerdem ist es sehr wahrscheinlich, dass hohe temperature Watermarking aushebelt.
      Noch etwas: Es ist sehr einfach, ein Modell über seine eigenen Sampling-Einstellungen Bescheid wissen zu lassen. Man speist diese Einstellungen einfach bei jedem Token oder jeder Generierung wieder ins Modell ein. Das geht zum Beispiel über strukturierte Generierung. Das Modell kann seine eigenen Sampling-Einstellungen steuern und mit nur ein wenig zusätzlicher Programmierung „auf den internen Zustand zugreifen“. Inzwischen kann das Modell diesen Code sogar selbst schreiben.
    • Das Hauptinteresse in diesem Guide scheint Effizienz und die Vermeidung einer Komplexitätsexplosion zu sein.
  • Ich habe kürzlich auch einen kleinen Sampling-Guide für Ollama/llama.cpp geschrieben; Feedback oder Korrekturvorschläge sind willkommen: https://smcleod.net/2025/04/comprehensive-guide-to-llm-sampl...

  • Mir gefällt, dass das Ganze gut strukturiert und leicht verständlich erklärt ist und damit zeigt, wo man effektiv Neues ausprobieren könnte.
    Warum zum Beispiel nicht ganze Wörter als Tokens verwenden? Man könnte einen „Roboter“ mit einem begrenzten „Roboterdialekt“ bauen. Er hätte zwar keine Fähigkeit, neue oder seltene Wörter zu behandeln, aber man könnte die Trainings- und Eingabedaten so anpassen, dass solche Wörter in das bestehende Vokabular übersetzt werden. Dadurch entstünde ein viel kleineres Mapping; es wäre buchstäblich roboterhaft, und Nutzer hätten wie bei C-3PO eine Erwartung, welche Antworten dieser Roboter gut geben kann.

    • Reine Wort-Tokenizer waren das, was man zu Zeiten von RNNs/LSTMs gemacht hat. Funktional gewinnt man gegenüber Tokenisierungsverfahren wie BPE oder WordPiece/SentencePiece nichts, und die Qualität wird schlechter, weil es schwieriger wird, bedeutungstragende semantische Hinweise wie Interpunktion zu nutzen.
  • Wenn der Versuch darin besteht, ein LLM nicht einfach „das nächste Token“, sondern Ideen ausgeben zu lassen, dann scheint der Auswahlprozess über dem Logit-Vektor diese ursprüngliche Idee zu zerstören. Wenn eine Idee vollständig ist, sollte man kein Sampling über Logits brauchen.
    In diesem Rahmen sollte Sampling nicht auf einer Ebene nahe an der Ausgabe stattfinden, also nicht bei der Frage: „Welches Wort soll als Nächstes gesagt werden?“

    • LLMs werden darauf trainiert, die Wahrscheinlichkeit für das nächste Token zu maximieren, nicht für „Ideen“. Ideen lassen sich nicht als Ziel einer Trainings-Loss definieren.
  • Vor ein paar Wochen habe ich einen interaktiven Beitrag zu einem verwandten Thema erstellt, nämlich constrained sampling. Dieser Artikel hier ist allerdings deutlich gründlicher.
    http://michaelgiba.com/grammar-based/index.html

  • Kann ein LLM-Modell die Tokenisierung implizit übernehmen? Also ohne separaten Tokenizer zu bauen, beliebige Strings akzeptieren und dann ein neuronales Netz diese in Tokens umwandeln lassen, wobei die Gewichte dieses Netzes zusammen mit dem restlichen LLM trainiert werden?

    • Das geschieht bereits so. Neuronale Netze können nicht direkt mit Tokens umgehen, sondern nur mit Vektoren reeller Zahlen und differenzierbaren Eingaben[0]. Daher gibt man nicht einfach die Tokens 123, 456 hinein, sondern muss jedes Token in einen One-Hot-Encoding-Vektor umwandeln: ein Vektor, bei dem nur die vom Token-ID bezeichnete Position 1 ist und alle übrigen 0 sind.
      Diese One-Hot-Vektoren laufen durch eine lineare Schicht und werden auf die Größe des Hidden State des Modells komprimiert. Das Token-Vokabular kann zum Beispiel 10.000 bis 100.000 Einträge haben, während die Hidden-State-Größe vielleicht nur bei etwa 500 bis 2.000 liegt. Der gesamte Rest des Modells arbeitet im Hidden-State-Raum[1], in dem viele höherwertige Konzepte enthalten sind.
      Wenn man die Tokenisierung entfernt, muss der Encoder mehr Arbeit leisten, um zu dem Hidden-State-Raum zu gelangen, den wir gewohnt sind. Vielleicht könnte man aus ungepaarten Bytes eine effizientere Kodierung in den Hidden Space finden, aber angesichts dessen, dass die Tokenisierung der meisten Modelle bereits auf den statistischen Eigenschaften des Trainingssets basiert, wirkt das eher unwahrscheinlich. Wenn man „anti“ oder „ism“ nicht automatisch zu einem einzelnen Token kombiniert, bevor man es dem Modell übergibt, müssen die Attention-Heads in den unteren Schichten des Modells dieselbe Arbeit übernehmen.
      Früher hat man Modelle auf Zeichensequenzen trainiert und ist aus Effizienzgründen zur Tokenisierung übergegangen; dieser Kompromiss ist also vermutlich kaum lohnend.
      [0] Man kann nicht einfach eine Liste von Token-IDs übergeben. Token 123.25 hat keine mathematische Bedeutung, und auch das Erhöhen oder Verringern einer Token-ID bedeutet nichts.
      [1] Die Performance wird besser, aber die Interpretierbarkeit schwieriger. Insbesondere entsprechen die Basisvektoren des Hidden Space nicht direkt Wörtern oder Konzepten; alle Konzepte existieren gewissermaßen auf einem N-dimensionalen Torus.
  • Es ist fast schon eine Frage der Lesekompetenz, es modern zu nennen, wenn man Verfahren so aktualisiert, dass sie Techniken verwenden, die erst vor wenigen Jahren erfunden wurden. Modern im Gegensatz wozu – klassischem LLM-Sampling?

    • Bevor man solche Kritik äußert, sollte man vielleicht zuerst ins Wörterbuch schauen.
      modern, adj. designed and made using the most recent ideas and methods
      https://dictionary.cambridge.org/us/dictionary/english/moder...
      Genau das beschreibt dieser Artikel. In den letzten etwa sieben Jahren gab es in diesem Bereich viele Fortschritte, und GPT 1, 2 und 3 sind nach heutigen Maßstäben eindeutig sehr veraltet und im Sinne der obigen Definition nicht modern.
    • Viele dieser Algorithmen wurden um 2019 erfunden, zum Beispiel TFS, oder sind wie Temperature sogar älter.
    • LLMs sind deutlich älter. Auch der einschlägige Nobelpreis zeigt, wie Durchbrüche vor Jahrzehnten entstanden sind.
      ChatGPT war nur der Durchbruch in der breiten Öffentlichkeit. Smartphone-Tastaturen verwenden schon seit zehn Jahren LLMs.
  • Ein wirklich nützliches Dokument. Die Erklärungen sind sehr klar und die Abdeckung ist breit.
    Weiß jemand, wer es geschrieben hat? Es ist kein Autor angegeben und es liegt auf einem kostenlosen Markdown-Pastebin.
    Den Abschnitt zur DRY-Wiederholungsstrafe fand ich interessant. Ich möchte oft, dass ein LLM Eingaben absichtlich exakt kopiert und ausgibt. Wenn ich zum Beispiel lange Gespräche zusammenfassen lasse, bitte ich gern um genaue Zitate, die die Argumente am besten belegen, weil ich sie später im Original leicht suchen und faktisch prüfen kann.
    Die DRY-Strafe scheint gegen dieses Ziel zu arbeiten.

    • Mir war nicht klar, dass kein Autor angegeben ist. Der Text ist von @AlpinDale.