1.Transformer是什么?

用于训练大模型的基础底座。举个例子,Transformer是“空商铺”,大模型是“装修后、进货后、能实际经营的商铺”。所有AI“营业”都离不开底层的商铺结构(即Transformer架构)。

2.如何训练?

分两种:

  1. 有监督训练:提供问题(原文)和答案(目标文),让大模型学习,提供的越多,下次问的时候,回答的越准(其实更应该说接不接近你提供的答案,准不准取决你提供的答案是否客观,比如你非要告诉大模型“我比吴彦祖更帅”这种答案,那也不是不行😏);

  2. 无监督训练:提供原文,让模型进行分类、预测等。

3.怎么就能让模型学会呢?

弄清“怎么让大模型学会”这个问题之前,得先知道“大模型的工作原理”。

3.1 大模型工作方式

首先,大模型不是简单的K-V词表这种根据问题匹配答案这种简单直给的方式。它是根据输入的文本,“预测/推测”应该输出的文本。

怎么理解“预测/推测”?

举个例子,你熟读《西游记》,我问你“奔波儿霸和霸波儿奔哪个更适合红烧”?《西游记》里肯定没告诉过你"标准"答案吧,但是大模型可以推测出“奔波儿霸更适合红烧”。

这里面,大模型结合《西游记》得知信息A:“奔波儿霸是鲇鱼怪,霸波儿奔是黑鱼怪”,然后再结合自身已有数据集(可来源于联网搜索)得知信息B:“鲇鱼适合红烧,黑鱼适合清蒸”,最后整合信息A+B,进而预测/推测出”奔波儿霸更适合红烧“这一答案。

上面的例子也只是介绍了大模型的工作方式-预测/推测,那么它究竟是如何预测/推测的呢?

📢说人话:大模型根据用户输入文本中的每个词的”关系“,和大模型自身已有数据集做”词关系匹配“,然后得出从匹配到的词中挑选概率最大的作为预测/推测答案,输出给用户。
在这里插入图片描述

3.2 Transformer如何让大模型学会预测/推测

📢说人话:(以有监督模型训练为例)用户提供原文(问题)和目标文(答案),transformer通过编码器和解码器计算出原文中每个词在整个词表的概率分布(output probabilities),再将这些概率与目标文做对比,反向传播来更新大模型的参数。

这个过程也叫“数据喂养”。

数据喂养并不是人工一个个输入,而是:

  1. 全自动批量训练

    数据科学家/工程师会提前收集、整理、清洗好“问题-答案对”、“原文-目标文对”等大规模数据集。
    这些数据集可能来源于百科、网络、书籍、论坛、对话日志等,量级从几百万到上百亿对。
    训练时,模型“一次加载一批数据”,每批通常上千个样本,自动并行计算。

  2. 高效并行与硬件加速

    现代训练框架和硬件(如GPU/TPU)支持“批处理”,能同时用数百、数千块显卡训练,极大提高效率。
    参数更新、损失计算等都可以高度并行。

  3. 不是人工操作,是自动化流水线

    数据标注和收集虽然前期成本高,但一旦数据集准备好,训练过程几乎无需人工干预。
    大模型训练往往持续数天、数周,甚至一个月,自动“刷题”洗脑式学习。

  4. 多样化数据覆盖

    只要数据量足够,模型就能学会“泛化”,不需要每一个具体问题都人工输入,见得多了自然能举一反三。

4.Transformer-框架

想必大家肯定眼熟下面的transformer框架图
在这里插入图片描述

看起来真麻烦,我们拆解一下,实际上就下面几个组件:
在这里插入图片描述

  1. 输入嵌入/词嵌入(Input Embedding)

📢说人话:把你输入的每个字、词或者符号,查表换成一串数字(向量),让AI能“看懂”你的原始内容。

  1. 位置编码(Positional Encoding)

📢说人话:给每个词加上表示“第几个”的数字标签,让AI知道顺序,比如“猫在沙发上”和“沙发在猫上”不是一回事。

  1. 多头注意力(Multi-Head Attention)⭐️⭐️⭐️

