这个视频我将结合这个可视化Transformer解释器,以可视化的方式带你搞懂transformer的来龙去脉。

准备探索Transformer的神奇世界
准备好了吗,让我们一起探索Transformer的神奇世界。
可视化工具介绍
简单介绍一下这个工具,它是由GPT-2小型模型驱动的,使用方法很简单,在这里输入一行文本,点击这个Generate生成按钮,它就会动画演示transformer的处理过程,最后输入下一个词的出现概率。
文本生成Transformer的核心原理
文本生成Transformer模型的核心原理是下一词预测,用户输入一些文本提示,模型预测下一个最可能的词是什么。
Transformer的三个关键组件
从这个可视化工具中我们可以看到,每个文本生成Transformer模型包含以下三个关键组件,也就是嵌入层,Transformer层,以及输出概率层。
嵌入层:将文本转化为模型语言
最前边的是嵌入层,我们点开嵌入层,在这里模型需要将用户输入的文本转换成模型能够理解和处理的形式,主要过程包括,首先将用户输入的文本会被分割成token,它是单词也可能是子词。
例如我们输入一行文本Wish you have a good中,wish这个单词就被分割成了w和ish这2个token。然后这些token会被转换为一个数值向量,也就是词向量。
之后这些向量会被添加位置信息,为什么要添加位置信息,这是由于Transformer的核心通过计算每个token与其他token之间的关系来捕捉上下文。然而,自注意力机制本身是无序的,即它只关注token之间的关系,而不考虑它们的相对位置或顺序,例如句子“猫吃鱼”和“鱼吃猫”,如果没有位置信息,Transformer会将这两个句子视为相同的token集合,无法区分它们的语义差异。
继续看,然后模型会将token向量和位置信息相加得到最终的词向量,然后这些数据会被送入Transformer层。
层归一化:保持模型稳定
在被正式送到Transformer层时,这里还要经过一个层归一化的处理,层归一化处理的目的是通过调整数字使其均值和方差保持一致,从而保持数字的稳定性。
这使得模型对随机初始权重的敏感度降低,并有助于更好地学习。
我们可以看到在GPT-2中,层归一化会在以下三个位置进行:自注意力机制之前、MLP之前,以及MLP输出时。
Transformer层:核心处理单元
Transformer层是整个Transformer架构的核心,在GPT2小型模型中,包含了12个这样的Transformer层。
每层像一个“分析滤网”,逐层处理这些词向量,逐步提炼句子的上下文信息。每层Transformer会更新每个字符的词向量,使其包含更多上下文信息。
例如第1层可能关注简单的语法(比如“的”是修饰词)。
第5层可能关注更复杂的句法关系。
第12层可能捕捉高层次语义(比如“风真大”表示强烈的天气现象或者提醒需要注意安全)。
Transformer层的两个主要子层
每个Transformer层包含两个主要子层:自注意力机制(Self-Attention Mechanism)和前馈神经网络(Feed-Forward Neural Network, FFN)也就是这个MLP。
自注意力机制(Self-Attention)
在自注意力机制层中,每个token会被转换为三个向量:查询(Q)、键(K)和值(V)。
我们可以用传统网络搜索类比来帮助理解QKV的含义:
- Q 类似于你在搜索引擎输入的搜索文本
- K 类似于搜索结果页面中匹配到的网页标题,它表示你这个查询需要关注的潜在token。
- V 类似于显示的网页的实际内容。
在匹配了适当的搜索词(查询)与相关结果(键)后,我们希望获取最相关页面的内容(值)。
通过这些QKV值,模型可以计算注意力分数,从而确定生成预测时每个token应获得的关注度。
总的来说,自注意力层(Self-Attention)它会分析句子中每个字符与其他字符的关系,找出哪些字符对当前字符的理解最重要。
前馈神经网络(MLP)
自注意力层产生的词向量,接着会送给MLP,当然正式送给MLP处理时还要经过一次层归一化。
MLP接收来自注意力机制的词向量,它对来自注意力机制的输出的每个词向量进行进一步加工,提取更复杂的语义特征,增强模型的表达能力。
多层堆叠的强大效果
到这里一个Transformer层就处理完成,GPT-2中一共有12个这样的Transformer层,第一层处理完成后再进入下一层中继续处理,直到12个Transformer层全部处理完,每一层处理结束后都会使得上下文的信息变得更加丰富。
输出概率层:决定下一个词
最后对词汇表中的每个token根据模型的输出logit被分配一个概率,因为任何token都可能是下一个词,因此这过程允许我们根据其可能性对这些标记进行排名。
这些概率决定了每个token成为序列中下一个词的可能性,这里温度(temperature)参数在这个过程中起关键作用。
数学上,这是一个简单操作:模型输出logit除以温度:
- 温度=1:除以1对softmax输出没有影响。
- 温度<1:较低的温度使模型更自信和确定性,通过锐化概率分布,生成更可预测的输出。
- 温度>1:较高的温度创建更平滑的概率分布,允许生成文本中更多的随机性——也被称之为模型的“创造力”。
总结
至此,我们就了解了文本生成Transformer模型的内部运作基本原理,你现在明白了吗?


