以LLaMA 为代表的模型是大模型主流架构Decoder-only的典型代表,相对于基础Transformer中的decoder模块,本文主要围绕LLaMA 结构的核心组成和主要变化点,介绍以下内容:

1)LLaMA架构的核心组成部分模块MHA和FFN的结构拆解。
2)每个模块的归一化和激活函数,相对于基础transformer变化原因。
3)LLaMA系列模型发展及衍生模型介绍

1,LLaMA 架构介绍

LLaMA (Large Language Model Meta AI)是Meta 发布的一款开源模型,和 GPT 系列一样,LLaMA 模型也是 Decoder-only 架构,其主要的改进如下:

  • • Pre-norm。 为了提高训练稳定性,LLaMA 对每个 Transformer 子层的输入进行归一化,使用 RMSNorm归一化函数,好处是不用计算样本的均值,速度提升了40%
  • • FFN_SWiGLU 。结构上使用门控线性单元,且为了保持 FFN 层参数量不变,将隐藏单元的数量调整为原来的三分之二,而不是论文中的 4d,同时将 ReLU 替换为 SiLU 激活,以提高性能。
  • • Rotary Embeddings 。模型的输入不再使用 positional embeddings,而是在网络的每一层添加了 positional embeddings (RoPE)。

架构图如下:

在这里插入图片描述

2,归一化|位置和类型变化

2.1,由post-norm 到 pre-norm

图中的post和pre是指归一化相对于残差的位置。post 是指在残差之后做归一化,而pre是在残差之前做归一化。一般认为,Post-Norm在残差之后做归一化,对参数正则化的效果更强,进而模型的收敛性也会更好;而Pre-Norm有一部分参数直接加在了后面,没有对这部分参数进行正则化,可以在反向时防止梯度爆炸或者梯度消失,大模型的训练难度大。

在这里插入图片描述

相同的深度条件下,Post-Norm的效果要优于Pre-Norm,因为Pre-Norm实际上相当于通过了一个更宽的网络而非更深的网络,所以在同等深度下,Pre-Norm的实际效果相当于一个更浅却更宽的网络,

然而在LLaMA中却采用了Pre-Norm,或许是因为模型够深(7B,13B,30B,65B的模型,transformer layer数量分别为32,40,60,80),而Pre-Norm的恒等分支更加明显,有利于梯度的传播

2.2,由Layer-norm 到 RMS-norm

层归一化 LayerNorm 通过对输入以及权重矩阵,进行重新中心化和重新缩放(re-centering 和re-scaling),即减均值和除方差,也称平移不变性和缩放不变性),来帮助稳定训练并加速模型收敛。

  • Layer Norm

作用:对特征张量按照某一维度或某几个维度进行均值为0,方差为1的归一化操作。

其中 表示均值, 均方值,e为一个极小值防止分母为0, 可以认为是一个可以训练的参数。

Layer Norm 的作用方式 可以理解为张量中具体某一维度的所有元素,比如对于 shape 为 (2,2,8) 的张量 input,若指定归一化的操作为第三个维度,则会对第三个维度中的四个张量(2,2,1) ,即第一维度和第二维共四个元素,各进行上述的一次计算。

nn.LayerNorm(normalized_shape, eps=1e-05, elementwise_affine=True, device=None, dtype=None)
“”“
- normalized_shape:归一化的维度,int(最后一维)list(list里面的维度)。以(2,2,4)为例,如果输入是int,则必须是4,如果是list,则可以是[4], [2,4], [2,2,4],即最后一维,倒数两维,和所有维度
- eps:加在分母方差上的偏置项,防止分母为0
- elementwise_affine:是否使用可学习的参数,前者开始为1,后者为0,设置该变量为True,则二者均可学习随着训练过程而变化
”“”
  • RMS Norm

RMS Norm(Root Mean Square Layer Normalization),是一般Layer Norm的一种变体,可以在梯度下降时令损失更加平滑。与layerNorm 相比,RMS Norm的主要区别在于去掉了减去均值的部分(re-centering),只保留方差部分(re-scaling),从归一化的表达式上可以直观地看出。

其中 均方值表示为:

