第一章 Introduction这一章回答了三个问题为什么需要LLaMALLaMA究竟解决了什么问题为什么它后来成为所有开源LLM的祖先很多人在看Introduction的时候只会注意到一句LLaMA-13B超过GPT-3。其实这句话不是论文真正想表达的重点。真正的重点是作者认为整个大模型的发展方向从GPT-3开始就有一点走偏了。很多人在阅读本章时容易将注意力集中在“LLaMA-13B 超越了 GPT-3 (175B)”这一表象结果上。然而本章真正的核心在于纠正了自 GPT-3 以来大模型发展中“盲目追求参数规模”的偏误重新定义了高效大模型的设计范式。一、 背景演进大家相信模型越大越好1、GPT-3 时代参数决定一切的错觉贡献与误导GPT-3 的出现证明了当模型规模达到 175B 时会自然拥有之前没有的 Few-shot Learning、Zero-shot Learning、In-context Learning 等能力。这导致社区形成了一个默认共识模型越大能力越强。行业路线GPT-2→GPT-3(175B)→Gopher(280B)→PaLM(540B)→ Megatron-Turing530B)参数量不断增加。也就是说当时竞争的核心指标是谁的参数更多。2、Chinchilla 的反思计算最优法则 (Compute Optimal Scaling)2022年DeepMind 的 Chinchilla 首次提出质疑在固定的训练算力预算下决定性能的关键是模型大小Parameters与训练 Token 数量的平衡。它指出 GPT-3 (175B 参数 / 300B Tokens) 的问题不是模型太小是训练的数据太少一直处于没学饱Undertrained的状态本应该训练多达 3~4 倍的数据。Chinchilla提出不要继续无限增大模型而应该增加训练数据。这就是著名的Compute Optimal Scaling。二、 LLaMA 的核心洞察从“训练成本”转向“推理成本”尽管 Chinchilla 提出了极其重要的修正但 Meta 作者指出它的一个致命盲区只考虑了训练成本却忽略了工业界更看重的推理成本 (Inference Budget)。假设有两个模型模型A70B参数、训练100天模型B7B参数、训练300天。训练的时候模型B可能更贵,但是部署后每天几百万用户访问,长期消耗GPU的是推理(Inference)。所以对于工业界来说真正重要的不是哪个模型训练最便宜。而是哪个模型部署最便宜。因此LLaMA把目标重新定义成一句话在不同推理预算Inference Budget下训练性能最好的模型。不是最大模型而是最有效率的模型。这也是LLaMA后来影响整个开源社区最大的思想。三、 解决方案小模型与“超量训练”论文用了RoPE、RMSNorm、SwiGLU实际上这些改动都是借鉴已有工作真正的新思想是与其无限增加参数不如把一个较小的模型训练得更加充分。基于“推理成本优先”的理念LLaMA 采取了与以往完全不同的训练策略1、打破 Token 训练上限Chinchilla 法则曾认为 10B 级别的模型训练 200B Tokens 即可。但 Meta 实验发现7B 模型即使训练超过 1T Tokens性能仍在持续提升。因此LLaMA 采取了“超量训练”策略既然小模型还没学饱那就继续喂数据。2、综合架构优化GPT-3 175B 最终会输给LLaMA 13B因为13B模型虽然小但训练得更充分。训练得更充分并不是唯一原因。LLaMA能够超越GPT-3有多种因素更优的数据配比、更长的训练Token、更现代的Transformer设计RoPE、RMSNorm、SwiGLU等和更合理的训练策略。其中更多训练数据和更符合计算最优思想的训练方式是最核心的原因之一。四、 推动开源生态坚持 100% 公开数据当时的顶级大模型如 GPT-3、PaLM、Chinchilla均使用了大量外界无法获取的私有数据导致学术界根本无法复现和深入研究。Meta 的破局LLaMA 坚持完全依赖公开可获取的数据集进行训练证明了纯公开数据依然能训练出 SOTA当前最优级别的基础模型。这直接促成了后来繁荣的开源大模型生态。第一章核心思想总结LLaMA 并非发明了一种全新的Transformer而是重新思考了“如何更高效地训练和部署大语言模型”。其奠定开源生态鼻祖地位的三大基石理念是范式转移不要盲目追求更大的参数规模而要兼顾推理成本。训练策略通过海量数据Token对较的模型进行“超量训练”让模型充分学习。开源精神坚持纯公开数据训练推动可复现、可研究的开源大模型生态。第二章 Pre-training Data预训练数据这一章主要回答三个问题为什么坚持使用公开数据数据是如何组成的为什么这样分配比例为什么这些数据足以支撑一个SOTA的大模型答案并非依靠某种“神奇的私有数据”而是得益于多元数据的科学配比与精细化的清洗策略。每一种数据来源都在大模型的“知识体系”中扮演着不可替代的角色。一、 LLaMA 数据来源与功能论文通过合理组合 7 种不同类型的数据让模型获得了尽可能全面的能力。我们将原论文的比例表与最终的功能表合二为一一目了然数据集占比核心作用与能力贡献Common Crawl67%学习最广泛、最多样化的互联网百科知识与自然语言表达。C415%提供另一种清洗策略下的网页数据增强日常语言的多样性。Github4.5%学习代码语法赋予模型代码生成与底层逻辑能力。Wikipedia4.5%提供极高密度的纯文本百科知识。Books4.5%学习长文本逻辑、篇章连贯性与系统化知识。ArXiv2.5%学习严谨的学术写作规范与数理化等专业领域知识。StackExchange2%学习“理解问题、组织回答、解释推理”的交互逻辑。二、 数据集深度拆解与清洗策略我们可以将这 7 大数据集划分为三个核心能力维度1. 互联网泛文本构建世界知识基石 (占 82%)Common Crawl (67%)基于“模型”的高质量提取可以理解成互联网网页的大规模快照。包括新闻网站、博客、技术论坛、企业官网、教程、百科、各种公开网页几乎就是整个互联网文本。处理方式 (CCNet)1、去重很多网页会被转载避免模型重复学习防止某些内容权重过高。2、语言识别使用fastText分类器识别语言。只保留英文网页防止其他语言影响训练。3、过滤低质量网页如aaaaaa、点击下载、广告、404这些没有学习价值互联网垃圾内容。训练了一个分类器分类器不是人工设计规则而是学习什么样的网页更像Wikipedia引用页面。【把Wikipedia引用的网页作为高质量网页随机网页作为低质量网页。训练一个二分类器不像Wikipedia参考网页的全部删除。学习高质量网页的整体分布而不是某几个固定规则。】优点1、不需要人工定义什么叫高质量网页。人工很难写出一套全面又不死板的规则而利用Wikipedia引用网页作为正样本相当于借助了维基百科编辑社区长期积累的筛选结果。2、能够学习复杂特征。分类器看到的不只是网页长度、标点数量这些浅层信息还可能学习到语言风格、信息密度、主题连贯性等许多难以手工描述的特征。3、更好的泛化能力。即使遇到一种以前没见过的新网页只要它整体风格接近高质量网页分类器就可能把它保留下来而基于固定规则的方法往往容易误删或误保。C4 (15%)基于“规则”的多样性补充引入原因两者原始数据均来自Common Crawl但清洗策略互补。CCNet 偏向保留信息密度高、权威性强的学术或百科网页而 C4 依赖人工启发式规则如有没有标点、句号、完整句子保留了覆盖面更广、语言更自然的日常网页。两者的结合极大丰富了模型看到的网页生态。二者的区别不是数据来源。而是清洗方式不同。不同方式预处理的Common Crawl数据可以形成互补因此加入C4能够进一步提升性能。2. 高质量结构化文本提升系统性与知识密度 (占 9%)Books (4.5%)包括两部分Project Gutenberg(世界上最古老、最著名的数字图书馆)、Books3(书籍数据集)核心价值书籍具有网页难以替代的特点——篇章结构完整、逻辑推理连续、长上下文丰富、系统性知识更强。这直接决定了模型在知识问答和复杂推理上的表现。短板反思论文坦言LLaMA 使用的书籍数据约 177GB远少于 PaLM 等模型约 2TB这也是其在 MMLU 等知识密集型任务上略逊一筹的重要原因。Wikipedia (4.5%)核心价值知识密度极高。去除了超链接、评论和网页格式留下的纯文本几乎没有废话每一句都是高纯度知识。3. 垂直领域与逻辑训练塑造专业与交互能力 (占 9%)Github (4.5%)清洗策略仅保留严格开源协议Apache, BSD, MIT的项目剔除模板代码和低质量文件。这也解释了为何 LLaMA 虽然不是code模型在 HumanEval代码生成测试中依然表现优异。ArXiv (2.5%)清洗策略舍弃 PDF 格式直接解析LaTeX 源码。通过删除摘要前的模板、参考文献、注释并展开用户自定义宏最大程度消除了排版噪声帮助模型掌握数理、物理和计算机等专业领域的语言风格。StackExchange (2%)StackExchange是由 180 多个极度垂直、高质量的QA问答社区组成的超大型网络。它不是连续文章而是高质量问答。核心价值由 28 个高质量垂直问答社区组成。包含了大量“问题—回答”的交互形式它的天然结构Question → Best Answer→ Second Answer加上依靠社区点赞得分排序的现成质量过滤器构成了极高逻辑密度的语料。这是模型掌握 Instruction指令响应与推理解释能力的雏形。三、 第二章总结LLaMA 在数据上的成功证明了基座模型的强大不仅在于训练了 1T~1.4T 的 Token更取决于底层数据的多样性与清洗工艺。通过完全开源、来源互补的高质量数据集组合LLaMA 成功打破了“闭源私有数据”的壁垒奠定了开源大模型生态蓬勃发展的数据基石。第三章 ArchitectureLLaMA 并没有发明一种全新的 Transformer而是把过去几年 Transformer 领域最成功的设计(Pre-normalization、SwiGLU 和 RoPE)组合起来。LLaMA 的整体架构可以浓缩为下表的关键词模块类别LLaMA 采用的现代设计基础架构Decoder-only Transformer归一化结构Pre-Norm (前置归一化)归一化算法RMSNorm激活函数SwiGLU位置编码RoPE (旋转位置编码)一、整体网络结构如果用最简洁的流程表示就是Input Tokens │ Embedding │ ────────────────────────────── Transformer Block × N ────────────────────────────── │ RMSNorm │ Self-AttentionRoPE │ Residual │ RMSNorm │ SwiGLU Feed Forward │ Residual ────────────────────────────── │ Final RMSNorm │ Linear │ Next Token Probability它和GPT几乎一样依旧遵循经典的 Decoder-only Transformer 范式Embedding → 多层Transformer → 输出下一个Token。所以LLaMA不是一种新的网络而是一种优化后的GPT。二、LLaMA到底改了哪里所以整个Transformer实际上只改了三个地方变成归一化采用Pre-Normalization结构并使用RMSNorm替代原有的 LayerNorm。激活函数在前馈神经网络FFN中用SwiGLU替代传统的 ReLU。位置编码在自注意力机制中使用旋转位置编码RoPE替代绝对位置编码。三、 为什么首先强调 Pre-Norm对于LLM来说Normalization决定了模型能不能稳定训练。没有好的Normalization65B参数根本训练不了。论文首先介绍了Pre-normalization前置归一化。Transformer 每一层都有两个主要的子模块SubLayer自注意力机制Self-Attention和前馈网络FFN。“Norm”放置的位置决定了它是 Post-Norm 还是 Pre-NormPost-Normalization原版先计算后归一逻辑信号先经过 Attention/FFN 层加上残差连接后最后再做归一化。致命缺陷在主干道上信号每次向前传递都会被 Norm 层“拦截”并重新缩放。网络较浅如 6 层时没有问题但在 60 层甚至 100 层的大模型中反向传播的梯度经过层层拦截极易引发梯度消失或梯度爆炸导致深层网络极难训练。Pre-Norm现代大模型先归一后计算逻辑信号先做归一化再进入Attention/FFN层后直接与主干道的原始信号相加。核心优势归一化被移到了旁路主干道的残差连接从第一层到最后一层是完全直通的。即使Attention学得很差深层的梯度也可以直接传回浅层极大提升了训练稳定性。本节小结这一部分可以先建立一个整体认识LLaMA没有改变Transformer的主体框架它仍然是Decoder-only Transformer。它采用的是近年来已经被验证有效的一系列改进而不是重新设计一种新的网络。其中Pre-Norm只是Norm放在哪里的问题而RMSNorm才是Norm本身怎么计算的问题下一节我们开始讲RMSNorm。这一部分也是很多人第一次学习LLM时最容易困惑的地方。我不会直接给公式而是会先回答一个更根本的问题LayerNorm已经很好用了为什么LLaMA还要把它换掉理解了这个问题再看RMSNorm的公式就会非常自然。Architecture二RMSNorm替代LayerNormPre-Norm / Post-Norm决定的是 Normalization 在 Transformer 架构中的位置Position。LayerNorm / RMSNorm决定的是 Normalization 具体怎么计算Computation。一、 为什么需要归一化Norm深层神经网络中随着层数加深不同层输出的数值尺度Scale可能会发生剧烈波动。例如第 1 层 Attention 输出[2, 4, 6, 8]第 10 层 Attention 输出[200, 400, 600, 800]如果不进行归一化后接的Linear层就要不断去适应这种量级的剧烈变化导致模型极难收敛。Norm 的核心目的就是让每一层输出都保持一个相对稳定的数值尺度。二、 核心对比LayerNorm vs RMSNorm传统 LayerNorm 认为要稳定数值必须做两件事中心化 (Mean-Centering)和缩放 (Scaling)。而 RMSNormRMSRoot Mean Square砍掉了所有与“均值”和“偏置”相关的计算只保留了“缩放”只计算均方根。假设有一个隐藏向量x[2,4,6]LayerNorm第一步Centering中心化计算均值4于是 2 → -2 4 → 0 6 → 2第二步计算方差。这里得到然后所有元素除以标准差。最终得到[-1.22 0 1.22]LayerNorm完成了两件事① 去掉均值 ② 调整尺度计算公式对比对于一个 d 维的输入向量 x归一化方式核心计算公式学习参数核心思想LayerNorm其中为均值为标准差。(缩放),(偏移)去均值 调尺度将数据分布强制平移至 0 均值再缩放到单位方差。RMSNorm其中(缩放)只调尺度不平移数据直接通过均方根控制向量的物理长度模长。三、 为什么 RMSNorm 可以在不减均值的情况下正常工作RMSNorm 的核心洞察源自 2019 年的论文《Root Mean Square Layer Normalization》。作者提出了一个颠覆性的假设对于 Transformer尤其是 Decoder-only 架构来说真正影响训练稳定性的并不是“均值的偏移”而是“数值尺度的放大与缩小”。向量方向 vs 向量长度假设两层的输出向量分别为 A [2, 4, 6] 和 B [20, 40, 60]。它们的空间方向完全一致只是 B 的模长物理长度被放大了 10 倍。QK 点积的敏感性Attention 中的 Query 和 Key 在做点积时对向量的模长敏感。模长过大容易导致 Softmax 梯度饱和。所以作者认为控制长度就够了。控制模长就够了RMSNorm 证明了只要通过控制 RMS(x) 来限制向量的模长不强制将均值归零同样能达到稳定训练的目的。四、 为什么 RMSNorm 成为了大模型LLM的标准配置1. 更快的计算效率SpeedLayerNorm 的计算需要两次遍历数据第一次算均值第二次算方差。而 RMSNorm只需一次遍历计算平方和。减少了内存读写IO 限制和计算开销。2. 性能几乎无损Performance学术界和工业界在大规模 RNN 和 Transformer 上进行了广泛实验结果表明去掉 Mean-Centering 后模型的泛化能力和最终收敛效果几乎没有任何下降。算力账本对于动辄百亿、千亿参数的大模型在几百个层中每一步节省一点计算和显存带宽在整期预训练Pre-training中就能省下数十万甚至数百万的 GPU 算力成本。五、 避坑指南RMSNorm 是万能的吗虽然 LLaMA、Qwen、Mistral 等主流 Decoder-only 大模型全面拥抱了 RMSNorm但它并不是 LayerNorm 的完美替代品。Decoder-only LLM高度契合。RMSNorm 能够提供极高的计算效率且几乎不损失效果。Encoder 模型 ViT视觉 TransformerLayerNorm 依然是主流。在这类架构中均值平移Centering对特征表达可能仍有不可忽视的正面作用。总结RMSNorm 的流行并非因为它在数学上比 LayerNorm “更先进”而是它在大规模自回归语言模型这一特定场景下实现了“效率的大幅提升”与“性能的几乎无损”之间的完美平衡。本节总结这一节可以归纳成一句话LLaMA并没有重新发明一种新的归一化方法而是采用了已有的RMSNorm用更简单的计算保留了归一化最重要的功能——控制特征尺度同时去掉了对Decoder-only Transformer贡献较小的中心化步骤。我们已经理解了两个重要改动Pre-Norm改变Norm的位置让梯度传播更稳定。RMSNorm改变Norm的计算方式在几乎不损失性能的前提下减少计算量。下一节我们将进入LLaMA架构中另一个非常重要的改动——SwiGLU。这一部分不仅涉及激活函数ReLU、GELU、SiLU的演化还会解释为什么LLaMA的FFN隐藏层维度不是经典Transformer中的4d而是一个看起来很奇怪的83d\frac{8}{3}d38​d。这也是很多人第一次阅读论文时最困惑的地方。Architecture三重构 Transformer 的 FFN在 Transformer 架构中很多人会将前馈神经网络FFN简单理解为“两个 Linear 加一个 ReLU”而一笔带过。但实际上FFN 占据了整个模型约 60%70% 的参数量和计算量是模型中最“重”的模块。LLaMA 对 FFN 的优化直接决定了现代大模型非线性表达能力的上限。一、 重新认识 FFNAttention 的“搭档”在一个 Transformer Block 中Self-Attention 和 FFN 扮演着完全不同但互补的角色。如果说 Attention 负责“收集情报”那么 FFN 就负责“消化情报”。模块核心功能通俗比喻特征变换能力Self-Attention负责不同 Token 之间的信息交互与融合。开会交流Token 之间互通有无。近似线性的加权求和难以完成复杂的特征提取。FFN负责单个 Token 内部的非线性特征映射。独立思考每个 Token 根据收集到的信息独立加工。负责将融合后的信息映射到高维空间提取复杂特征如猫→可爱。Attention本质上仍然是一个近似线性的运算加权求和只是重新组合已有的信息无法学习复杂的非线性变换。假设猫、狗、鸟Attention最后得到0.3×猫 0.5×狗 0.2×鸟只是重新组合已有的信息。但复杂的特征提取如动物→哺乳动物→宠物→可爱这种非线性映射Attention本身做不到。所以FFN负责学习复杂的非线性变换。Transformer实际上一直在交替进行Attention(融合信息) → FFN(加工信息) → Attention(再融合) → FFN(再加工)二、 FFN 激活函数的进化史为了让 FFN 具备强大的非线性表达能力原始 Transformer 的 FFN 采用了先升维再降维的结构其中第一层Linear把维度扩大因为高维空间表达能力更强然后第二层再压回来。随着模型的发展FFN 内部的核心激活函数经历了一次关键的演进初代 TransformerReLU简单粗暴的“一刀切”ReLU 会将所有负数直接置为 0。这种做法计算高效但在经过线性层变换后大量可能含有潜在价值的负值信息被直接丢弃。BERT / GPT 时代GELU“平滑保留”GELU 摒弃了“一刀切”的做法在负数区域保留了平滑的过渡曲线。这种微小的改动使信息损失更少成为早期预训练模型的标配。LLaMA / PaLM 时代SwiGLU引入“门控机制”LLaMA 没有继续寻找单纯的激活函数而是直接改变FFN的网络拓扑结构引入SwiGLU。三、 LLaMA 的核心创新SwiGLU 是什么很多人误以为 SwiGLU 只是一个新的激活函数其实它是一种双分支的“门控Gating结构”。SwiGLUSiLU 激活 GLU 门控线性单元将传统 FFN 的单路 Linear 拆分成了两路最后将两者逐元素相乘特征分支负责产生真正需要变换的特征。门控分支经过 SiLU 激活函数后生成一个连续的“门值”类似 0 到 1 之间的权重。逐元素相乘用门控分支的数值去动态调节特征分支的每一个维度。传统FFN只有一路Linearx → Linear → Activation → LinearSwiGLU变成两路LinearLinear1 / 输入 → 逐元素相乘 → Linear \ Linear2一条分支负责产生特征另一条分支负责产生Gate最后二者逐元素相乘。如第一路 [2, 5, 7]第二路 [0.9, 0.2, 0.8]最后得到[1.8, 1.0, 5.6]第二个特征自动被压小了。这就是Gate。核心优势传统 FFN 只能被动地将所有特征推向下一层而 SwiGLU 赋予了模型动态选择的能力——模型可以自动决定哪些维度的特征需要被放大门值大哪些需要被抑制门值小从而大幅提升了模型的特征表达能力。四、 细节隐藏层维度为什么是 8/3d原始 Transformer 的 FFN 隐藏层维度是 4d即扩容 4 倍例如 4096 → 16384而 LLaMA 却将其设置为是为了“控制变量参数量”。因为 SwiGLU 结构比普通 FFN 多了一条 Linear 分支。如果继续保持 4d 的扩容比例整个 FFN 的参数量将会暴增 50% 以上。为了在保持与原版参数量基本一致的前提下享受 SwiGLU 的性能红利作者重新推导了维度公式最终得出约等于。此外为了适配 GPU 的矩阵乘法底层优化 还将这个结果向上取整到 256 的倍数Multiple of 256这就是大模型源码中常见如下代码的原因hidden_dim int(8 * dim / 3) hidden_dim multiple_of * ceil(hidden_dim / multiple_of)总结LLaMA 对 FFN 的重构本质上是从“单分支静态映射”向“双分支动态门控”的维度升维。这一设计由于其卓越的表达能力现已成为现代开源大模型的标准配置。Architecture四Rotary Position Embedding (RoPE)一、 痛点为什么 Transformer 必须要有位置编码Transformer 的核心组件 Attention 具有“排列不变形”。如果只做 Token Embedding模型只能获取词语本身的含义而完全丢失了序列的顺序信息。如A句Dog bites man.B句Man bites dog.如果没有位置编码这两句话输入到Attention层后模型看到的都是{Dog, Bites, Man}这三个词的无序集合。对模型而言这两句话毫无区别但却是截然相反的语义。因此Transformer 必须通过某种方式知道每个 Token 在句子中的位置。二、 传统方案的瓶颈绝对位置编码Absolute PE原始 Transformer 采用的方法非常直接既然模型不知道位置就直接加上位置的“编号”。模型为每个位置学习一个独立的位置向量。最终的输入表示为例如“cat”出现在第5个位置就是。致命缺陷无法自然外推Extrapolation假设模型训练时看到的最长句子是 512 个 Token学习了到。当测试时输入一段 2048 个 Token 的文本模型无法工作——因为它从来没有见过及之后的参数。这也是早期 GPT 等模型处理长文本最大的限制之一。三、 RoPE 的破局思想从“绝对编号”到“相对距离”RoPERotary Position Embedding跳出了“为每个位置分配一个向量”的思维定势。作者洞察到语言的一个本质规律Transformer 真正关心的不应该是“词在第几个位置”而是“词与词之间相距多远”。如“The cat sat”与“Yesterday the little cat happily sat”。这两句话中“cat”和“sat”的绝对位置发生了变化但它们之间的距离始终是1。它们之间的语法和语义关系并未改变。因此Attention 真正需要感知的是相对位置Relative Position。四、 几何直觉RoPE 到底在做什么不要被“旋转矩阵”这种数学术语吓倒RoPE 的几何思想其实非常直观。假设 Embedding 是二维平面上的一个向量RoPE 的操作就是根据 Token 的位置索引将这个向量旋转一定的角度位置 0不旋转→位置 1旋转一个单位角度↗位置 2旋转↑位置 3旋转在这个过程中Embedding 向量的长度Magnitude没有任何改变仅仅是方向Angle变了。这就是它名字中“Rotary旋转”的由来。五、 为什么旋转能表示相对距离这是RoPE最精妙的地方。Transformer计算Attention时核心操作是Query和Key的点积()。假设我们对 Q 和 K 都进行了旋转操作Token A 在位置 2其向量旋转了Token B 在位置 3其向量旋转了在向量数学中两个向量的点积天然取决于它们之间的“夹角差”。当这两个旋转后的向量做点积时模型实际感知到的角度差是。这个角度差精准地反映了两个 Token 之间的相对距离3 - 2 1。通过这种方式RoPE 并没有显式告诉模型“我是第 100 个 Token”而是巧妙地通过旋转角度的差值告诉模型“我和另一个 Token 相隔多远”。六、 为什么 RoPE 特别适合现代 LLMLLaMA 采用 RoPE 后它迅速成为了几乎所有现代大模型Mistral、Qwen、DeepSeek 等的标准配置主要归功于以下三大优势核心优势详细解析天然建模相对位置自然语言中修饰词与名词、主语与谓语通常距离较近。RoPE 将这种距离关系直接编码在 Attention 的点积中高度契合语言本身的规律。零额外参数传统绝对位置编码需要为每个位置学习并存储一套参数而 RoPE 仅通过固定公式计算旋转角度无需任何可学习参数更加轻量。无限的长文本扩展潜力传统编码遇到没见过的新位置会直接失效而 RoPE 面对第 5000 甚至 10000 个 Token 时只需按公式继续旋转即可。结合后来的 NTK Scaling、YaRN 等技术RoPE 让大模型轻松突破 128K 甚至 1M 的上下文长度。结果主要评估了 LLaMA 模型在20 个基准测试上的零样本Zero-shot和少样本Few-shot性能。该章节将 LLaMA 与 GPT-3、Gopher、Chinchilla、PaLM 等主流闭源模型以及 OPT、GPT-J 等开源模型进行了全面对比主要内容可概括为以下五个方面1. 常识推理 (Common Sense Reasoning)评估基准在 BoolQ、PIQA、SIQA、HellaSwag、WinoGrande、ARCeasy/challenge和 OpenBookQA 这 8 个常识推理基准上进行了零样本评估。核心表现LLaMA-65B 在绝大多数基准上超越了 Chinchilla-70B仅在 BoolQ 上落后和 PaLM-540B仅在 BoolQ 和 WinoGrande 上落后。参数效率仅有 13B 参数的 LLaMA-13B 在大多数基准上超越了参数量高其 10 倍的 GPT-3。2. 闭卷问答与阅读理解 (Closed-book QA Reading Comprehension)闭卷问答在 Natural Questions 和 TriviaQA 的评估中LLaMA-65B 在零样本和少样本设置下均取得了最先进SOTA的精确匹配表现。同时LLaMA-13B 也表现出极强的竞争力且该模型在推理时可直接运行在单张 V100 GPU 上。阅读理解在 RACE 基准测试中LLaMA-65B 的表现与 PaLM-540B 相当而 LLaMA-13B 则比 GPT-3 高出几个百分点。3. 数学推理与代码生成 (Mathematical Reasoning Code Generation)数学推理在 MATH 和 GSM8k 数据集上即便没有在专门的数学数据上进行微调LLaMA-65B 依然在 GSM8k 上超越了经过数学微调的 Minerva-62B。代码生成在 HumanEval 和 MBPP 基准上LLaMA 优于同等规模的其他通用大模型如 LaMDA 和 PaLM。其中LLaMA-13B 的代码生成能力超越了 LaMDA-137BLLaMA-65B 超越了训练时间更长的 PaLM-62B。4. 大规模多任务语言理解 (MMLU)性能对比在 5-shot 评估中LLaMA-65B 的平均成绩略微落后于 Chinchilla-70B 和 PaLM-540B 几个百分点。原因分析作者推测这可能是由于预训练数据中书籍和学术论文ArXiv、Gutenberg、Books3的总量相对有限仅 177GB而对比模型则使用了高达 2TB 的书籍数据。5. 训练过程中的性能演变 (Performance Evolution)核心规律在大多数基准测试中模型的性能随着预训练 Token 数量的增加而稳步提升并与模型的训练困惑度Perplexity高度相关。异常情况部分基准如 SIQA 表现出较大的波动性而 WinoGrande 上的表现与困惑度的关联性较弱其中 LLaMA-33B 和 LLaMA-65B 在训练过程中的表现非常接近。