Dies ist eine maschinelle Übersetzung; das englische Original ist maßgeblich. Original lesen

Warum es einem Sprachmodell schwerfällt, die Buchstaben in einem Wort zu zählen

A white paneled robot counts on its fingers while blank glowing jigsaw pieces float in front of it, fusing into fewer and larger pieces.

Das Wort „strawberry“ erreicht GPT-4 in drei Teilen – str, aw, berry. Die Buchstaben sind bereits verschwunden, bevor es überhaupt etwas gelesen hat.

WHAT YOU TYPEstrawberry3 × rWHAT THE MODEL RECEIVESstrawberry3 OPAQUE IDs
Sie senden Buchstaben. Das Modell empfängt drei opake IDs. Die „r“ waren in der Eingabe, die es zu sehen bekam, nie vorhanden.

Fragt man ein Sprachmodell, wie oft der Buchstabe „r“ in „strawberry“ vorkommt, antwortet es nicht selten mit zwei. Dies wird gern als Beleg für einen grundlegenden Mangel gewertet. Es kommt jedoch eher der Aufforderung gleich, jemanden die Pinselstriche eines Wortes zählen zu lassen, das er bisher nur gehört hat.

Was das Modell tatsächlich empfängt

Bevor ein Modell Text überhaupt zu sehen bekommt, wird dieser in Tokens zerlegt. Weder in Buchstaben noch in Wörter – sondern in Segmente, die ein Algorithmus bestimmt hat. Dieser hat dazu ein großes Korpus analysiert und wiederholt die am häufigsten benachbarten Paare zusammengeführt, bis ein Vokabular aus einigen Zehntausend Teilen entstanden ist.

Häufige Wörter bilden am Ende ein einzelnes Token. Seltenere Wörter werden zerteilt, und an welchen Stellen diese Schnitte verlaufen, bestimmt die Korpusstatistik, nicht Bedeutung oder Rechtschreibung. „strawberry“ kommt möglicherweise in zwei oder drei Teilen an, und aus Sicht des Modells sind diese Teile atomare Symbole – jeweils ein beliebiger Index in ein Vokabular, mit nicht mehr innerer Struktur, als eine Hausnummer sie böte.

Die Buchstaben sind also schlichtweg nicht vorhanden. Ein Modell kann zwar Fakten über Rechtschreibung lernen – etwa dass bestimmte Tokens tendenziell gemeinsam mit bestimmten Aussagen über Buchstaben auftreten –, aber es schließt dabei aus Hörensagen über seine eigene Eingabe statt aus der Eingabe selbst. Sie können diesen Vorgang im Tokenizer beobachten. Dessen Vokabular entstammt den Texten dieser Website statt einem Web-Crawl, weshalb er „strawberry“ in vier Teile zerlegt, wo GPT drei ansetzt.

Was dies noch erklärt

Arithmetik mit langen Zahlen. Zahlen werden ebenfalls tokenisiert, und keineswegs immer Ziffer für Ziffer. Eine Zahl kann in Blöcke zerlegt werden, die quer zu den Stellenwerten verlaufen; ein Modell, das schriftlich rechnet, arbeitet also mit Teilen, die nicht mit den Spalten übereinstimmen. Eine Rechenleistung, die mit wachsender Ziffernzahl drastisch einbricht, ist ein deutlicher Hinweis darauf, dass das Problem in der Repräsentation liegt.

Reime, Anagramme, Akrosticha. Jede Aufgabe, die auf Buchstabenebene statt über die Bedeutung definiert ist, stößt an dieselbe Wand.

Kosten und Kontextgrenzen in anderen Sprachen als Englisch. Tokenizer werden auf Korpora trainiert, die überwiegend englischsprachig sind. Das Englische erhält daher effiziente Tokens, während andere Sprachen in mehr Segmente pro Wort zerfallen. Derselbe Satz kann in einer weniger stark vertretenen Sprache ein Vielfaches an Tokens verbrauchen. Das bedeutet höhere Verarbeitungskosten und eine stärkere Auslastung des fest vorgegebenen Kontextfensters. Es handelt sich um ein Problem der Chancengleichheit, das im Vorverarbeitungsschritt verborgen liegt.

Tokens sind nicht die einzige Quelle von Überraschungen

Bedeutung ist geometrisch. Wörter werden zu Vektoren, und Nähe in diesem Raum wird aus Kookkurrenzen gelernt: was in der Nähe von was vorkommt. Aus diesem Grund erfassen Modelle Assoziationen so treffend und erben zugleich die Vorurteile der Texte, mit denen sie trainiert wurden: Kommt ein Wort im Korpus in der Nähe bestimmter anderer Wörter vor, liegt es auch im Raum nahe bei ihnen, und kein Mechanismus unterscheidet dabei eine Tatsache von einem Stereotyp. Das Werkzeug Token Embeddings baut eine verkleinerte Version dieses Raumes auf, sodass die Beschaffenheit dieser Geometrie sichtbar wird.

