大数跨境
0
0

给外行解释Token在Transformer中的旅程

给外行解释Token在Transformer中的旅程 AI工程化
2025-11-30
5

输入"the cat sat on the mat",Transformer模型要预测下一个词。这个过程涉及多个精密设计的组件,每个都在token的"旅程"中发挥关键作用。

进入模型前的准备工作

分词(Tokenization):原始文本被切分成标准化的token单位。现代分词器通常使用子词单位而非完整单词。"cat"可能对应token ID 537,"sat"对应1024。分词器的词表通常包含5万到10万个token。

词嵌入(Token Embeddings):每个token ID通过查找嵌入表转换为高维向量。假设使用768维嵌入,"cat"变成一个包含768个浮点数的向量。这些数字经过训练,使得语义相近的词(如"cat"和"kitten")在向量空间中距离较近。

位置编码(Positional Encoding):纯粹的词嵌入无法区分"cat sat on mat"和"mat sat on cat"。位置编码通过正弦和余弦函数为每个位置生成独特的向量,然后与词嵌入相加。第一个位置的"the"和第二个位置的"cat"现在有了不同的表示。

公式:PE(pos, 2i) = sin(pos/10000^(2i/d_model))
PE(pos, 2i+1) = cos(pos/10000^(2i/d_model))

经过位置编码后,每个token的768维向量既包含"是什么"也包含"在哪里"的信息。

Transformer层内部机制

大语言模型通常有12到96层Transformer块。每层包含两个主要组件:

多头注意力机制(Multi-Head Attention):这是Transformer的核心创新。以12头注意力为例,每个头关注不同的语言模式:

  • 第1头可能专注主谓关系,发现"cat"和"sat"的连接
  • 第3头可能处理介词短语,识别"on the mat"的结构
  • 第8头可能捕捉长距离依赖,连接句首和句尾的元素

注意力计算过程:

Key-Value机制简单解释:想象每个token都有三个身份,即Query表示"我需要什么信息",Key表示"我能提供什么信息",Value表示"我的实际内容"。以"cat"为例,它的Query可能表达"我需要动词信息",而"sat"的Key表达"我能提供动词信息",两者匹配度高。然后"cat"就会更多地融入"sat"的Value(实际语义内容)。Key向量在训练中自动学会编码词汇的语法功能——动物名词的Key相似,动词的Key相似,这样具有互补功能的词就能准确找到彼此。注意,这些信息都是通过训练获得的。
  1. 每个token生成Query、Key、Value三个向量
  2. Query与所有Key计算相似度得到注意力分数
  3. 分数经过softmax归一化为权重
  4. 用权重对Value向量加权求和

"cat"的Query向量会与句中所有token的Key向量计算相似度。如果"cat"与"sat"的相似度最高,那么"cat"的新表示会更多地融入"sat"的信息。

多头机制让模型同时关注多种语言关系。12个头并行工作,各自输出768/12=64维向量,最后拼接成完整的768维输出。

前馈神经网络(Feed-Forward Network):注意力机制负责信息交换,FFN负责信息加工。这是一个两层的全连接网络:

  1. 第一层将768维扩展到3072维(通常是4倍),使用ReLU激活
  2. 第二层压缩回768维

FFN对每个token独立处理,可以理解为对注意力层输出的"后处理"。它能识别复杂的特征组合,比如"动物+动作"的模式。

残差连接与层归一化:每个子层(注意力、FFN)都有残差连接,即输出=子层输出+输入。这确保信息不会在深层网络中丢失。层归一化则稳定训练过程,防止激活值过大或过小。

多层堆叠的效果

12层Transformer的处理过程是渐进式的:

  • 前几层关注局部语法结构,如词性、短语边界
  • 中间层处理句法关系,如主谓宾结构
  • 后几层整合语义信息,理解整句含义

"cat"的向量表示在每层都会更新。第1层后,它可能包含"名词"信息;第6层后,包含"句子主语"信息;第12层后,包含"执行坐这个动作的猫"的完整语义。

最终预测

经过所有Transformer层后,每个token都有一个丰富的768维表示。对于生成任务,模型关注最后一个token的表示(在这里是"mat")。

线性投影层:将768维向量投影到词汇表大小(比如50257维),每个维度对应一个可能的下一个token。这一步的权重矩阵包含了词汇表中每个词的"解码"向量。

Softmax归一化:将原始分数(logits)转换为概率分布。所有概率之和为1。

最终结果可能是:

  • "purred": 0.15
  • "meowed": 0.12
  • "jumped": 0.08
  • "exploded": 0.0001
  • ...

模型通常选择概率最高的token,但也可能使用采样策略增加输出的多样性。

整个过程的精妙之处在于,模型学会了将离散的语言符号映射到连续的向量空间,在这个空间中进行复杂的几何变换来捕捉语言规律,最后再映射回离散的词汇空间产生输出。每个数字、每次矩阵乘法都承载着对语言结构的理解。

原文:https://machinelearningmastery.com/the-journey-of-a-token-what-really-happens-inside-a-transformer/

看的不过瘾,这里还有更多面向非机器学习背景的学习内容:

关注公众号回复“进群”学习更多有趣知识。

【声明】内容源于网络
0
0
AI工程化
专注于AI领域(大模型、MLOPS/LLMOPS 、AI应用开发、AI infra)前沿产品技术信息和实践经验分享。
内容 584
粉丝 0
AI工程化 专注于AI领域(大模型、MLOPS/LLMOPS 、AI应用开发、AI infra)前沿产品技术信息和实践经验分享。
总阅读125
粉丝0
内容584