Dev & Code 1 h agoZu Lesezeichen hinzufügen
Marcel Roed veröffentlicht *GigaToken*, einen Tokenizer für Sprachmodelle, der eine Steigerung von etwa drei Größenordnungen gegenüber den Referenzimplementierungen beansprucht. Ein Rückblick darauf, was optimiert wurde.
Sie pretrainieren ein Sprachmodell oder müssen einen Datensatz mit mehreren Terabytes an Text für ein Fine-Tuning encodieren. Der Tokenizer - dieses Bauteil, das Rohtext in numerische Identifikatoren umwandelt - ist oft der unsichtbare Engpass: Auf Referenzimplementierungen kann er bei großen Korpora genauso viel Zeit verbrauchen wie der Forward-Pass des Modells selbst.
GigaToken, veröffentlicht von Marcel Roed auf GitHub, behauptet ~1000× die Referenzimplementierung bei üblichen BPE (Byte-Pair Encoding) Tokenizern. Das ist eine Zahl, die ernst genommen werden sollte: Selbst mit einer Größenordnung Unterschied ändert sich, was auf einer einzelnen Maschine möglich ist.
Ein BPE-Tokenizer macht drei Dinge:
t + h → th, dann th + e → the) gemäß einem vorab gelernten Vokabular.Die massiven Gewinne kommen von mehreren Hebeln, kumuliert:
tokenizers in reiner Python-Version oder das erste tiktoken) durchlaufen eine Liste von Regeln bei jedem Schritt. Optimierte Implementierungen (wie tiktoken in Rust) verwenden einen vorberechneten Merge-Baum und eine Prioritätswarteschlange, um nur aktive Paare zu behandeln. GigaToken treibt die Logik weiter.Tokenizer sind nicht glamourös. Sie bleiben unbemerkt in den Papieren, und die meisten Leute nehmen an, dass sie in O(gratuit) laufen. Aber wenn es darum geht, Trainingskorpora im Bereich von mehreren tausend Milliarden Tokens (wie Llama 3, DeepSeek V3, etc.) vorzubereiten, bedeutet selbst ein Faktor 10× beim Tokenizer Wochen an Compute-Zeit, die eingespart werden.
Konkret Fälle, in denen der Gewinn zählt:
Ein schnellerer Tokenizer ersetzt nicht einen korrekten Tokenizer. Die Punkte, die zu überprüfen sind, bevor man ihn übernimmt:
Das Open-Source-LLM-Ökosystem reift seine „Plumbing“-Schicht - nach den Inference-Servern (vLLM, TGI, llama.cpp), nach den Trainings-Frameworks (Megatron, DeepSpeed) - es ist nun an den Datenbausteinen, die auf Performance-Ebene neu geschrieben werden. GigaToken gehört zu dieser Bewegung, zusammen mit tiktoken-rs, arrow-rs und den systematischen Neuimplementierungen in Rust oder C++ von dem, was vorher in Python lief.
Zu beachten
Artikel von künstlicher Intelligenz erstellt, unter menschlicher redaktioneller Kontrolle geprüft.