Die Ausgabe wird per Sampling erzeugt, nicht gewählt. Ein Modell liefert eine Wahrscheinlichkeitsverteilung über das nächste Token, und ein Mechanismus muss eines davon auswählen. Senkt man die Temperatur, wählt es jedes Mal die wahrscheinlichste Option und wird repetitiv sowie vorhersehbar. Erhöht man sie, wählt es häufiger Optionen mit geringer Wahrscheinlichkeit, wird einfallsreicher und unzuverlässiger. Vieles von dem, was als „Kreativität“ eines Modells bezeichnet wird, ist ein Sampling-Parameter. Halluzination ist es nicht: Ein Modell erfindet auch bei einer Temperatur von null Dinge, und der Sampler bestimmt lediglich, wie oft. Temperature Sampling stellt die Verteilung und die Ziehung nebeneinander dar.

Aus welcher Schicht ein Verhalten stammt

Dadurch wird aus einem Mysterium eine Spezifikation. „Das Modell ist unzuverlässig“ bietet keine Handhabe. „Das Modell kann keine Buchstaben sehen, leite Aufgaben zu Rechtschreibung und Buchstabenzählen daher an Programmcode weiter“ hingegen schon. Ebenso wie „Diese Sprache verbraucht dreimal so viele Tokens, kalkuliere das Budget entsprechend“ und „Diese Ausgabe wurde mit einer Temperatur gesampelt, die keine reproduzierbaren Ergebnisse liefert“.

Nahezu jede praktische Entscheidung für den sachgerechten Einsatz dieser Systeme beruht auf dem Wissen, welcher Schicht ein Verhalten entspringt: dem Tokenizer, der Geometrie der Embeddings oder dem Sampler. Keines der drei ist Intelligenz, und alle drei lassen sich untersuchen.

Wie das Vokabular aufgebaut wird

Das übliche Verfahren ist Byte-Pair-Encoding, und es ist einfacher als sein Ruf. Man beginnt mit jedem Zeichen als eigenem Token. Man zählt alle benachbarten Paare im gesamten Korpus, ermittelt das häufigste Paar und verschmilzt es zu einem einzigen neuen Token. Dies wiederholt man einige Zehntausend Male.

Was dabei entsteht, ist keine linguistische Analyse. Es ist eine Häufigkeitsrangfolge. Gebräuchliche englische Wörter bleiben als Ganzes erhalten, weil sie im Korpus häufig waren; Morphologie wird nur dort erfasst, wo sie zufällig mit der Häufigkeit zusammenfällt. Der Tokenizer hat keinen Begriff davon, dass „running“ das Wort „run“ enthält; er wird es nur dann so zerlegen, wenn diese Aufteilung bei der Zählung obsiegt hat.

Das Vokabular ist das Fossil eines ganz bestimmten Korpus zu einem ganz bestimmten Zeitpunkt. Ändert man den Trainingstext, verschieben sich die Schnittstellen. Zwei Modelle mit unterschiedlichen Tokenizern weichen nicht bloß in ihren Ausgaben voneinander ab; sie sind sich uneins darüber, was die Eingabe überhaupt ist.

Warum das Problem nicht einfach behoben wird

Die naheliegende Antwort lautet, dem Modell stattdessen Zeichen zu übergeben. Manche Modelle tun dies, doch dieser Kompromiss ist nicht kostenlos.

Tokens existieren, um die Sequenz zu verkürzen. Eine englischsprachige Textseite umfasst etwa 250 Tokens oder 1.200 Zeichen, und der Rechenaufwand des Attention-Mechanismus wächst quadratisch mit der Sequenzlänge; eine zeichenbasierte Verarbeitung erfordert für denselben Text also etwa zwanzigmal so viel Rechenleistung. Tokenisierung ist ein Kompressionsschritt, der genau jenem Zielkonflikt unterliegt, der im Kompressionsartikel beschrieben wird: Man erkauft sich kürzere Sequenzen, indem man den Zugriff auf Strukturen unterhalb der Tokenebene aufgibt.

Es handelt sich also um einen bewussten Tausch von Sichtbarkeit auf Zeichenebene gegen Sequenzlänge, vollzogen bevor das Modell überhaupt etwas zu sehen bekommt – und die Kosten dafür fallen genau dort an, wo es auf Details auf Zeichenebene angekommen wäre.

Ein Kompressionstrick aus dem Jahr 1994

Dieses Segmentierungsverfahren hat eine kuriose Geschichte. Byte-Pair-Encoding wurde 1994 von Philip Gage als Datenkompressionsalgorithmus in einer Programmierzeitschrift veröffentlicht, um Dateien zu verkleinern. Seine Regel bestand darin, das häufigste benachbarte Byte-Paar zu finden, es durch ein ungenutztes Byte zu ersetzen und dies zu wiederholen.

Im Jahr 2016 übernahmen Sennrich, Haddow und Birch das Verfahren für die maschinelle Übersetzung – nicht zur Datenkompression, sondern um ein Vokabular aufzubauen, das seltene Wörter in Teilen darstellen konnte, statt vor ihnen zu kapitulieren.

Ein dreißig Jahre alter Kompressionstrick, ersonnen zu Zeiten, als Speicherplatz die Sorge war, bestimmt somit, was die größten Modelle von heute überhaupt wahrzunehmen vermögen.