跳到主要内容

总览

本章节范围:把读者输入的字符串变成 Transformer block 能吃的张量 [s, h] 的完整链路——切分 (tokenization) → 查表 (embedding) → 注入位置 (position encoding) 三步。 目标读者:工程师 / 研究者;假设已读 02-大模型是什么,了解全景数据流。

范围与边界

  • 包含:为什么要 tokenize / 为什么 BPE / token id 到 $h$ 维向量的查表 / 为什么需要位置编码 / 绝对位置 (sinusoidal / learned) 与 RoPE 的基本概念。
  • 不包含 (各项外链)
    • 位置外推 / 长上下文 (YaRN / NTK / LongRoPE) → knowledge/03-长上下文/03-位置编码与外推
    • 注意力变体 (ALiBi 的相对位置编码思路) → knowledge/03-长上下文/04-注意力机制变体
    • Pre-LLM word embedding 范式 (word2vec / GloVe 的预训练机制) — 历史方法,仅在 03-token-embedding 末段一句话点到
    • 多模态 tokenizer (vision / audio token) — 不在本章,后续若开多模态章再补
    • Tokenizer 安全 / 对抗 (glitch token / prompt injection via 编码) — 工程话题,不在本章

名词定义

本章节子文档默认这些名词已定义,不再重复;父总览 1 总览 已定义的 (Token / Vocab / Embedding / Position encoding) 在此不重列。

名词定义
Subword tokenization把单词进一步切成子词单元的 tokenization 范式 (BPE / WordPiece / Unigram 都属此类),兼顾词表大小与序列长度
BPE (Byte Pair Encoding)从字节频次起步,反复合并最频繁的相邻 token 对,直到达到目标词表大小;兼任训练时的合并规则学习与推理时的贪心编码
Byte-level BPEBPE 在 byte (而非 unicode codepoint) 层面操作,保证任何字节串可逆 encode, GPT-2 起的事实标准
OOV (Out-Of-Vocabulary)输入里出现训练词表中不存在的词,word-level tokenizer 的根本缺陷;subword + byte-level 设计上消除 OOV
Embedding matrix形状 $[V, h]$ 的可学习参数矩阵,token id 通过查表 (gather/index) 得到 $h$ 维向量
Weight tying (权重共享)输入端 token embedding 与输出端 LM head 共享同一份 $[V, h]$ 权重 (转置使用);GPT-2/3 用,Llama 1-3 全 untie, Qwen 规模阈值 (7B+ untie), DeepSeek-V3 不 tie——详见 03-token-embedding
Position encoding (位置编码)给序列每个位置注入"我在第几个" 的信息;没有它 self-attention 看不到顺序
Sinusoidal PETransformer 原论文的位置编码方案,用不同频率的 sin / cos 给每个位置一个固定向量
Learned absolute PE用一个可学习的 $[s_{\max}, h]$ 矩阵给每个绝对位置一个向量;GPT-1/2 用
RoPE (Rotary Position Embedding)对 Q / K 在每个 2 维子空间做一个旋转,旋转角度随位置线性增长;让两个 token 的 attention 内积只依赖相对距离;现代主流 (Llama / Qwen / DeepSeek 等)

@tbl-tokenize-glossary 本章共享名词

子文档索引

按"text → tensor" 数据流顺序排列,每篇配独占技术内核 + 负边界 (脑暴契约,各篇写作时不重新讨论):

一句话独占技术内核 (写到深)负边界 (不展开,外链)
02-tokenization 与 BPE为什么不用 word / char, BPE 怎么算单词 / 字符 tokenization 失败的具体原因 (OOV / 序列长度 / 形态学),BPE 训练算法 (merge rule),编码 (greedy), byte-level vs unicode-level, vocab size 与 seqlen 取舍不展开 SentencePiece Unigram / WordPiece 实现,不讲 tokenizer 安全 (glitch token),不讲多语言分布失衡
03-token embeddingtoken id 怎么变成向量embedding matrix 形状与查表机制 (gather = one-hot × W),可学习参数与初始化,与 LM head 的 weight tying, embedding 空间几何直觉不讲 word2vec / GloVe 预训练 (前 LLM 时代),不讲 embedding scale 优化技巧,不讲多模态 embedding
04-位置编码attention 看不到顺序怎么办self-attention 排列不变性 (permutation-invariant),绝对位置 (sinusoidal / learned), RoPE 直觉 (Q/K 上的旋转 → 内积只依赖相对距离),为何 RoPE 取代绝对位置成为现代主流不讲位置外推 (YaRN / NTK / LongRoPE → 长上下文章),不讲 ALiBi 等 attention bias 思路 (长上下文 04-注意力机制变体),不推 RoPE 完整公式

@tbl-tokenize-index 子文档索引 (含边界契约)

与外部专题的接缝

外链主题在本章哪里引目标
位置外推 (RoPE 公式 + YaRN + LongRoPE)04-位置编码 末段knowledge/03-长上下文/03-位置编码与外推
ALiBi / 相对位置 attention bias04-位置编码 末段knowledge/03-长上下文/04-注意力机制变体
weight tying 在训练目标中的作用03-token-embedding 末段06-预训练/02-语言建模目标
词表大小对 LM head 计算的影响03-token-embedding 末段06-预训练/02-语言建模目标 + 08-推理/05-量化简介

@tbl-tokenize-external 与外部专题的外链对照

参考资料

教学蓝本:

关键论文:

章内交叉引用:父总览 1 总览 给全章节地图与共享名词 / 形状约定。