01学习目标
- 手写一个最小 BPE
- 理解 token 数与成本、上下文长度的关系
- 理解嵌入与余弦相似度
建议先学:CNN、RNN 与注意力的诞生
02站内正文
03要掌握的算法
每张卡都有原始论文、前置和学习资料。
BPE 子词分词Byte-Pair Encoding (BPE) Tokenization 反复合并最常见的字符对,得到子词词表。 2015核心 Word2Vec 词向量Word2Vec 用“上下文预测词”学到能做加减法的词向量。 2013核心 句向量(Sentence-BERT)Sentence Embeddings (Sentence-BERT) 把整句话编码成一个向量,用余弦相似度比较语义。 2019核心 SentencePiece 分词SentencePiece Tokenization 直接在原始文本上训练子词分词器,不依赖空格,适合中文等语言。 2018核心 GloVe 词向量GloVe 用全局词共现统计训练词向量,和 Word2Vec 齐名。 2014扩展 ELMo 上下文词向量ELMo (Contextual Word Embeddings) 用双向 LSTM 语言模型,让同一个词在不同句子里有不同向量。 2018扩展
04必读论文
05课程与视频
06动手:项目、代码与练习
全部是官方或作者公开的免费页面,多数能在浏览器或免费 Colab 里直接运行。
动手项目
跟随 minbpe 在中文语料上训练一个 4K 词表的 BPE,比较它与 tiktoken 对同一段中文的 token 数。
- 1
- 2
- 3
07自测题
先自己想,再点开看答案。
为什么中文常常比英文更“费 token”?
词表中中文合并较少,一个汉字可能占 1 个以上 token。
BPE 如何处理没见过的新词?
拆成已知子词或字节。
嵌入向量相似说明什么?
语义或用法相近。