阿里一面:Transformer从头问到脚。。。

我是丁师兄,专注于智能驾驶方向大模型落地,公众号:丁师兄大模型

大模型1v1学习,已帮助多名同学上岸国内外大厂


这是我训练营学员参加阿里通义的实习面试,进去主要做 RAG,帮他复盘面试的时候,他说 Transformer 是从头问到脚。

01解释一下transformer的Attention机制?

Attention 机制它主要是关注在输入序列中的不同部分,计算每个词与其他词的一个相关性。

主要有 4 个步骤:

  • 输入表示,将输入序列映射为查询、键、值三个矩阵,也就是公式中的 Q、K、V。

  • 通过点积计算 Q K 相似度并进行缩放。

  • 将相似度通过 softmax 转换为权重

  • 使用这些权重对值进行加权求和,得到 Attention 的输出

transformer 里面的多头注意力机制通过划分不同子空间,然后并行计算注意力,有效捕捉输入序列中更多的关系信息,解决了单一注意力机制可能出现的分辨率降低问题。

这使得 Transformer 模型能够更准确地理解和生成复杂的序列数据。

02说一下self-attention和cross-attention的关系?

这是 Transformer 中两种不同的注意力机制,Self-Attention 的作用是在同一个序列内,计算每个词与其他词的相关性,它在编码器和解码器的各层中,它的好处是能够捕捉序列中长距离依赖关系,处理整个输入序列,关注输入的不同部分。

cross-attention 的作用是在两个不同序列之间,通常是解码器计算当前生成的词与编码器输出之间的相关性。

它在解码器的层中,作用是将解码器生成的词与编码器的输入进行对齐,帮助解码器更好地理解输入序列。

问题:Transformer为什么要把全连接层要映射到一个更高的维度,又映射回原始维度?

全连接层映射到更高维度的目的是:

  • 提升特征表达能力:通过映射到更高维度,模型能够在更高维空间中学习和表示更加复杂的特征,提高特征的表达能力。

  • 增加非线性变换:更高维度的映射允许更多的非线性变换,使模型能够捕捉到输入数据中更复杂的模式和关系。

映射回原始维度两个目的:

  • 保持输入输出的一致性:映射回原始维度确保了特征的维度与输入一致,便于后续层的处理和连接

  • 信息整合和压缩:通过高维度的非线性变换和再压缩,模型能够整合和精炼特征信息,使其更具代表性和判别能力。

03多头注意力机制复杂度是多少?

从多头注意力机制的原理来看,多头的实现不是循环的计算每个头,而是通过split,transpose 和 reshape操作,结合矩阵乘法来完成的。

举个例子,假设头数是 m,序列长度是 n,隐藏层维度是 d,一个头的维度是 a,Transformer 中把隐藏层维度 d 做了拆分,拆成了 m 和 a 维的向量,使得 Q 和 K 的维度都是(m,n,a)。

这样点积可以看作大小为(m,n,a)和(m,a,n)的两个张量相乘,得到一个(m,n,n)的矩阵,其实就相当于(n,a)和(a,n)的两个矩阵相乘,做了 m 次,时间复杂度是:

𝑂(𝑛2⋅𝑚⋅𝑎)=𝑂(𝑛2⋅𝑑)

因此多头注意力机制时间复杂度也是 𝑂(𝑛2⋅𝑑),复杂度相较单头并没有变化,主要还是 transpose 和 reshape 的操作,相当于把一个大矩阵相乘变成了多个小矩阵的相乘。如果是多层的 transformer block,则需要乘以层数 L。

问题:训练大模型 Transformer 模型过程中,有什么可以缓解显存不足的办法?

这个问题可以从这几个方面去考虑:

(1)首先是模型结构方面:可以使用增量预训练或者参数高效微调,例如 LoRA、Ptuning,adapter 等方式训练。

(2)然后是考虑采用分布式训练优化技术:例如使用混合精度训练,使用 ZeRO 系列优化、重计算、如果显存严重不足,还可以考虑把 GPU 资源卸载到 CPU 上等。

(3)最后还可以从训练策略方面考虑:例如采用梯度累积方式,即多步计算才更新一次梯度。

END


我是丁师兄,专注于智能驾驶方向大模型落地,公众号:丁师兄大模型

大模型1v1学习,已帮助多名同学上岸国内外大厂

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值