📢说人话:就像开会时每个人能从不同角度同时观察大家,模型一次性考虑每个词和其它所有词的关系,找出谁和谁最有联系。计算的是“每个词和其它所有词之间的关系”,本质是用QKV矩阵做加权、融合,全局交流、信息流动。

  1. 残差连接与层归一化(Residual & LayerNorm)

📢说人话:防止AI“忘本”或训练出问题,把当前结果和原始输入直接相加,再统一调整标准,保证学习稳定又灵活。

  1. 带掩码的多头注意力(Masked Multi-Head Attention)⭐️⭐️⭐️

📢说人话:主要用于生成文本时,防止模型“偷看答案”,只能用前面生成的内容预测下一个词,保证一步一步往前写。

  1. 前馈神经网络(Feed Forward Network, FFN)

📢说人话:每个词的向量单独送进一个“小型神经网络”,让表达更丰富,理解更到位,相当于“会后个人总结”,这样做可以优化输出内容的表达能力。

4.1 词嵌入(Input Embedding)

词嵌入之前需要先对原文做分词(主流分词工具:Word2Vec),分词不在Transformer框架内,暂不赘述。

📢说人话:“Embedding”在字面上的翻译是“嵌入”,但在机器学习和自然语言处理的上下文中,我们更倾向于将其理解为一种“向量化”或“向量表示”的技术,这有助于更准确地描述其在这些领域中的应用和作用。

  1. 查表映射

每个词/字/子词(token)(如“猫”、“的”、“love”)有一个唯一编号(id)。
模型内部有个“嵌入表”(embedding table),
行数 = 词表大小(如5万)
列数 = 向量长度(如512、768等)

  1. 把id变向量

输入token序列就是一串id,比如[101, 2323, 5, …]
Embedding层直接查表,把每个id换成一行向量,比如[0.1, 0.2, …, 0.7]。

  1. 最终输出

得到一个[N, D]的矩阵(N为token数,D为向量维度),作为Transformer主干的输入。

这些向量的意义

向量最初是随机的,训练过程中会不断被优化。
经过训练后,每个token的向量会学到它的“语义、用法、上下文”特征。
例如“猫”和“狗”的向量在高维空间距离很近,“猫”和“汽车”就很远。

4.2 位置编码(Positional Encoding)

📢说人话:transformer本身不包含循环或者卷积结构,无法直接理解输入文本中每个词/字/子词(token)的顺序信息。因此,transformer引入位置编码机制来为模型提供每个词/字/子词(token)在文本中的顺序信息。

位置编码是通过一组正弦和余弦函数来实现的,位置编码的维度和词嵌入向量的维度相同,因此它们之间可以直接相加运算。

4.3 多头注意力(Multi-Head Attention)

灵魂3问:

  1. 怎么理解“注意力”?

对于下图,我们人类的视觉通常最先关注的部分就是热力图中的红色部分,进而推断出图中是一只狼。而“对关键信息优先、集中关注”就是我们的注意力。

注意力机制:一种允许模型在处理信息时专注于关键部分,忽略不相关信息,从而提高处理效率和准确性的机制。

在这里插入图片描述

  1. 怎么量化“注意力”?

使用注意力分数量化“注意力”,分数越高代表该信息越关键,越值得关注。因此,也可以把注意力分数理解成信息数据的权重。

  1. 怎么计算“注意力分数”?⭐️

📢说人话:注意力分数 = 多个词向量矩阵运算结果。

整个过程如下图:
在这里插入图片描述

对于成熟的大模型来说,权重矩阵就是“现成的”——这些矩阵在模型公开发布前,已经通过大量数据和长时间训练优化好了。

  1. 怎么理解“Q、K、V矩阵”?

用“买手机”来解释QKV:

你来到手机店,面对琳琅满目的手机,每部手机都像一句话里的一个词。

  1. Q(Query,需求清单)

你带着自己的购物需求(Q),比如你特别关注拍照效果、续航、价格等。

  1. K(Key,主打标签)

