Published on

llama.cpp 分词器类型对比

llama.cpp 分词器类型对比指南 (Tokenizers Comparison)

核心区别 (Key Differences)

类型 (Type)算法 (Algorithm)英文全称适用模型 (Models)关键特性 (Key Features)
SPM字节级BPESentencePiece ModelLLaMA系列支持字节回退机制
BPE字节级BPEByte Pair EncodingGPT系列纯字节合并
WPMWordPieceWordPiece ModelBERT系列使用##前缀标记
UGMUnigramUnigram ModelT5系列基于概率的子词剪枝
RWKV贪婪字符级RWKV Tokenizer*RWKV系列直接字符分割
Type示例输入 → 输出
SPM"你"["▁你"]
BPE"hello"["he", "ll", "o"]
WPM"unhappy"["un", "##happy"]
UGM"hello"["h", "ello"]
RWKV"hello"["h","e","l","l","o"]

*注:RWKV是模型名称,非算法缩写

选型建议 (Selection Guide)

  1. SPM (SentencePiece)

    • 最佳中文支持
    • LLaMA/Mistral等现代大模型
  2. BPE (Byte Pair Encoding)

    • GPT-3/4等OpenAI系模型
    • 通用文本处理
  3. WPM (WordPiece)

    • BERT/RoBERTa等NLP模型
    • 形态复杂语言(德语/土耳其语)
  4. UGM (Unigram)

    • T5/mT5等序列到序列模型
    • 低资源语言优化
  5. RWKV

    • RWKV专属架构
    • 极简分词需求

技术指标 (Technical Metrics)

类型词表大小中文支持训练速度OOV处理
SPM★★★★★★★★★★★★★★★★
BPE★★★★★★★★★★★
WPM★★★★★★★★★★★★★
UGM★★★★★★★★★★★★★★
RWKV★★★★★★★

THE END