补全llm知识体系的地基:tokenizer基础

Tokenizer:输入文本,输出分词结果,该分词结果可以进行text embedding(即,在已知词表的情况下,输入的input_ids)

1. 切分方式:基于字、词和subword

  • 字粒度太细、序列太长
  • 基于词的无法学到词缀含义,且词表太大
  • subword保留高频词,低频词切分为子词

2. 切分流程

  • Normalization:去除音调和多余空格、换行、转小写
  • 预分词:基于空格、标点等进行初步切分
  • 基于分词模型的切分:BPE等
  • 后处理:添加special token等

3. 分词模型

  • BPE:Byte Pair Encoding
    • 训练:
      • 构筑原始词表,按字,并记录位置
      • 统计相邻字组成的pair,将最高频的合并,添加合并规则
      • 将合并规则应用到原始词表和语料上
      • 重复这一过程,直到词表大小达到预期规模
    • 推理:
      • 输入预分词结果
      • 分割成字符序列
      • 应用所有合并规则
    • 改进:Byte-level BPE:最小单元从字符下降到Byte
  • 其他:
    • WordPiece:Bert系列,把合并依据从词频改成互信息
    • Uni'gram:T5系列,初始化一个大词表,按照删去最不重要的,逐步把词表降到预计规模
posted @ 2025-05-16 16:26  Phile-matology  阅读(23)  评论(0)    收藏  举报