gigatoken

用 Rust 把分词速度拉到 GB/s,告别数据预处理瓶颈

gigatoken 是一个用 Rust 编写的高性能语言模型分词器,专注于将分词速度提升到 GB/s 级别。它解决了现有分词器(如 Hugging Face Tokenizers)在处理大规模文本时速度不足的瓶颈,尤其适合大模型训练和推理场景中的海量数据预处理。其核心能力包括:支持 BPE、WordPiece 等主流分词算法,提供与 Hugging Face Tokenizers 兼容的 API,并利用 Rust 的内存安全和并发特性实现极致性能。项目通过优化数据结构、使用 SIMD 指令和并行处理,显著降低了分词延迟,使开发者能够快速处理 TB 级语料,加速模型训练前的数据管道。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 4111
维护状态 较活跃
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队marcelroed
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Rust
技术栈/模型llm,nlp,tokenization,tokenizer
GitHub 星标★ 4111
30天Star增速
HF 下载量
上线时间2025-11-10 00:00:00
最近更新2026-09-22 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数4

使用教程

难度:入门 约 5 分钟 部署方式:库/依赖 4 步

环境要求

  • 已安装 Python 与 pip(README 未指定最低 Python 版本)
  • 一个已存在的分词器实例:HuggingFace Tokenizers 或 tiktoken(仅兼容模式需要)
  • 无需本地 Rust 工具链,README 仅提供 pip 安装方式

安装与启动步骤

  1. 1安装 gigatoken

    README 只给出 pip 这一种安装方式,直接在目标 Python 环境中执行即可;建议使用虚拟环境避免污染全局依赖。

    pip install gigatoken
  2. 2包装 HuggingFace 分词器

    导入 gigatoken,并用 gt.Tokenizer(hf_tokenizer).as_hf() 包装你已有的 HuggingFace 分词器,hf_tokenizer 需替换为真实实例。

    import gigatoken as gt
    
    # Minimum change from existing HuggingFace tokenizers usage (compatibility mode)
    hf_tokenizer = ...
    tokenizer = gt.Tokenizer(hf_tokenizer).as_hf()
  3. 3批量编码文本

    包装后的 tokenizer 可放在和原 hf_tokenizer 相同的调用场景中,用 encode_batch 一次传入多条文本进行批量分词。

    tokens = tokenizer.encode_batch(["This is a test string", "And here is another"])
  4. 4切换到 tiktoken 模式

    如果已有 tiktoken 分词器,用 as_tiktoken() 包装,之后即可按 tiktoken 的用法调用 encode_batch。

    tokenizer = gt.Tokenizer(tiktokenizer).as_tiktoken()
    tokens = tokenizer.encode_batch(["This is a test string", "And here is another"])

如何确认成功

执行 python -c "import gigatoken as gt" 无报错,且调用 tokenizer.encode_batch([...]) 能正常返回分词结果,即安装成功。

常见问题

Q:兼容模式的输出和 HuggingFace Tokenizers 完全一致吗?

A:README 说明已投入大量精力确保兼容模式下输出与 HuggingFace Tokenizers 完全一致,但这一致性会带来不可忽略的性能损耗。

Q:需要自己编译 Rust 吗?

A:README 只提供 pip install gigatoken 一种安装方式,未要求本地安装 Rust 工具链或从源码编译。

Q:gigatoken 比 HuggingFace 快多少?

A:README 标题称约 1000x faster,并说明 HuggingFace tokenizers 与 tiktoken 本身已是多线程 Rust 实现。

Q:支持哪些分词算法和分词器?

A:README 称支持 BPE、WordPiece 等主流分词算法,并可通过兼容模式对接 HuggingFace Tokenizers 与 tiktoken。

注意事项

  • 兼容模式为保证输出与 HuggingFace 完全一致会牺牲性能,追求极致速度时可考虑使用 gigatoken 自己的 API。
  • 对比基准中的 HuggingFace tokenizers 和 tiktoken 本身已经是多线程 Rust 实现,理解加速倍数时需注意这一点。
  • README 中 hf_tokenizer = ... 与 tiktokenizer = ... 是占位写法,实际使用时必须替换成你自己已加载的分词器对象。

核心亮点

  • 分词速度达到 GB/s 级别,比主流分词器快数倍,实测可大幅缩短大规模语料处理时间
  • 提供与 Hugging Face Tokenizers 兼容的 API,迁移成本低,可无缝替换现有工作流
  • 基于 Rust 实现,内存安全且支持并行处理,在多核 CPU 上能线性扩展吞吐量

不足之处

  • 项目仍处于早期阶段,API 和功能可能不够稳定,需要关注版本迭代
  • 文档和示例相对较少,新用户上手可能需要参考源码或社区讨论

适用场景

  • 大模型预训练前的大规模语料清洗和分词,提升数据管道效率
  • 实时推理服务中需要低延迟分词,减少请求响应时间
  • 研究或生产环境中处理多语言、超长文本的分词任务

替代项目

Hugging Face Tokenizers、tokenizers-rs、sentencepiece

项目介绍

gigatoken 是基础设施领域的开源项目,由 marcelroed 开发,2025 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(4,111)位列前 30%,在基础设施分类中处于中上游。

近 42 天,它的 GitHub 星标从 3,969 增加到 4,111,净增 142。

项目保持着较活跃的维护节奏,最近一次代码更新于 2026-09-22。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:大模型预训练前的大规模语料清洗和分词,提升数据管道效率。同类可对比的替代方案包括 Hugging Face Tokenizers、tokenizers-rs、sentencepiece。

上一篇:kimi-k3-in-c

下一篇:FastDeploy

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

Multi-account OpenAI-compatible gateway for coding models. Pooled keys, session life···

★ 213 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8684 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 439 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181484 2026-08-09