BPE Tokenisier: Tiktoken

Von Neuromancer, 1. August 2023
tiktoken

Tiktoken ist ein flinker BPE-Tokenisierer, konzipiert für die Anwendung mit den Modellen von OpenAI. Im Vergleich zu einem ähnlichen Open-Source-Tokenisierer, zeichnet sich Tiktoken durch eine 3- bis 6-fache Geschwindigkeitssteigerung aus.

Was ist Byte pair encoding (BPE)?

Die Byte-Paar-Kodierung, auch Digram-Kodierung genannt, ist ein Algorithmus, der erstmals 1994 von Philip Gage beschrieben wurde. Seine jüngste Modifikation ist für seine Verwendung als Tokenisierer für Transformationsmodelle wie das GPT-3-Modell bemerkenswert. Dieses Modell kodiert zunächst die häufigsten Wörter als einzelne Token, während weniger häufige Wörter, die häufigere Wörter als ihre Unterwörter enthalten, durch mehrere Token repräsentiert werden.

Ein Beispiel ist das häufige Wort 'transform’, das als erstes Unterwort/Token in ‘Transformers’ vorkommt, und ‘ers’ als ein weiteres. Es kann also durch zwei Token repräsentiert werden. Alle eindeutigen Token, die in einem Korpus gefunden werden, werden in einem Tokenvokabular aufgelistet, dessen Größe im Fall von GPT-3 50257 beträgt. Bevor der Tokenisierungsprozess beginnen kann, muss die Häufigkeit jedes Wortes im Trainingskorpus berechnet werden. Diese Berechnung wird von Pre-Tokenisierern wie Spacy und ftfy durchgeführt, die von GPT verwendet werden.

Der ursprüngliche Algorithmus verwendet eine einfache und robuste Form der Datenkompression, bei der das häufigste Paar benachbarter Bytes in einer Sequenz durch ein Byte ersetzt wird, das nicht in der Sequenz vorkommt. Eine Nachschlagetabelle der Ersetzungen ist erforderlich, um die ursprünglichen Daten wiederherzustellen. Der Algorithmus ist für die Tokenisierung effizient, da er keine große Rechenlast erfordert und stabil und zuverlässig ist.

Kommentare