人人都能听懂的大白话 Transformer 技术原理

▼最近直播超级多,预约保你有收获

今晚直播:开发框架应用案例实战

 1

Transformer 网络架构剖析

几乎所有主流的大模型都是基于 Transformer 网络架构构建的,Transformer 的重要性不言而喻。大模型可以类比人类的大脑,那么 Transformer 就可以类比人类大脑中的神经网络结构。

Transformer 网络结构最核心的组成部分为:编码器(Encoder)和解码器(Decoder)。编码器负责提取信息,通过细致分析输入文本,理解文本中各个元素的含义,并发现它们之间的隐藏关系。解码器依托编码器提供的深入洞察,负责生成所需的输出,无论是将句子翻译成另一种语言、生成一个精确的摘要,还是写代码。

第一、编码器(Encoder)架构剖析

编码器从 “输入嵌入” 开始,每个单词都从文本形态转换为数值向量,给每个单词配上了一个独一无二的 ID。

比如:输入文本 “The cat sat on the mat.”

在输入嵌入层,每个单词都被翻译成一个数值向量,这些向量不仅捕捉了单词的含义,还包括:

  • 语义关系(比如:“cat” 和 “pet” 更近,而不是和 “chair”);

  • 句法角色(比如:“cat” 通常作为名词,“sat” 作为动词);

  • 句中上下文(比如:这里的 “mat” 很可能是指地垫)。

向量表示如下:

  • “The” -> [0.6, 0.5, -0.1, ...]

  • “cat” -> [0.9, -0.3, 0.4, ...]

  • “sat” -> [-0.8, 0.7, 0.2, ...]

但编码器的工作远不止于此,它还使用了一些关键技术来进一步深入。

自注意力机制是其中的革命性创新。想象为对每个单词打开一束聚光灯,这束光不仅照亮了该单词,还揭示了它与句中其他单词的关系。这让编码器能够理解文本的全貌 —— 不只是孤立的单词,还有它们之间的联系和细微差别。

65550f2b9924a14948d53aec663cbcaf.png

这个句子中的 it 指的是什么?是指 animal 还是 street ?对人来说,这是一个简单的问题,但是算法来说却不那么简单。

当模型在处理 it 时,自注意力机制使其能够将 it 和 animal 关联起来。

自注意力机制为每个单词生成了三个特殊的向量:“查询(Query)”(询问我需要什么信息)、“键(Key)”(标示我有什么信息)和 “值(Value)”(实际的含义和上下文)。

然后,通过比较每个单词的 “查询” 向量与其他所有单词的 “键” 向量,自注意力层评估了各个单词之间的相关性,并计算出注意力得分。这个得分越高,表示两个单词之间的联系越紧密。

最后,自注意力层根据注意力得分加权处理 “值” 向量,这就像根据每个单词与当前单词的相关度,取了一个加权平均值。

c6bb31b1e7f940e3184192df23da9f9b.png

通过考虑句中其他单词提供的上下文,自注意力机制为每个单词创建了一个新的、更丰富的表示。这种表示不仅包含了单词本身的含义,还有它如何与句中其他单词关联和受到影响。

多头注意力机制(Multi-Head Attention)可以被理解为有多个分析小组,每个小组关注于词与词之间关系的不同层面。这使得编码器能够全面捕获词义之间的多元关系,从而深化其对语句的理解。

还以句子

d3968cb461ff674d8858213cfb72f535.png

为例。

在多头注意力机制中,不同于只使用一个自我关注机制,我们有多个独立的 “头部”(通常是 4 到 8 个)。每个头部都针对每个词分别维护一套查询(Query)、键(Key)和值(Value)向量。

这种机制下的注意力是多样化的:每个头部根据不同的逻辑计算注意力得分,聚焦于词间关系的不同方面:

  • 一个头部可能专注分析语法角色,比如 “animal” 和 “cross” 之间的关系。

  • 另一个可能关注词序,比如 “The” 和 “animal” 之间的顺序。

  • 还有的头部可能识别同义词或相关概念,例如将 “it” 和 “animal” 视为相近的词。

通过结合这些不同头部的观点,每个头部的输出被汇总,综合不同的洞察力。

最终综合的表示形式包含了对句子更加丰富的理解,涵盖了词与词之间的多样化关系,而不仅仅是单一视角。

到目前为止,我们所描述的 Transformer 网络架构中缺少一个东西:表示序列中词顺序的方法。为了解决这个问题,Transformer 为每个输入的词嵌入向量添加一个位置向量,即位置编码(Positional Encoding)是为了补充 Transformer 无法直接处理词序的不足,加入了每个词在句中位置的信息。

这样,每个词的原始向量与其位置向量相加,形成了一个既含有词义也含有位置信息的新向量。

即便句子的顺序变化,位置向量也能保持词之间的相对位置关系,使得大模型能准确理解词与词之间的连接。

第二、解码器(Decoder)架构剖析

现在轮到解码器承担任务。与编码器不同的是,解码器面临着额外的挑战:在不预见未来的情况下,逐字生成输出。为此,它采用了以下几个策略:

  • 掩蔽自注意力:类似于编码器的自注意力机制,但有所调整。解码器仅关注之前已生成的单词,确保不会利用到未来的信息。这就像是一次只写出一个句子的故事,而不知道故事的结局。

  • 编码器 - 解码器注意力:这一机制允许解码器参考编码好的输入,就像写作时回头查看参考资料一样。这确保了生成的输出与原始文本保持一致性和连贯性。

  • 多头注意力和前馈网络:与编码器相同,这些层帮助解码器深化对文本中上下文和关系的理解。

  • 输出层:最终解码器将其内部表征逐一转化为实际的输出单词。这就像是最后的装配线,把所有部件组合起来,形成期望的结果。

94dba0716350514e7db92df04a0b8304.png

 2

新年领取《AI 大模型技术知识图谱

最近很多同学在后台留言:“玄姐,AI 大模型技术的知识图谱有没?”、“AI 大模型技术有学习路线吗?”

我们倾心整理了 AI 大模型技术的知识图谱《最全 AI 大模型技术知识图谱》和学习路线《最佳 AI 大模型技术学习路线》快来领取吧!

AI 大模型技术体系的确是相对比较复杂的,如何构建一条清晰的学习路径对每一个 IT 同学都是非常重要的,我们梳理了下 AI 大模型的知识图谱,主要包括12项核心技能:大模型内核架构、大模型开发 API、开发框架、向量数据库、AI 编程、AI Agent、缓存、算力、RAG、大模型微调、大模型预训练、LLMOps 等12项核心技能。

2b883b982520f5e70861fdb655654d98.png

为了帮助每一个程序员掌握以上12项核心技能,我们准备了一系列免费直播干货扫码一键免费全部预约领取

ff687981f9f19a84220dec4d407e8406.png

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值