用途:HuggingFace Tokenizers 提供快速、可用于生产环境的分词能力,底层由 Rust 实现,对外暴露 Python API。适用于高性能分词、从零训练自定义分词器、追踪 token 与原文对齐,以及构建生产级 NLP 流水线;支持 BPE、WordPiece、Unigram 等分词方式。
主要能力:可加载预训练分词器(如 Tokenizer.from_pretrained("bert-base-uncased")),执行编码与解码,读取 output.ids、output.tokens、output.attention_mask、output.offsets、output.word_ids 等结果。支持批量编码 encode_batch,并可通过 enable_padding、enable_truncation 统一处理填充与截断。可训练自定义词表:BPE 使用 BpeTrainer 与 ByteLevel 预分词器,WordPiece 使用 WordPieceTrainer 与 Whitespace 预分词器,可设置 vocab_size、special_tokens、min_frequency。还提供预分词器(Whitespace、ByteLevel、BertPreTokenizer、Punctuation、Sequence)、后处理(TemplateProcessing,如 BERT 的 [CLS]/[SEP])与归一化(NFD、NFKC、Lowercase、StripAccents、Sequence)。
使用方式:训练后可用 tokenizer.save("tokenizer.json") 保存,用 Tokenizer.from_file 加载;也可通过 PreTrainedTokenizerFast(tokenizer_object=tokenizer) 包装以兼容 transformers,并配合 return_tensors="pt" 使用。
适用场景与限制:适合需要速度、自定义训练与生产部署的文本处理;与 SentencePiece(T5/ALBERT、语言无关)、tiktoken(OpenAI GPT 模型)定位不同。资料未提供具体性能基准、收费、价格或平台支持范围,暂未提供。官方文档见 https://huggingface.co/docs/tokenizers/ ,代码仓库见 https://github.com/huggingface/tokenizers 。