English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

Gast
1 / ?

Wörter zu Zahlen

Ein Übersetzer an einer Grenze

Ein Sprachmodell sieht nie Text. Es sieht Ganzzahlen. Ein Tokenizer sitzt an einer Grenzübergangstelle: menschliche Wörter fließen hinein, Ganzzahlen-IDs fließen hinaus. Die Generierung kehrt den Fluss um: Ganzzahlen-IDs kommen zurück, ein Tokenizer rendert Text.


Drei Aufgaben:


1. Segmentieren. Schneide einen String in Stücke (Tokens).

2. Zuordnen. Weise jedem Stück eine eindeutige Ganzzahl-ID aus einem festen Vokabular zu.

3. Rückwärts. Rekonstruiere Text aus IDs zur Generierungszeit.


Warum Stücke, nicht ganze Wörter

Ein Vokabular mit ganzen Wörtern explodiert. Allein das Englische hat Hunderttausende von Formen. Schlimmer noch: Ein auf ganzen Wörtern trainiertes Modell kann einen Tippfehler, einen neuen Namen oder eine fremdsprachige Phrase nicht handhaben: Jedes unbekannte Wort wird zu einem einzigen <UNK>-Slot.


Subword-Tokenisierung behebt das. Ein Vokabular aus gängigen Teilen kann jedes Wort zusammensetzen, einschließlich solcher, die während des Trainings nie gesehen wurden. Zwei Strategien dominieren: BPE (Byte Pair Encoding) & distributionelle Segmentierung. ANDREA wählt eine zweite Strategie.


Harris vs BPE

Warum Subword

Ein Ganzwort-Tokenizer scheitert am seltenen Wort `proporian` (ein Wort, das ANDREA-12M in Schritt 43.100 produziert hat). Nenne zwei unterschiedliche Probleme, die ein Subword-Tokenizer (BPE oder Harris) vermeidet, die ein Ganzwort-Tokenizer nicht kann.

Wo bricht ein Wort ab

Zellig Harris, 1955

Ein Linguist namens Zellig Harris bemerkte etwas. Innerhalb eines Wortes variiert die Anzahl der unterschiedlichen Buchstaben, die auf eine gegebene Buchstabensequenz folgen, stark. Nach un können Dutzende von Buchstaben folgen: a, b, c, d, e ... Nach unbel folgt nur eine winzige Menge: i (dann ievable).


Ein Anstieg der Vielfalt der Nachfolger markiert eine wahrscheinliche Morphemgrenze. Nach un (ein Präfix) springt die Vielfalt, weil viele Wurzeln folgen können. Innerhalb einer Wurzel wie believ bleibt die Vielfalt niedrig, weil die Buchstaben einander vorhersagen. An einem Übergang zwischen Morphemen springt die Vielfalt erneut.


Von Vielfaltsspitzen zu Segmenten

Führen Sie diesen Detektor über einen Trainingskorpus aus. Jedes Wort spendet statistische Evidenz. Ein Tokenizer sammelt hochfrequente Segmente, die an morphemenförmigen Grenzen wiederkehren: un, re, pre, believ, know, ing, able, ly, tion, ed.


Keine Labels. Kein Linguist markiert Morpheme von Hand. Eine Statistik der Buchstaben-Kookkurrenz erledigt die Arbeit.


Harris vs BPE


EigenschaftHarrisBPE
GrenzkriteriumSuccessor-Variety-SpikePaarfrequenz
Linguistische FormMorphem-ausgerichtet (Präfix, Wurzel, Suffix)Häufige Byte-Paare
Beispiel: unbelievablyun + believ + abl + yunb + eli + eva + bly
GeneralisierungStark (Wurzel + Affix rekombiniert)Schwächer (Paare müssen nicht ausgerichtet sein)

Beide erzeugen Subwort-Stücke. Harris-Stücke tendieren dazu, mit dem übereinzustimmen, was ein Linguist als Morphem bezeichnen würde: eine kleinste bedeutungsvolle Einheit. BPE-Stücke optimieren die Kompression: das häufigste Byte-Paar wird zusammengeführt, unabhängig von der Bedeutung.

Wort segmentieren

Wende Harris-ähnliche Überlegungen auf das Wort `replayed` an. Schlage drei Morphem-Segmente vor & begründe jedes in einem Satz (welche Rolle spielt es: Präfix, Wurzel oder Suffix).

Drei Vokabel-Platten

Anatomie eines ANDREA-Vokabulars

