部署DeepSeek模型,进群交流最in玩法!
立即加群
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >LLM学习笔记:如何理解LLM中的Transformer架构

LLM学习笔记:如何理解LLM中的Transformer架构

原创
作者头像
叫我阿柒啊
发布2025-03-10 18:06:54
发布2025-03-10 18:06:54
1290
举报

前言

AI已经在我们的工作和生活中全面开花了,好久之前在GPT、混元大模型出来的时候,就想着能够学习一下关于AI的知识,所以这次打算从LLM开始学习,就问DeepSeek关于LLM的学习路线,DeepSeek就提到了Transformer架构

Transformer

Transformer 是一种深度学习模型,主要用于自然语言处理(NLP)和计算机视觉(CV)等任务。它的核心功能是 处理和生成序列数据,比如:

  1. 语言理解(如文本分类、情感分析)
  2. 文本生成(如 ChatGPT、腾讯元宝)
  3. 代码生成(如 Copilot、腾讯云AI代码助手)
  4. 图像生成(如 Stable Diffusion 的文本解析部分)

上面都是我们比较熟悉的一些场景,尤其在之前研究stable diffusion的时候,也接触到了Transformer。

Transformer将Embedding处理成stable diffusion中的潜在向量,然后进入到Unet模型中用于图像去噪。

组成

Transformer 由 编码器(Encoder)和解码器(Decoder) 组成,根据我认知就是:编码器用于输入,解码器用作输出。

Encoder

Encoder 是将输入的文本转换为一个固定长度的表示,通常是一个向量或一组向量,例如上面提到的stable diffusion中的 text transformer。但是它不是简单单个字词的转换,而是要根据文本中的上下文进行转换。

Encoder 由多个相同的层堆叠而成(如 6 层或 12 层),每一层包含两个主要组件:Self-Attention 机制前馈神经网络(Feed-Forward Network, FFN)

1. Self-Attention

Self-Attention 机制:让模型在处理每个词时,能够关注输入序列中的其他词,从而捕捉上下文信息。

例如:

“苹果公司昨天发布了一款新手机,它的屏幕更大了。”

我们很轻松知道指的是新手机,那么计算机怎么知道这个是新手机的呢?为什么不能是苹果、苹果公司呢?这就不得不提到 自注意力机制(Self-Attention)

当模型处理 “它” 这个词时,Self-Attention 会计算它和所有单词的相关性:

苹果

公司

昨天

发布

一款

手机

屏幕

0.1

0.05

0.02

0.1

0.2

0.1

0.5

-

0.1

0.3

0.1

0.1

0.05

然后计算机知道“它”最可能代指的就是手机。

2. Feed-Forward Network

前馈神经网络(Feed-Forward Network)是对 Self-Attention 的输出进行非线性变换,这样每个单词不再是再是简单的直线关系。

例如:“猫喜欢鱼”。

Self-Attention 可以找出句子里单词之间的关系,模型会知道 "猫" 和 "鱼" 有关系。

而Feed-Forward:对每个单词再加工,强化信息,比如:

  1. “猫” 可能是 主语
  2. “喜欢” 代表 情感
  3. “鱼” 可能是 食物

这样让 Transformer 更好地学习每个词的特征,增强了模型的理解能力。

Decoder

Decoder 的作用是将 Encoder 提供的编码结果转换为最终的输出。例如在机器翻译中,Encoder 先将输入句子转换成向量,Decoder 再根据这个向量生成目标语言的翻译。

与 Encoder 类似,Decoder 也由多个相同的层堆叠而成(6层或12层),但每一层包含三个主要组件:

  1. Masked Self-Attention 机制
  2. Encoder-Decoder Attention
  3. 前馈神经网络(Feed-Forward Network, FFN)
1. Masked Self-Attention

Masked Self-Attention 机制与 Encoder 的 Self-Attention 机制类似,也用于捕捉上下文信息,但它有一个额外的 mask(掩码)机制。

在语言模型生成任务中,Decoder 是 从左到右 逐步生成输出单词的。因此,在预测当前单词时,不能看到未来的单词。Masked Self-Attention 通过掩码隐藏未来的单词,确保模型在解码时 只能依赖已经生成的部分,不会提前“偷看”答案。

例如,我们让模型生成句子:“我 喜欢 吃 苹果”。在预测“吃”时,模型只能看到“我 喜欢”,而看不到“苹果”:

喜欢

苹果

0.5

0.4

-

-

其中,“吃” 只能关注“我”和“喜欢”,不能看到“苹果”,如果在“吃”的时候,就看到“苹果”,那么训练不仅失去了从左向右的逻辑,而且也失去了让模型学会如何基于上下文逐步预测单词的意义。

2. Encoder-Decoder Attention

Encoder-Decoder Attention 允许 Decoder 关注 Encoder 输出的信息。这部分的作用是让 Decoder 结合 Encoder 提供的全局信息,以确保文本生成时语义连贯。

举个例子,如果 Encoder 处理的句子是:

Apple released a new phone yesterday."

Encoder 生成了一个向量表示。Decoder 需要根据这个向量生成目标语言翻译:

"苹果公司昨天发布了一款新手机。"

在生成 "苹果公司" 时,Decoder 需要关注 Encoder 输出中的 "Apple", 在生成 "手机"时,需要关注 "phone"。Decoder 在不同的时间步会关注不同的 Encoder 输出,从而生成符合上下文的翻译。

3. Feed-Forward Network

前馈神经网络(Feed-Forward Network)与 Encoder 相同,主要用于对 Encoder-Decoder Attention 机制的结果进行进一步加工。

例如,在翻译句子 "I love coding." 时:

  1. Masked Self-Attention 让 Decoder 仅关注已生成的部分
  2. Encoder-Decoder Attention 让 Decoder 关注 Encoder 提供的源语言信息,例如翻译”爱“的时候,知道对应的单词是"love"。
  3. Feed-Forward 进一步调整 “love” 这个单词的表示,例如love可以翻译成喜欢、爱、热爱等,Feed-Forward 会找到一个最适合的词义。

最终,Decoder 依次输出目标句子的单词,如:"我 热爱 编程"。

总结

本篇文章主要是对 LLM Transformer 学习笔记的一个整理,内容更多的是一些概念性的东西,主要是了解 Transformer 的相关知识,为下一步的学习奠定基础。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Transformer
  • 组成
    • Encoder
      • 1. Self-Attention
      • 2. Feed-Forward Network
    • Decoder
      • 1. Masked Self-Attention
      • 2. Encoder-Decoder Attention
      • 3. Feed-Forward Network
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档