Wissen
Byte Pair Encoding
Byte Pair Encoding, kurz BPE, ist ein datengetriebenes Verfahren, mit dem häufig vorkommende Zeichen- oder Symbolfolgen zu größeren Einheiten zusammengeführt werden. In modernen Sprachmodellen wird BPE vor allem als Subword-Tokenisierung eingesetzt: Häufige Wörter oder Wortteile können wenige Tokens benötigen, während seltene Ausdrücke in kleinere Einheiten zerlegt werden.
Häufig gemeinsam auftretende Symbole werden iterativ zu neuen Tokens zusammengeführt.
Einen Mittelweg zwischen sehr großen Wortvokabularen und sehr langen Zeichen- oder Byte-Sequenzen schaffen.
BPE bestimmt, welche Token-IDs ein Modell für einen gegebenen Text tatsächlich als Eingabe erhält.
Dokument-Metadaten
Worum geht es in diesem Wissensbeitrag?
Einordnung des Inhalts
- Entity Class
- Wissen
- Content-Typ
- Technischer Grundlagenbeitrag
- Hauptthema
- Byte Pair Encoding
- Abkürzung
- BPE
- Themenkategorie
- Tokenization / Subword Modeling / Large Language Models
- Primäres Objekt
- Vokabular aus wiederverwendbaren Symbol- beziehungsweise Subword-Einheiten
- Kernfrage
- Wie wird kontinuierlicher Text in eine begrenzte Menge diskreter Tokens für ein Sprachmodell zerlegt?
Definition
Was ist Byte Pair Encoding?
BPE lernt aus einem Trainingskorpus, welche benachbarten Symbole besonders häufig gemeinsam auftreten. Das häufigste Paar wird zu einem neuen Symbol zusammengeführt. Dieser Vorgang wird wiederholt, bis eine gewünschte Anzahl von Merge-Regeln beziehungsweise eine Zielgröße des Vokabulars erreicht ist.
Definition als Faktenstruktur
- Input beim Training
- Ein Textkorpus und eine initiale Menge grundlegender Symbole
- Lernsignal
- Häufigkeit benachbarter Symbolpaare im Trainingskorpus
- Operation
- Zwei häufig gemeinsam auftretende Symbole werden zu einer neuen Einheit zusammengeführt
- Ergebnis
- Ein Vokabular plus eine geordnete Menge gelernter Merge-Regeln
- Beim Encoding
- Neue Texte werden anhand des gelernten Vokabulars und der Merge-Regeln in Tokens zerlegt
- Eigenschaft
- Häufige Sequenzen werden tendenziell zu größeren Tokens, seltene Sequenzen bleiben feingranularer
Historischer Ursprung
Von Datenkompression zu Subword-Tokenisierung
1994 · Byte Pair Encoding als Kompressionsalgorithmus
- Quelle
- Philip Gage – A New Algorithm for Data Compression
- Originalprinzip
- Häufige benachbarte Byte-Paare werden durch neue kompakte Symbole ersetzt
- Primäres Ziel
- Daten komprimieren und häufige Muster effizient repräsentieren
- Wichtig
- Dieses ursprüngliche Verfahren wurde nicht für Large Language Models entwickelt
2015/2016 · BPE wird auf Subword-Modeling übertragen
- Quelle
- Sennrich, Haddow & Birch – Neural Machine Translation of Rare Words with Subword Units
- Problem
- Neuronale Übersetzungsmodelle arbeiteten mit begrenzten Vokabularen und hatten Schwierigkeiten mit seltenen beziehungsweise unbekannten Wörtern
- Adaption
- BPE wird verwendet, um häufige Zeichenfolgen datengetrieben zu Subword-Einheiten zusammenzuführen
- Folge
- Auch seltene oder neue Wörter können aus kleineren bekannten Einheiten zusammengesetzt werden
2019 · Byte-Level BPE bei GPT-2
- Quelle
- Radford et al. – Language Models are Unsupervised Multitask Learners
- Ansatz
- GPT-2 kombiniert eine Byte-basierte Ausgangsrepräsentation mit BPE-Merges
- Ziel
- Beliebige Unicode-Strings ohne klassisches Unknown-Token verarbeiten und gleichzeitig Sequenzen kompakter als reine Bytefolgen repräsentieren
- Bedeutung
- Byte-Level BPE wird zu einer wichtigen Tokenisierungsvariante für generative Sprachmodelle
Training
Wie BPE ein Vokabular lernt
Der Tokenizer wird vor dem eigentlichen LLM-Training auf einem repräsentativen Textkorpus trainiert. Die daraus entstandene Segmentierung bleibt für das anschließende Modelltraining typischerweise fest.
Repräsentativer Trainingskorpus wird gesammelt und vorbereitet.
Text wird zunächst auf eine grundlegende Symbolebene zerlegt.
Häufigkeiten aller benachbarten Symbolpaare werden bestimmt.
Das häufigste geeignete Paar wird zu einem neuen Symbol.
Zählung und Merge werden iterativ wiederholt.
Basissymbole und gelernte Merges bilden das Tokenvokabular.
Tokenizer und Token-IDs werden für das Modelltraining festgelegt.
Vereinfachtes Beispiel
Wie aus einzelnen Zeichen größere Tokens entstehen können
Das folgende Beispiel illustriert den Mechanismus. Welche Merges tatsächlich gelernt werden, hängt von den Häufigkeiten im Trainingskorpus und der konkreten Implementierung ab.
Beispielwort: „kamera“
- Initial
- k · a · m · e · r · a
- Möglicher Merge 1
- k + a → ka
- Möglicher Merge 2
- ka + m → kam
- Möglicher Merge 3
- kam + e → kame
- Möglicher Merge 4
- kame + r → kamer
- Möglicher Merge 5
- kamer + a → kamera
- Interpretation
- Wenn „kamera“ beziehungsweise Teilsequenzen davon im Korpus häufig genug sind, kann das Wort am Ende mit sehr wenigen Tokens repräsentiert werden
häufige Sequenz → größere Einheit → weniger Tokens
seltene Sequenz → kleinere Einheiten → mehr Tokens
Training vs. Encoding
BPE lernt die Regeln einmal und wendet sie danach auf neue Texte an
Merge-Regeln lernen
Aus einem großen Korpus werden Paarhäufigkeiten bestimmt und daraus eine geordnete Menge von Merge-Operationen erzeugt.
Neuen Text segmentieren
Beim späteren Tokenisieren werden keine neuen Merges gelernt. Der Text wird mit dem bestehenden Vokabular und den bereits gelernten Regeln zerlegt.
Tokens werden zu Zahlen
Jede Vokabulareinheit besitzt eine feste numerische ID. Das LLM verarbeitet diese IDs anschließend über seine Token-Embedding-Matrix.
LLM Pipeline
BPE liegt vor dem eigentlichen Transformer
„Welche Kamera ist regenfest?“
BPE zerlegt den Text in bekannte Token-Einheiten.
Jede Einheit wird auf ihre numerische Vokabular-ID abgebildet.
Token-IDs werden zu lernbaren Vektorrepräsentationen.
Attention und MLPs verarbeiten die Sequenz.
Das Modell berechnet die Verteilung für das nächste Token.
Generierte Token-IDs werden wieder zu Text zusammengesetzt.
Vocabulary
Die Vocabulary Size bestimmt einen wichtigen Trade-off
Kleines versus großes Vokabular
- Kleines Vokabular
- Weniger Embedding- und Output-Einträge, dafür längere Tokensequenzen
- Großes Vokabular
- Häufige Sequenzen können kompakter repräsentiert werden, aber Embedding- und Output-Matrizen werden größer
- Merge-Anzahl
- Mehr gelernte Merges erzeugen grundsätzlich mehr mögliche zusammengesetzte Token-Einheiten
- Sequenzlänge
- Effiziente Tokenisierung kann die Zahl der Tokens für denselben Text reduzieren
- Context Window
- Da Kontextfenster in Tokens gemessen werden, beeinflusst die Tokenisierung indirekt, wie viel Text in ein festes Tokenbudget passt
- Modellkosten
- Tokenizer-Design beeinflusst sowohl Sequenzlänge als auch Größe der Vokabularprojektionen
Byte-Level BPE
Byte Pair Encoding arbeitet in LLMs nicht immer auf derselben Symbolebene
Der Name BPE kann missverständlich sein. In der NLP-Adaption von Sennrich et al. werden Subword-Merges auf symbolischen Zeichenfolgen gelernt. Byte-Level-BPE-Varianten beginnen dagegen mit einer Repräsentation, die auf UTF-8-Bytes zurückgeführt werden kann.
Zeichen als Ausgangsbasis
Das initiale Inventar basiert auf Zeichen beziehungsweise bereits vorverarbeiteten Symbolen. Häufige Sequenzen werden anschließend zu Subwords zusammengeführt.
Bytes als universelle Basis
Jede UTF-8-Eingabe lässt sich zunächst als Bytefolge darstellen. BPE-Merges erzeugen daraus größere Einheiten für häufige Sequenzen.
Keine unbekannten Unicode-Zeichen erforderlich
Eine vollständige Bytebasis kann prinzipiell jede UTF-8-Sequenz darstellen, auch wenn bestimmte Zeichen nie als eigenes Vokabularelement gelernt wurden.
Wortgrenzen & Leerzeichen
Leerzeichen können selbst Teil der Tokenrepräsentation werden
Warum dasselbe Wort unterschiedlich tokenisiert sein kann
- Wortgrenzen
- Tokenizer müssen abbilden, wo neue Wörter oder Textsegmente beginnen
- Whitespace
- Je nach Tokenizer wird ein Leerzeichen explizit kodiert oder mit dem folgenden Token verbunden
- Konsequenz
- „Kamera“ am Textanfang und „ Kamera“ nach einem Leerzeichen können unterschiedliche Tokenrepräsentationen besitzen
- SentencePiece
- SentencePiece zeigt einen alternativen Ansatz, bei dem Tokenisierung direkt aus Rohtext gelernt werden kann und Whitespace explizit repräsentierbar bleibt
Trade-off
BPE liegt zwischen Wort-, Zeichen- und Byte-Modellen
Sehr kompakt für bekannte Wörter, aber große Vokabulare und Probleme mit seltenen beziehungsweise neuen Wörtern.
Häufige Sequenzen werden kompakt dargestellt, während seltene Wörter aus kleineren Einheiten entstehen können.
Kleines Grundvokabular und hohe Offenheit, aber deutlich längere Sequenzen.
Universelles Grundinventar von Bytes, dafür ohne Merges oft noch längere Sequenzen.
Alternativen
BPE ist nicht der einzige Subword-Algorithmus
Greedy Merge Learning
Häufige Paare werden iterativ zu neuen Symbolen zusammengeführt. Die gelernten Merge-Regeln bestimmen die spätere Segmentierung.
Subword-Vokabular mit anderem Auswahlkriterium
WordPiece arbeitet ebenfalls mit Subword-Einheiten, verwendet aber eine andere Lern- beziehungsweise Scoringlogik als klassisches BPE.
Probabilistisches Segmentierungsmodell
Das Unigram-Modell startet mit einem größeren Kandidatenvokabular und entfernt beziehungsweise gewichtet Einheiten anhand eines probabilistischen Sprachmodells.
Tokenizer-Framework
SentencePiece ist kein einzelner Merge-Algorithmus, sondern ein Framework, das unter anderem BPE und Unigram direkt auf Rohtext trainieren kann.
Stärken
Warum BPE so verbreitet wurde
Seltene Wörter bleiben darstellbar
Ein unbekanntes Gesamtwort kann aus bereits bekannten kleineren Token-Einheiten zusammengesetzt werden.
Häufige Sequenzen werden kompakt
Häufige Wörter und Wortteile benötigen tendenziell weniger Tokens als bei reiner Zeichen- oder Byteverarbeitung.
Keine vollständige linguistische Morphologie nötig
Das Vokabular wird aus den beobachteten Frequenzen des Trainingskorpus gelernt.
Reproduzierbare Standardsegmentierung
Bei festem Tokenizer und identischem Text entsteht in konventioneller Anwendung dieselbe Tokenfolge.
Grenzen
BPE optimiert Häufigkeiten, nicht sprachliche Bedeutung
Typische Einschränkungen
- Keine semantische Garantie
- Ein Merge entsteht aus statistischer Häufigkeit und muss keiner linguistisch sinnvollen Wortgrenze entsprechen
- Corpus Bias
- Sprachen, Schreibweisen und Fachgebiete, die im Tokenizer-Trainingskorpus selten sind, können weniger effizient tokenisiert werden
- Deterministische Segmentierung
- Klassisches BPE wählt typischerweise eine feste Segmentierung, obwohl mehrere sinnvolle Subword-Zerlegungen möglich sein können
- Zahlen und Spezialstrings
- IDs, Zahlenfolgen, URLs und ungewöhnliche Zeichen können abhängig vom Vokabular in unerwartet viele Tokens zerfallen
- Mehrsprachigkeit
- Ein gemeinsames Vokabular verteilt seine begrenzten Tokenplätze nicht automatisch gleich effizient über alle Sprachen
- Tokenizer Lock-in
- Nach dem LLM-Training lässt sich das Vokabular nicht beliebig ändern, weil Embedding- und Output-Gewichte direkt an die Token-IDs gekoppelt sind
- Token ≠ Wort
- LLM-Kosten und Context Windows werden in Tokens gemessen; die Anzahl lässt sich daher nicht direkt aus Wortzahlen ableiten
Measurement
Wie lässt sich ein Tokenizer bewerten?
Wie viele Tokens werden durchschnittlich für eine bestimmte Textmenge benötigt?
Wie stark werden Wörter in einer Sprache oder Domäne fragmentiert?
Wie viele diskrete Token-Einheiten müssen Embedding und Output Layer abbilden?
Wie lang werden typische Modellinputs nach der Tokenisierung?
Wie stark unterscheiden sich Tokenisierungskosten zwischen Sprachen und Schriftsystemen?
Wie effizient werden Code, Fachbegriffe, Produktdaten oder andere spezialisierte Inhalte repräsentiert?
Verwandte Entitäten
Welche Leadterion-Wissensobjekte stehen in direkter Beziehung?
Large Language Models
BPE erklärt die Tokenisierungsschicht, die Text in die diskreten Eingabeeinheiten eines LLM übersetzt.
Wissensbeitrag öffnenContext Engineering
Da Context Windows und Promptkosten in Tokens gemessen werden, beeinflusst Tokenisierung direkt die praktische Kontextkapazität.
Wissensbeitrag öffnenContext Folding
Context Folding reduziert aktive Historie. Die resultierende Einsparung wird letztlich ebenfalls in Tokens sichtbar.
Wissensbeitrag öffnenFAQ
Häufige Fragen zu Byte Pair Encoding
Wofür steht BPE?
BPE steht für Byte Pair Encoding. Der ursprüngliche Algorithmus wurde als Datenkompressionsverfahren beschrieben. In NLP bezeichnet BPE heute vor allem eine davon abgeleitete Methode zur datengetriebenen Subword-Tokenisierung.
Ist ein BPE-Token immer ein Wort?
Nein. Ein Token kann ein komplettes Wort, ein Wortteil, ein einzelnes Zeichen oder bei Byte-Level-Varianten auch eine aus Bytes entstandene Sequenz repräsentieren.
Warum nutzen LLMs nicht einfach ganze Wörter?
Ein vollständiges Wortvokabular müsste sehr groß sein und könnte trotzdem nie alle Namen, Schreibvarianten, Fachbegriffe oder neu auftretenden Wörter abdecken. Subwords ermöglichen einen flexibleren Mittelweg.
Warum nicht nur einzelne Zeichen oder Bytes?
Zeichen und Bytes können nahezu beliebige Texte darstellen, erzeugen aber deutlich längere Sequenzen. BPE fasst häufige Sequenzen zusammen und reduziert dadurch die benötigte Tokenzahl.
Was ist Byte-Level BPE?
Byte-Level BPE nutzt Bytes als universelle Ausgangsbasis und lernt anschließend BPE-Merges über häufige Bytefolgen. Dadurch kann grundsätzlich jeder UTF-8-Text ohne klassisches Unknown-Character-Problem dargestellt werden.
Lernt das LLM selbst seine BPE-Merges?
Typischerweise nein. Der Tokenizer wird vor dem eigentlichen Modelltraining trainiert. Das LLM erhält anschließend bereits tokenisierte Sequenzen und lernt Embeddings und Transformer-Gewichte für die festgelegten Token-IDs.
Kann derselbe Text bei verschiedenen LLMs unterschiedlich viele Tokens haben?
Ja. Unterschiedliche Modelle können andere Tokenizer, Vocabulary Sizes, Merge-Regeln oder Byte-/Unicode-Verfahren verwenden. Deshalb ist eine Tokenzahl immer tokenizerabhängig.
Ist SentencePiece dasselbe wie BPE?
Nein. SentencePiece ist ein Tokenizer-Framework, das unter anderem BPE und das Unigram-Modell unterstützt und direkt auf Rohtext trainiert werden kann.
Quellen
Wissenschaftliche und technische Grundlagen zu BPE und Subword-Tokenisierung
Die Quellen zeigen die Entwicklung vom ursprünglichen Kompressionsalgorithmus über BPE-basierte Subword-Modelle bis zu Byte-Level- und alternativen Tokenisierungsansätzen.
| Quelle | Autor / Jahr | Einordnung | Originalquelle |
|---|---|---|---|
| Neural Machine Translation of Rare Words with Subword Units | Rico Sennrich, Barry Haddow & Alexandra Birch · 2016 | Überträgt BPE auf Subword-Segmentierung für neuronale Sprachverarbeitung und adressiert seltene beziehungsweise unbekannte Wörter mit wiederverwendbaren kleineren Einheiten. | ACL Anthology |
| Language Models are Unsupervised Multitask Learners | Alec Radford et al. · 2019 | Beschreibt den GPT-2-Ansatz mit Byte-Level BPE als Mittelweg zwischen reinen Byte- und Wortrepräsentationen für offene, allgemeine Sprachmodellierung. | GPT-2 Technical Report |
| SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processing | Taku Kudo & John Richardson · 2018 | Führt ein Framework ein, das Subword-Modelle direkt aus Rohtext lernen kann und unter anderem BPE sowie Unigram-Tokenisierung unterstützt. | ACL Anthology |
| Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates | Taku Kudo · 2018 | Zeigt, dass Subword-Segmentierungen mehrdeutig sein können und führt ein probabilistisches Unigram-Modell sowie Subword-Regularisierung als Alternative zu einer einzigen deterministischen Segmentierung ein. | ACL Anthology |
| Neural Machine Translation with Byte-Level Subwords | Changhan Wang, Kyunghyun Cho & Jiatao Gu · 2020 | Untersucht Byte-Level-BPE für maschinelle Übersetzung und zeigt Vorteile eines kompakten, bytebasierten Grundvokabulars insbesondere in multilingualen Szenarien. | AAAI |
| BPE-Dropout: Simple and Effective Subword Regularization | Ivan Provilkov, Dmitrii Emelianenko & Elena Voita · 2020 | Untersucht die deterministische Natur klassischer BPE-Segmentierung und führt eine stochastische Variante ein, die während des Trainings unterschiedliche Segmentierungen desselben Textes erzeugen kann. | ACL Anthology |
Wissen
BPE bestimmt, aus welchen diskreten Einheiten ein Sprachmodell Text wahrnimmt
Tokenisierung ist keine rein technische Vorstufe ohne Konsequenzen. Das gelernte Vokabular beeinflusst Sequenzlängen, Context-Nutzung, Rechenaufwand und die Granularität, mit der Wörter, Sprachen, Zahlen, Code und Fachbegriffe im Modell repräsentiert werden.