资料地址:https://datawhalechina.github.io/base-llm/#/chapter6/17_handcraft_llama2
Llama2
Llama2是meta ai推出的开源大模型,本节理解其内部的工作原理
Llama2架构总览
Llama2遵循GPT系列开创的Decoder-Only架构,完全由Transformer解码器堆叠而成,天然适用于自回归文本任务
Llama2的核心由N个相同的Transformer Block堆叠而成
Block内部数据流:
预归一化(Pre-Normalization)在进入注意力层和前馈网络之前,会先经过一次RMS Norm,这被认为是提升大模型训练稳定性的关键
组件:使用Grouped-Query Attention(GQA),前馈网络采用SwiGLU,归一化使用RMSNorm
旋转位置编码(RoPE),位置信息在注意力层内部,通过RoPE操作动态施加于Q(查询)和K(键)向量上
残差连接:每个子层(注意力层和前馈网络)的输出都通过残差连接与子层的输入相加,保留了原始信息流
![[Pasted image 20260120234201.png]]
与原始transformer相比,Llama2及其同类模型进行改进提升性能和训练稳定性:
输入嵌入:将token_ids转换为词向量
N × Transformer层堆叠:数据依次通过N个相同的Transformer Block,每个Block包括预归一化、注意力子系统、前馈网络子系统
最终归一化与输出:所有层之后,进行最后一次RMSNorm,并通过一个线性层将特征映射到词汇表logits
Llama2关键组件
预归一化
Llama2简化归一化过程:
移除均值中心化:只通过输入的均方根对其进行缩放
保留可学习增益:用于在归一化后恢复模型的表达能力