补全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系列,初始化一个大词表,按照删去最不重要的,逐步把词表降到预计规模

浙公网安备 33010602011771号