Byte-Pair-Encoding: sieh zu, wie ein Modell Text in Tokens zerlegt

Tippe Text ein und schiebe von Zeichen zu Wörtern. Das ist Byte-Pair-Encoding, genau der Weg, auf dem GPT-artige Modelle dein Geschriebenes in die Tokens verwandeln, die sie lesen.

y26w35

Diese Woche lernt die Maschine zu lesen. Nicht die Bedeutung, die kommt später, sondern den rohen ersten Schritt: dein Text wird in Tokens zerlegt. Jeder Chatbot tut das als Allererstes, und es erklärt viele seiner Eigenheiten, etwa warum er Buchstaben verzählt und warum manche Wörter mehr kosten als andere.

Das Gadget unten ist ein Byte-Pair-Encoding (BPE)-Tokenizer, das Verfahren hinter GPT-artigen Modellen. Tippe Text ein und zieh den Merges-Regler (oder drücke Abspielen).

Sieh, was passiert:

  1. Bei 0 Merges ist jedes Zeichen ein eigenes Token. „the” sind drei Tokens: t, h, e. Die Tokenzahl entspricht der Zeichenzahl.
  2. Jeder Merge sucht das häufigste benachbarte Paar in deinem Text und verschmilzt es zu einem neuen Token. Erst werden vielleicht „t” und „h” zu „th”, dann „th” und „e” zu „the”.
  3. Häufen sich die Merges, wachsen häufige Buchstaben zu Teilwörtern und ganzen Wörtern, und die Tokenzahl sinkt. Die Liste der Merges ist der Anfang eines Vokabulars.

Warum Modelle Stücke lesen, nicht Buchstaben oder Wörter

Ein Modell braucht ein festes Vokabular aus Stücken. Buchstaben halten das Vokabular winzig, machen die Folgen aber quälend lang; ganze Wörter machen die Folgen kurz, doch das Vokabular explodiert und jeder Tippfehler wird unbekannt. BPE trifft die Mitte: häufige Wörter werden einzelne Tokens, seltene oder neue Wörter zerfallen in bekannte Brocken. Deshalb ist „the” ein Token, ein seltsamer Name aber vielleicht fünf.

Das ist buchstäblich die Eingabeschicht eines großen Sprachmodells. Bevor der Transformer irgendetwas denkt, bevor GPT-3 oder ChatGPT das nächste Token vorhersagt, wird der Text in genau solche Stücke zerlegt. Deshalb wird auch pro Token abgerechnet und gezählt, nicht pro Wort: Das Token ist hier die echte Einheit der maschinellen Sprachverarbeitung.

Tippe deinen eigenen Namen oder ein langes, seltenes Wort und sieh, in wie viele Stücke es zerfällt.

Die früheren Ausgaben verpasst? Trainiere ein Perzeptron, sieh einer Markov-Kette beim Plappern zu, verliere gegen unbesiegbares Tic-Tac-Toe, bring einem Filter bei, Kanten zu sehen, oder sieh einem Agenten zu, wie er aus Belohnung lernt.

Gelernte Merges
Zieh den Merges-Regler (oder drücke Abspielen). Bei 0 Merges ist jedes Zeichen ein Token; jeder Merge verschmilzt das häufigste Paar, so wachsen Buchstaben zu Wörtern und die Tokenzahl sinkt.