一个直观的猜测是,center操作,类似于全连接层的bias项,储存到的是关于数据的一种先验分布信息,而把这种先验分布信息直接储存在模型中,反而可能会导致模型的迁移能力下降。所以T5模型中不仅去掉了Layer Norma的center操作,它把每一层的bias项也都去掉了。

3, FFN|激活函数

前馈网络 FFN (Feed Forward Normal)原版的激活函数为ReLU,引入激活函数的目的是为了增加神经网络的非线性拟合能力。

3.1,ReLU 线性整流函数

ReLU(Rectified Linear Unit),通常意义下,其指代数学中的斜坡函数,即 :

在神经网络中使用ReLU激活函数作为非线性变换得到的输出结果是:

Transformer架构采用了ReLU激活函数的函数表达式,如下:

  • ReLU 死亡单元问题

一般参数的更新公式为:,当学习率过大时,导致参数更新后的值为负值,此时输入网络的正值会和权重相乘后,也会变为负值,负值通过relu后就会输出0。

如果权重w在后期有机会被更新为正值也不会出现大问题,但是当relu函数输出值为0时,relu的导数也为0,因此会导致后边Δw一直为0,进而导致权重w一直不会被更新,因此会导致这个神经元永久性死亡,

3.2,Sigmoid 逻辑函数和Swish激活函数

  • Sigmoid 逻辑函数

Sigmoid 是常用的连续、平滑的s型激活函数,也被称为逻辑(Logistic)函数。可以将一个实数映射到(0,1)的区间,用来做二分类。其函数定义为:

Sigmoid 存在一定梯度消失问题

即在训练深度神经网络时,随着反向传播过程的深入,当输入值过大或过小时,函数的导数(梯度)会变得非常小(接近零)。这会导致梯度在向网络的前层传播时逐渐变小,导致网络的前层几乎无法更新。

注意:死亡单元和梯度消失不是同一个问题,具体解释参考[4]。

  • Swish 激活函数

Swish 又被称为 SiLU(Sigmoid Linear Unit)是Sigmoid 和线性函数的组合

x 是输入值,β 是一个可学习参数。Swish 激活函数具有以下优点:

1)在某些情况下,Swish 的梯度更加平稳,可以减少梯度消失问题。

2)Swish 可以通过学习参数 β 来适应不同的问题,从而提高模型的泛化能力,比如在图像分类、自然语言处理等领域变现优秀。

3.3,GLU 及其变体

GLU(Gated Linear Units)其实不算是一种激活函数,而是一种神经网络层。它是一个线性变换后面接门控机制的结构。其中门控机制是一个sigmoid函数用来控制信息能够通过多少。

其中的激活函数就是sigmod 函数,通过改变激活函数可以得到 GLU 的各种变体。比如SwiGLU就是采用Swish作为激活函数的GLU变体。

SwiGLU本质上是对Transformer的FFN前馈传播层的第一层全连接和ReLU进行了替换,原生的FFN中采用两层全连接,第一层升维,第二层降维回归到输入维度,两层之间使用ReLU激活函数。

SwiGLU也是全连接配合激活函数的形式,不同的是SwiGLU采用两个权重矩阵和输入分别变换,再配合Swish激活函数做哈达马积的操作,因为FFN本身还有第二层全连接,所以带有SwiGLU激活函数的FFN模块一共有三个权重矩阵,用公式表达如下

其中W1,V为SwiGLU模块的两个权重矩阵,W2为原始FFN的第二层全连接权重矩阵。这种方式使得FFN中的权重矩阵从2个变为了3个,为了使得模型的参数大体不变,因此中间层的向量维度需要削减为原始维度的三分之二。

4,位置编码

在 Transformer 等序列模型中,位置编码用于向模型注入词元的位置信息,以帮助模型理解序列的顺序关系。

4.1,Sinusoidal 位置编码

定义: 基于正弦和余弦函数的数学公式生成位置编码

  • • 偶数维度:
  • • 奇数维度:

其中,pos 为词元位置,i 为维度索引,为词向量维度。

