Transformer 是近年来自然语言处理(NLP)中最核心的架构之一,BERT、GPT、ChatGPT 等模型的基础都来源于它。本文将用通俗易懂的方式,从输入到输出,详细梳理 Transformer 的整个执行过程。
首先,在拿到数据后要对数据进行处理,转换成机器能够读懂的形式,所以数据先进入嵌入层,进行数据预处理。
一、嵌入层(Embedding)
1. 分词(Tokenization)
以句子 "The boy is handsome" 为例:
分词后 → ["The", "boy", "is", "hand","some"]
将字符串拆成语言单位(词、子词、字等),是文本进入模型前的第一步。
2. Token 化
将分词后的文本转换为 Token ID(离散整数),Token ID 是模型词表中为每个 Token 分配的整数编码,类似将文字映射为计算机可处理的编码,是一一对应的:
比如可能在某个模型的词表里,上个例句所拆分的token就对应如下Token ID:
"The" → 103 "boy" → 2021 "is" → 87 "hand" → 3511 "some" → 501
值得注意的是:
-
一个词可能被拆成多个 token,如 handsome
→ ["hand", "some"] → [3511, 501]。 -
不同 tokenizer 分词器对
handsome拆分行为可能不同。BPE 可能是[hand, some],而 GPT 很可能不拆。
3. 向量查表(词嵌入)
词表是Token字典,是用来储存Token和Token ID映射关系的表格,这个词表也叫词嵌入矩阵。
如果词表里有 50,000 个 token,向量维度是 512,那么这个矩阵的形状就是:
[词表大小 × 向量维度]

最低0.47元/天 解锁文章
815






