ztok —— 一个用 Zig 编写的高性能多线程分词器,支持加载 tiktoken / HF / SentencePiece,速度提升 2–5 倍

Reddit r/LocalLLaMA 工具

摘要

ztok 是一个用 Zig 编写的高性能多线程分词器库,支持多种格式(tiktoken、HF、SentencePiece 等),速度比现有方案快 2–5 倍,适用于 RAG 分块和数据集分词。

我构建了 ztok,一个专注于高速和格式无关的本地管道的分词器库。 - 加载你已有的格式——.tiktoken、HF tokenizer.json、SentencePiece .model、TokenMonster、Mistral Tekken。自动检测。 - 在等价性检验上与 tiktoken / HF / SentencePiece 完全一致,因此可以作为即插即用的替代。 - 在相同词表和字节数下更快(cl100k 对比 tiktoken,EPYC 24c/48t):单线程约 2 倍,批量处理 3.8–5.5 倍(约 291–425 MB/s 对比约 78 MB/s)。在各自的词表上也比 HF tokenizers 和 SentencePiece 更快。 - 通过一个 C ABI 提供 8 种语言绑定——Python、Node、Ruby、Go、Rust、.NET、Java、Swift。 - 为枯燥但有价值的任务而构建:基于 token 上限窗口 + 字节精确偏移的 RAG 分块,以及直接将数据集分词为 .bin/.npy 用于训练。 - 使用 Zig 0.16,AGPL-3.0 许可,约 1100 个测试。欢迎反馈,尤其是关于我遗漏的词表格式。 [https://github.com/sirus20x6/ztok](https://github.com/sirus20x6/ztok)
查看原文

相似文章

Gigatoken (GitHub Repo)

TLDR AI

Gigatoken 是一个即插即用的替代 tokenizer,声称相比 HuggingFace 的 tokenizer 速度提升高达 1000 倍,支持许多常见的 tokenizer 和 CPU。

ZipTok3D:使用紧凑标记前缀的高保真3D标记化

Hugging Face Daily Papers

ZipTok3D是一种3D标记器,通过将几何形状组织成紧凑的全局标记前缀并使用迭代解码,从极短的标记序列中实现高保真重建,在标记长度显著减少的情况下优于基线方法。