Llama 模型架构解析:从 Pre-RMSNorm 到 GQA 的技术演进

前言

Llama(Large Language Model Meta AI)是由 Meta AI 团队研发的一系列开源大语言模型。与许多闭源商业模型(如 GPT 系列)不同,Llama 系列在发布时提供了模型权重和训练细节(尽管早期版本有使用限制),使得研究人员、企业和个人开发者都能在其基础上进行微调、部署和创新。

架构

Llama的架构整体上遵循了Transformer的Decoder-only设计,这与GPT系列类似。然而,它在一些关键组件上进行了重要的改进和优化。

以下是Llama模型架构的核心组成部分:

Pre-RMSNorm

Llama采用了**前置层归一化(Pre-Layer Normalization)**策略,即在每个子层(自注意力层或前馈网络)之前 进行归一化。同时,它使用了一种更高效的归一化方法------RMSNorm,来代替传统的LayerNorm。

  • 前置层归一化:将归一化层(如LayerNorm)放在子层(自注意力层或前馈网络)之前,而非传统后置归一化(Post-normalization)的输出后。这种策略能缓解梯度消失或爆炸问题,提升深层网络稳定性。

  • RMSNorm :一种轻量级归一化方法,仅通过输入特征的均方根(Root Mean Square, RMS)进行缩放,省略均值计算,提升了计算效率。公式如下:
    RMSNorm(x)=γ⊙xRMS(x)+ϵ \text{RMSNorm}(\mathbf{x}) = \gamma \odot \frac{\mathbf{x}}{\text{RMS}(\mathbf{x})+ \epsilon} RMSNorm(x)=γ⊙RMS(x)+ϵx

    其中:

    • RMS(x)=1d∑i=1dxi2\text{RMS}(\mathbf{x}) = \sqrt{\frac{1}{d}\sum_{i=1}^{d}x_i^2}RMS(x)=d1∑i=1dxi2 (输入向量的均方根)。
    • γ\gammaγ 为可学习参数向量。
    • ⊙\odot⊙ 表示逐元素相乘。

位置编码:旋转位置编码(RoPE)

  • LLaMA 没有使用原始 Transformer 中的绝对位置编码或可学习的位置嵌入。
  • 而是采用 RoPE,将 token 的绝对位置信息编码为旋转矩阵,并在计算注意力分数时以相对位置的方式作用于查询和键向量,从而有效建模长距离依赖。

分组查询注意力 (Grouped-Query Attention,GQA)

从 Llama 2 开始,模型引入了 GQA 来优化推理性能。GQA 通过将查询头分为若干组,每组内的所有查询头共享同一对键头和值头,实现计算量与模型质量的折中。具体而言:

  • MHA(多头注意力):每个查询头独立计算键值,捕捉丰富的语义信息,但参数量和计算成本过高。
  • MQA(多查询注意力):所有查询头共享同一套键值矩阵,显著提升推理速度,但因过度简化导致精度损失。
  • GQA(分组查询注意力):介于两者之间,通过分组共享键值,既减少计算量,又保留不同头之间的语义多样性。

SwiGLU激活函数

  • 在两层全连接网络中间,使用激活函数 SwiGLU(而非 ReLU 或 GELU)

  • 公式如下:
    SwiGLU(x)=(xW1)⊙Swish(xW2) \text{SwiGLU}(\mathbf{x})=(\mathbf{xW_1})\odot \text{Swish}(\mathbf{x}\mathbf{W_2}) SwiGLU(x)=(xW1)⊙Swish(xW2)

    其中,Swish(x)=x⋅σ(βx)\text{Swish}(\mathbf{x})=x\cdot\sigma(\beta \mathbf{x})Swish(x)=x⋅σ(βx),β\betaβ 为标量,通常为1,σ\sigmaσ 表示 Sigmoid 函数。

  • 优势:相比ReLU,能捕捉更复杂的特征模式,提升模型表达能力。

相关推荐
这张生成的图像能检测吗11 小时前
(论文速读)UWDET:基于物联网的资源有限水下目标探测训练增强
人工智能·深度学习·物联网·目标检测·计算机视觉·水下目标检测
小超同学你好11 小时前
Transformer 24. Gemma 2 架构详解:交替局部/全局注意力、GQA、双层 RMSNorm 与 Logit Soft-Capping
人工智能·深度学习·transformer
枫叶林FYL12 小时前
【自然语言处理 NLP】大规模语言模型评估协议:MMLU、TruthfulQA与BBQ综合技术手册
人工智能·语言模型·自然语言处理
海海不掉头发12 小时前
【11月16日-大模型前置知识【深度学习】+大模型开发入门】-基础篇笔记
人工智能·笔记·深度学习
财经资讯数据_灵砚智能12 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年4月9日
人工智能·python·信息可视化·自然语言处理·ai编程
lifallen13 小时前
Flink Agents:Memory 层级分析 (Sensory, Short-Term, Long-Term)
java·大数据·人工智能·语言模型·flink
lifallen13 小时前
Flink Agents:外部副作用一致性 (ActionStateStore) 演进分析
java·大数据·人工智能·语言模型·flink
沪漂阿龙13 小时前
PyTorch 深度学习完全指南:从激活函数到房价预测实战
人工智能·pytorch·深度学习
Chef_Chen13 小时前
Agent学习-RAG--上下文压缩与知识库的更新
人工智能·学习·自然语言处理
人工智能交叉前沿技术,13 小时前
流固耦合与深度学习
人工智能·深度学习