Harris-Tokenisierung erzeugt ein Vokabular mit drei Platten:


Platte 1: 256 Basisbytes. Jeder mögliche UTF-8-Byte (0x00 bis 0xFF) erhält eine eigene Token-ID. Ein Sicherheitsnetz: Jeder Buchstabe, den ein Korpus enthält, kann von einem Tokenisierer als Sequenz von Bytes dargestellt werden. <UNK> feuert nie.


Platte 2: N Morphemsegmente. Häufige Teile, die durch distributionelle Analyse entdeckt wurden. ANDREA-12M trainiert N = 4096; ANDREA-120M trainiert N = 8192. Jedes Segment komprimiert eine wiederkehrende Multi-Byte-Zeichenkette in ein einzelnes Token.


Platte 3: 1 BOS-Token. Ein spezielles Markierungszeichen, das am Anfang jeder Trainingssequenz platziert wird. Ermöglicht es einem Modell, zu lernen: 'Diese Position hat keine Vergangenheit'. ANDREA-12M & ANDREA-120M reservieren beide genau eine ID für BOS.


Vokabelgrößen


ModellBasis-BytesMorphem-Segmente (N)BOSVokabulargröße
ANDREA-12M256409614353
ANDREA-120M256819218449

256 + N + 1 = Vokabulargröße. Einfach. Reproduzierbar. Offen.


Warum ein Byte-Slab wichtig ist

Ein Byte-Fallback gewährleistet Abdeckung. Wenn ein Modell auf 日本語 trifft & ein Tokenizer keine japanischen Morpheme hat, tragen einzelne UTF-8-Bytes eine Sequenz hindurch. Ein Modell trainiert auf Bytes; Qualität bei seltenen Schriften hängt von Kapazität & Exposition ab, aber kein Input lässt je einen Tokenizer abstürzen.

Berechne ein Vokabular

ANDREA-480M (ein drittes Modell in einer Familie, zukünftige Aktivität 24 behandelt es) plant, einen Harris-Tokenizer mit N = 16.384 Segmenten auf einem größeren Korpus zu trainieren. Berechne seine Vokabulargröße. Zeige eine Formel. Erkläre dann in einem Satz, warum ein Byte-Slab bei 256 bleibt, auch wenn N wächst.

Anfang der Sequenz

Warum eine Sequenz einen Marker benötigt

Ein decoder-only Transformer prognostiziert ein nächstes Token aus dem vorherigen Kontext. Position 0 hat keinen vorherigen Kontext. Ohne Marker befindet sich Position 0 in einem logischen Loch: Das Modell hat nichts, worauf es achten kann.


BOS löst ein Loch. Ein einzelnes spezielles Token (ID = 256 + N) steht am Anfang jeder Sequenz während des Trainings. Das Modell lernt:


- 'Wenn du BOS siehst, prognostiziere ein wahrscheinliches erstes Token von natürlichem Text.'

- 'Wenn du BOS gefolgt von einem Wort siehst, ist dieses Wort ein Sequenzanfang, keine Fortsetzung.'


Ein Token, viele Verwendungen


BOS erscheint bei:


- Trainingszeit: angehängt vor jedem Textchunk, der dem Modell zugeführt wird.

- Inferenzzeit: angehängt vor einem Prompt, damit das Modell ein vertrautes „Neustart“-Signal sieht.

- Grenzmarkierung: in einigen Pipelines als Trennzeichen zwischen verketteten Dokumenten.


ANDREA reserviert genau eine ID für BOS. Kein EOS, kein PAD, keine speziellen Tokens über das hinaus, was ein Vokabular benötigt. Einfachheit bleibt ein permanenter Wert des Permacomputers: Jeder Token verdient seinen Platz.


Aktivität 3 wird fortgesetzt

Aktivität 3 (grow_a_language_model_tokenizer_diet) behandelt, was passiert, wenn N zu groß ist oder ein Tokenizer-Korpus vom Trainingskorpus abweicht. ANDREA-12M verschwendete 63,6 % seines Vokabulars; ANDREA-120M hat es behoben. Lies weiter.

BOS-Only-Abwägungen

Reflektiere über eine Designentscheidung von ANDREA: nur ein spezieller Token (BOS), kein EOS, kein PAD. Nenne eine Abwägung, die das erzeugt. Die Abwägung kann ein Vorteil (einfacherer Engine, weniger verschwendete Slots) oder eine Einschränkung (einige Trainingstricks benötigen extra Tokens) sein. Ein Satz reicht.