LLaMA模子结构与注意力机制优化

[复制链接]
发表于 2025-9-14 14:32:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在人工智能范畴,大语言模子(LLMs)的崛起掀起了技能厘革的海潮。从 GPT 系列的惊艳表态,到浩繁开源模子的百花齐放,LLMs 的发展日新月异。今天,我们就深入分析大语言模子的结构细节,以及为提升其性能而诞生的注意力机制优化技能,探索这一前沿范畴的奥秘。
当前,绝大多数大语言模子都鉴戒了 GPT 的架构思绪,接纳基于 Transformer 仅由解码器构成的网络结构,通过自回归方式构建语言模子。这种架构在处理惩罚自然语言时显现出强盛的本领,但差别模子在位置编码、层归一化位置、激活函数等细节上各有千秋。
一、LLaMA 模子结构

   LLaMA,是元宇宙平台公司(Meta)公开辟布的产物,Meta首创人扎克伯格。2023年7月,Meta公司发布了人工智能模子LLaMA2的开源商用版本,意味着大模子应用进入了“免费期间”,初创公司也能够以低廉的代价来创建类似ChatGPT如许的聊天呆板人。2025年4月5日,Meta发布最新AI大模子Llama 4。
  LLaMA 模子接纳的 Transformer 结构与 GPT-2 类似,但在多个关键细节上举行了创新:
1、RMSNorm 归一化函数

为了使模子训练过程更加稳固,GPT-2 相较于GPT 引入了前置层归一化方法,将第一个层归一化移动到多头自注意力层之前,将第二个层归一化移动到全毗连层之前。同时,残差毗连的位置调整到多头自注意力层与全毗连层之后。层归一化中也接纳了RMSNorm 归一化函数[49]。针对输入向量a,RMSNorm 函数盘算公式如下:

 在代码实现中,LlamaRMSNorm 类继承自 nn.Module,通过界说 weight 参数和前向流传函数完成归一化操纵。
2、SwiGLU 激活函数

SwiGLU 激活函数由 Shazeer 提出,在 PaLM 等模子中应用广泛且效果优秀,相比 ReLU 函数在多数评测中都有明显提升。LLaMA 的全毗连层接纳带有 SwiGLU 激活函数的 FFN(Position-wise Feed-Forward Network),盘算公式为


3、RoPE 位置嵌入

LLaMA 用旋转位置嵌入(RoPE)替换传统绝对位置编码。RoPE 借助复数头脑,通过特定运算给 q, k 添加绝对位置信息,终极得到二维情况下用复数体现的 RoPE,还可用矩阵情势体现。由于矩阵具有奇怪性,可利用逐位相乘操纵提升盘算速率。代码中通过一系列函数实现了 RoPE 位置嵌入的盘算和应用。


4、模子团体框架

基于上述创新计划,LLaMA 构建相识码器层。差别规模的 LLaMA 模子利用的超参数差别


通过 LlamaDecoderLayer 类界说了模子的前向流传过程,包罗自注意力模块和全毗连层等关键组件。
二、注意力机制优化

Transformer 结构中,自注意力机制的时间和存储复杂度与序列长度的平方干系,这使得其在盘算时大量占用盘算装备内存并斲丧盘算资源。为办理这一标题,研究职员从差别角度提出了多种优化方法。
1、奇怪注意力机制

研究发现,一些训练好的 Transformer 注意力矩阵是奇怪的,基于此诞生了奇怪注意力机制。这种机制通过限定 Query - Key 对的数量来低落盘算复杂度,可分为基于位置和基于内容信息两类:
a、基于位置的奇怪注意力机制:包罗全局注意力、带状注意力、膨胀注意力、随机注意力、局部块注意力这五种根本范例,现有模子多接纳这些范例的复合模式。

b、基于内容的奇怪注意力机制:根据输入数据创建奇怪注意力。比方,Routing Transformer 接纳 K - means 聚类方法,让 Query 只与类似簇下的 Key 交互;Reformer 利用局部敏感哈希(LSH)函数对 Query 和 Key 举行哈希盘算,分别到同一桶内的 Query 和 Key 才会交互。
2、FlashAttention(利用硬件特性加快)

NVIDIA GPU 的显存分为多种范例,全局内存和当地内存容量大但访问速率受限,共享内存和寄存器内存速率快但容量小。传统自注意力机制在 GPU 盘算时,需引入中间矩阵 S 和 P 并存储到全局内存,这会大量占用显存带宽,导致盘算服从受全局内存访问的制约。NVIDIA GPU 的团体内存结构图如下:

FlashAttention 则充实利用 GPU 硬件特性,尽大概克制从全局内存读取或写入注意力矩阵。它通过分块写入、存储 Softmax 归一化因子等方式,淘汰全局内存斲丧,虽然重新盘算增长了 FLOP,但团体运行速率更快且内存利用更少。
3、多查询注意力(显存优化的新方向)

多查询注意力是多头注意力的变体,差别注意力头共享键和值的聚集,每个头仅保存一份查询参数,大幅淘汰了显存占用,提升了服从。一些模子如 Falcon、SantaCoder、StarCoder 等都接纳了这一机制。通过对已训练好的模子举行微调,仅需约 5% 的原始训练数据量,就能让模子支持多查询注意力。

  FlashAttention 盘算流程图

总结与预测

大语言模子的发展正处于高速增长阶段,从模子架构的创新到注意力机制的优化,每一步都凝聚着研究职员的智慧。LLaMA 模子的出现为开源大语言模子的发展提供了紧张参考,其独特的计划在多个方面提升了模子性能。而注意力机制的优化方法,如奇怪注意力、FlashAttention 和多查询注意力等,为办理大语言模子盘算资源瓶颈标题提供了有效途径。
未来,随着技能的不绝进步,我们有望看到更多高效、强盛的大语言模子诞生。在探索模子架构和优化技能的门路上,研究职员将继承面临挑衅,但也将迎来更多创新机会,让我们拭目以待大语言模子范畴的下一次突破。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表