每天5分钟搞懂大模型的分词器tokenizer(六):BBPE
BBPE是一种基于BPE的分词器,它是BPE的一种变种,是由Google Brain团队提出的。BBPE的全称是Byte-level BPE,它是一种基于字节级别的BPE分词器。
BPE参见之前的文章:搞懂大模型的分词器tokenizer(二):BPE (Byte-Pair Encoding)
BBPE的核心思想是将文本中的字符对(UTF-8编码中是字节对)进行合并,以形成常见的词汇或字符模式,直到达到预定的词汇表大小或者无法继续合并为止。
它和BPE的区别在于,BPE是基于字符级别character的,而BBPE是基于字节byte级别的。
BBPE具有如下的优点:
在这个分词器系列分享中,我们从最简单的word level,character level开始,讲述了按词和字符分词的优缺点;
接着我们介绍了sub-word level分词器,包括BPE,WordPiece,Unigram等;
最后我们介绍了两个变种,一个是SentencePiece工具,它将多语言视为Unicode字符序列,不依赖于特定语言的逻辑,SentencePiece可以基于BPE或者Unigram算法,(也可是BBPE算法);
另一个是BBPE算法,它是一种基于字节级别的BPE分词器,即最小单元是字节。
你已经掌握了分词器的基本原理和实现,接下来,我们将介绍更多关于大模型的知识,敬请期待!
仓库上有原始的Markdown文件,完全开源,欢迎大家Star和Fork!