ztok: Multithreaded Zig-Tokenizer mit 2–5× Speedup über tiktoken und HF
ztok ist eine von /u/FaustAg entwickelte Tokenizer-Bibliothek in Zig 0.16, die auf Geschwindigkeit und Format-Agnostik ausgelegt ist. Sie erkennt automatisch .tiktoken-, HF-tokenizer.json-, SentencePiece-.model-, TokenMonster- und Mistral-Tekken-Dateien. Auf einem AMD EPYC mit 24 Kernen und 48 Threads erreicht ztok im Single-Thread-Betrieb rund das Doppelte des tiktoken-Durchsatzes; im Batch-Modus steigt der Vorteil auf 3,8–5,5× (291–425 MB/s gegenüber ~78 MB/s). Die Ausgabe ist bit-identisch zu den Referenzimplementierungen, sodass kein Drift entsteht. Acht Sprachbindungen (Python, Node, Ruby, Go, Rust, .NET, Java, Swift) werden über ein einzelnes C-ABI bereitgestellt. Primäre Anwendungsfälle sind RAG-Chunking mit tokengenauer Fenstergröße und byte-akkuraten Offsets sowie die Vorverarbeitung von Trainingsdaten direkt in .bin- oder .npy-Dateien. Das Projekt steht unter AGPL-3.0, umfasst rund 1.100 Tests und ist auf GitHub unter sirus20x6/ztok verfügbar.
- Unterstützte Formate: .tiktoken, HF tokenizer.json, SentencePiece .model, TokenMonster, Mistral Tekken — automatisch erkannt.
- Batch-Throughput auf cl100k-Vokabular (EPYC 24c/48t): 291–425 MB/s vs. ~78 MB/s bei tiktoken.
- 8 Sprachbindungen über eine einzige C-ABI: Python, Node, Ruby, Go, Rust, .NET, Java, Swift.
- Lizenz: AGPL-3.0; Zig 0.16; ~1.100 Tests im Testsuite.
- Kernfunktionen: RAG-Chunking mit Token-Cap-Fenstern + byte-akkuraten Offsets, Dataset-Export in .bin/.npy.
Frag die KI zum Artikel
Folgefragen zu Headline, Quelle und Volltext — Antwort streamt in wenigen Sekunden.
Verwandte Beiträge
ztok: Multithreaded Zig-Tokenizer mit 2–5× Speedup über tiktoken und HF
ztok ist eine von /u/FaustAg entwickelte Tokenizer-Bibliothek in Zig 0.16, die auf Geschwindigkeit und Format-Agnostik ausgelegt ist. Sie erkennt automatisch .tiktoken-, HF-tokenizer.json-, SentencePiece-.model-, TokenMonster- und Mistral-Tekken-Dateien. Auf einem AMD EPYC mit 24 Kernen und 48 Threads erreicht ztok im Single-Thread-Betrieb rund das Doppelte des tiktoken-Durchsatzes; im Batch-Modus steigt der Vorteil auf 3,8–5,5× (291–425 MB/s gegenüber ~78 MB/s). Die Ausgabe ist bit-identisch zu den Referenzimplementierungen, sodass kein Drift entsteht. Acht Sprachbindungen (Python, Node, Ruby, Go, Rust, .NET, Java, Swift) werden über ein einzelnes C-ABI bereitgestellt. Primäre Anwendungsfälle sind RAG-Chunking mit tokengenauer Fenstergröße und byte-akkuraten Offsets sowie die Vorverarbeitung von Trainingsdaten direkt in .bin- oder .npy-Dateien. Das Projekt steht unter AGPL-3.0, umfasst rund 1.100 Tests und ist auf GitHub unter sirus20x6/ztok verfügbar.
- Unterstützte Formate: .tiktoken, HF tokenizer.json, SentencePiece .model, TokenMonster, Mistral Tekken — automatisch erkannt.
- Batch-Throughput auf cl100k-Vokabular (EPYC 24c/48t): 291–425 MB/s vs. ~78 MB/s bei tiktoken.
- 8 Sprachbindungen über eine einzige C-ABI: Python, Node, Ruby, Go, Rust, .NET, Java, Swift.
- Lizenz: AGPL-3.0; Zig 0.16; ~1.100 Tests im Testsuite.
- Kernfunktionen: RAG-Chunking mit Token-Cap-Fenstern + byte-akkuraten Offsets, Dataset-Export in .bin/.npy.
Frag die KI zum Artikel
Folgefragen zu Headline, Quelle und Volltext — Antwort streamt in wenigen Sekunden.