Tools
Tokenisierung als Flaschenhals
Die Tokenisierung galt lange als vernachlässigbarer Teil des ML-Stacks - bis schnellere Modelle und massiv skalierte Workloads (Training auf Riesen-Datensätzen, Serving vieler paralleler Requests, lange Kontexte) die CPU zum Begrenzer machten. HuggingFaces kommende Version 1 der tokenizers-Bibliothek soll das beheben: oft um Zehnerpotenzen schneller als v0.23, bei identischen Token-IDs, API und Vokabulär.
Die vier Kerntricks
- Bitstreams statt Regex: Das Pre-Tokenisierungs-Muster ist fix - also wird es einmal handgeschrieben und via SIMD über Bitströme gejagt (64 Bytes pro Register-Operation, Idee wie simdjson). Modelle mit bekannten Grammatiken laufen direkt, exotische Muster fallen auf den Regex-Pfad zurück.
- Word-Cache: Thread-lokales Memo von Pre-Token-Bytes auf IDs - wiederholte Wörter werden nur einmal gemerged.
- Merge-Loop-Rewrite: intrusive doppelt-verkettete Liste in einem vorab allokierten Puffer statt Heap-Allokation pro Merge; Kandidaten-Paare gepackt in 64-Bit-Werte.
- Native Parallelität: Ein Tokenizer, viele Threads, Pools statt globaler Locks.
Die Messungen laufen im tokbench-Repo (mit Befehl zum Selbst-Nachmessen), Patches kamen u.a. von IBM, NVIDIA und ExecuTorch. Ein Crate-Split (tk-encode als Runtime, tk-serialize/tk-convert/tk-train optional) macht die Bibliothek zudem leichter einbettbar.
Original: HuggingFace Blog - tokenizers v1