文章目录
- 1. Tokenizer介绍
- 1.1 tokernizer的使用
- 1.2 word embedding
- 1.2.1 词向量化(embedding)的介绍
- 1.2.2 词向量化的使用
- 1.2.3 自定义embedding的实现
- 2. BPE Tokenizer 的实现
- 2.1 bpe 算法的原理
- 2.1.1 BPE的核心思想
- 2.1.2 BPE算法执行流程
- 2.1.3 案例
- 2.2 BPE Tokenizer
- 2.2.1 代码的使用
- 2.2.2 代码的详解
- (1) train方法
- (2) encode
- (3) decode
- (4) 词表的save和load
- 总结
本系列会通过手写来做一个大模型,会实现一个参数量相对来说比较小的LLM大模型。本文会重点介绍分词器
tokenizer
的实现, 后续文章会基于一些问答数据集来训练我们的大模型。
1. Tokenizer介绍
1.1 tokernizer的使用
以通义千问为例说明,来介绍LLM大模型中Tokenizer的使用。
from modelscope import AutoModelForCausalLM, AutoTokenizer
device = "cuda" # the device to load the model ontomodel =