优势:

  • • 天然的长度外推性:正弦和余弦函数的周期性使其可生成任意长度的位置编码,无需预定义最大长度,适合处理超长序列。
  • • 隐含相对位置信息:通过三角函数的性质,两个位置的编码差值可部分反映相对位置关系,缓解了绝对位置编码对相对位置感知的不足。
  • • 计算高效:无需训练,直接通过公式生成,节省显存和训练成本。

4.2,RoPE(Rotary Position Embedding)

定义:通过对词向量进行旋转操作注入绝对位置信息,同时实现对相对位置的感知。

其核心是使位置为m的查询向量,与位置为n的键向量的内积,仅依赖于相对位置m−n,即 。

优势:

  • • 兼顾绝对位置编码的简洁性和相对位置编码的有效性:通过绝对位置旋转的方式,自然引入相对位置信息,解决了传统绝对位置编码无法感知词元间距离的问题。
  • • 支持长度外推优化:旋转角度的周期性与 base 参数相关,通过调整 base(如放大至 1000000)可扩展序列长度。
  • • 数学性质稳定:旋转操作不改变向量模长,避免了位置编码对词向量本身的干扰。
总结

LLaMA 架构作出的主要改变有三点,层归一化从post-norm 到pre-norm,FFN中的激活函数最终选择了SwiReLU,位置编码选择了稳定性更强的 RoPR。LLaMA模型架构取得成功,为其变体提供了可参考的范式,目前国内流行的Qwen架构基本为LLaMA架构。

千问Qwen大模型与标准transformer的主要区别如下

1)使用untied embedding嵌入;
2)使用旋转位置嵌入-即RoPE相对位置编码;
3)normalization实现–即 RMSNorm 代替 LayerNorm;
4)FFN激活函数-即 SwiGLU 代替 ReLU;
5)attention中除 QKV 外无bias–采用flash attention加速训练

普通人如何抓住AI大模型的风口?

领取方式在文末

为什么要学习大模型?

目前AI大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。

目前,开源人工智能大模型已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景,其中,应用于金融、企业服务、制造业和法律领域的大模型在本次调研中占比超过 30%。
在这里插入图片描述

随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:
在这里插入图片描述

人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!

最后

只要你真心想学习AI大模型技术,这份精心整理的学习资料我愿意无偿分享给你,但是想学技术去乱搞的人别来找我!

在当前这个人工智能高速发展的时代,AI大模型正在深刻改变各行各业。我国对高水平AI人才的需求也日益增长,真正懂技术、能落地的人才依旧紧缺。我也希望通过这份资料,能够帮助更多有志于AI领域的朋友入门并深入学习。

真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

大模型全套学习资料展示

自我们与MoPaaS魔泊云合作以来,我们不断打磨课程体系与技术内容,在细节上精益求精,同时在技术层面也新增了许多前沿且实用的内容,力求为大家带来更系统、更实战、更落地的大模型学习体验。

图片

希望这份系统、实用的大模型学习路径,能够帮助你从零入门,进阶到实战,真正掌握AI时代的核心技能!

01 教学内容

图片

  • 从零到精通完整闭环:【基础理论 →RAG开发 → Agent设计 → 模型微调与私有化部署调→热门技术】5大模块,内容比传统教材更贴近企业实战!

  • 大量真实项目案例: 带你亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!

02适学人群

应届毕业生‌: 无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌: 非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能突破瓶颈: 传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

image.png

vx扫描下方二维码即可
在这里插入图片描述

本教程比较珍贵,仅限大家自行学习,不要传播!更严禁商用!

03 入门到进阶学习路线图

大模型学习路线图,整体分为5个大的阶段:
图片

04 视频和书籍PDF合集

图片

从0到掌握主流大模型技术视频教程(涵盖模型训练、微调、RAG、LangChain、Agent开发等实战方向)

图片

新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路(不吹牛,真有用)
图片

05 行业报告+白皮书合集

收集70+报告与白皮书,了解行业最新动态!
图片

06 90+份面试题/经验

AI大模型岗位面试经验总结(谁学技术不是为了赚$呢,找个好的岗位很重要)图片
在这里插入图片描述

07 deepseek部署包+技巧大全

在这里插入图片描述

由于篇幅有限

只展示部分资料

并且还在持续更新中…

真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发

在这里插入图片描述

Logo

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

更多推荐