每部手机都有自己的“主打标签”(K),比如A手机主打“超强夜拍”,B手机主打“超长续航”,C手机主打“性价比高”。

  1. V(Value,实际参数)

每部手机都有一张详细配置表(V),比如像素多少、电池容量、售价等,这些是你最终能查到的真实参数。

流程:

你拿着Q(需求),一个个比对每部手机的K(主打标签),发现A手机的“夜拍强”刚好是你关注点,你就会重点去看A的V(拍照参数);B手机的“续航”标签也和你Q匹配,你也去查查B的V(电池数据)。

总结:

  • Q是你买手机时最关心的点
  • K是每部手机希望吸引你的“标签”
  • V是每部手机能拿出来给你看的真实配置

你会根据Q和K的匹配度,综合采纳每部手机的V参数,最后选出最合适自己的手机。Q、K、V分工合作,让你能快速从海量信息里抓到最适合自己的内容。

4.4 残差连接与层归一化(Residual & LayerNorm)

📢说人话:对注意力机制得到的注意力分数数据进行调优。

  • 残差链接:解决深度学习中出现网络退化问题的有效技术;
  • 层归一化:对数据进行线性或非线性的预处理,保障输出的数据分布具有稳定的均值和方差

深入了解可参看:Transformer-Add & Norm

4.5 带掩码的多头注意力(Masked Multi-Head Attention)

📢说人话:给注意力分数矩阵(Q和K的运算结果)加上“掩码”,然后用加了掩码的注意力分数矩阵参与后续V的加权融合。

掩码的本质是把不允许关注的位置(比如未来的词)强行设成极小值(-∞),softmax后概率就是0,相当于“看不见”。

通俗比喻:

  • 普通注意力机制:开会大家随便发言、听全场。
  • 带掩码的注意力机制:后排同学只能听到自己和前排的发言,不能听见后排的内容。

这样可以让模型“按顺序一步步生成”,避免作弊。

4.6 前反馈神经网络(Feed Forward Network, FFN)

📢说人话:每个词的向量单独送进一个“小型神经网络”(比如:全连接层→激活→全连接层),让表达更丰富,理解更到位,相当于“会后个人总结”。之所以要加FFN(前馈神经网络)这个步骤,是因为经过专业人士验证后,发现只靠多头注意力,模型的表达能力和“变形空间”还不够丰富,FFN可以给每个词的向量“加一层独立的、复杂的特征加工。

关于FFN中的“小型神经网络”3问:

  1. FFN也是个“数据模型”吗?
  • 是的!FFN本质就是一个非常简单的神经网络(通常2层MLP),参数和权重也是模型训练出来的数据。
  • 它的“输入”是每个词的向量,输出是变换后的向量。
  1. 在Transformer中是固定的吗?
  • 结构是固定的:比如“升维-激活-降维”的设计通常在模型定义时就写死了。
  • 参数是可训练的:每一层FFN都有自己的参数,训练时会更新。
  1. 可以手动更换吗?
  • 理论上可以,只要你愿意修改模型结构代码(比如换成3层、加残差、改激活函数等),甚至可以把FFN换成卷积、门控单元等别的结构。
  • 但是这样做会让模型偏离标准Transformer架构,效果和兼容性要自己验证。

5.总结

最后咱们再来回过头看一下Transformer的框架图,就可以发现它就是由这6个基础组件构成的。
在这里插入图片描述

  • 图中左侧部分就是我们常听说的Transformer-Encoder编码器;
  • 图中右侧部分就是我们常听说的Transformer-Decoder解码器;
  • 图中Nx代表编码器、解码器并非单一,而是循环N次,通常“循环”6~24层(小模型),大模型可到几十上百层,由任务复杂度和硬件资源决定。

本文仅介绍了Transformer主干(编码器、解码器、注意力机制、FFN、归一化),而输入前的“分词(Word2Vec)”和输出头(在主干后面“加一层”,把最终的隐藏向量映射到具体任务空间,如分类类别、词表、标签等)均不在本文介绍范围内,有兴趣的可以继续扩展了解。

如有错误,还望不吝指教🙏🏻。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