Llama 3.1 技术研究报告-1
llama3模型
人工智能系统主要依靠基础模型运行。本文阐述了一组新的基础模型系列——Llama 3。它是一组语言模型集群,在支持多语言能力的同时具备编码机制、推理能力以及工具集成特性。其最突出的特点是拥有最大规模的参数量——405B个参数构成的密集型转换器,并覆盖了多达128K个词语组合上下文窗口。本文对 Llama 3 进行了全面评估,并在众多任务场景中验证了其卓越性能表现:在图像识别、视频处理及语音处理等多个领域均达到了当前行业标准水平。此外我们还分享了该技术模块的具体实现细节包括预训练版本及其后训练优化版本等具体内容:其中预训练版本包含405B参数的语言模型;而后训练版本则针对具体应用场景进行了优化以提升实际应用效果并确保输入输出的安全性。最后我们还展示了通过混合方法将图像识别视频处理及语音处理功能整合到 Llama 3 中所取得的一系列实验成果:这些成果表明该技术方案在多个关键领域与现有最先进的解决方案具有可比性甚至超越性。
一、引⾔
基础模型是语⾔、视觉、语⾳和/或其他模式的通⽤模型,旨在⽀持各种⼈⼯智能任务。它们构成了许多现代⼈⼯智能系统的基础。
现代基础模型的开发包括两个主要阶段:
(1) 训练前阶段,在这⼀阶段中,利⽤下⼀个单词预测或字幕等简单任务对模型进⾏⼤规模训练;
(2) 训练后阶段,在这⼀阶段中,对模型进⾏调整,使其遵循指令、符合⼈类偏好并提⾼特定能⼒(例如编码和推理)。在本⽂中,我们提出了⼀套新的语⾔基础模型,称为 “Llama 3”。Llama 3 模型群原⽣⽀持多语⾔性、编码、推理和⼯具使⽤。我们最⼤的模型是拥有 405B 个参数的密集变换器(Transformer),可处理多达 128K 标记的上下⽂窗⼝中的信息。
表 1 列出了语群的每个成员。本⽂中介绍的所有结果都是针对 Llama 3.1模型的,为简洁起⻅,我们在全⽂中将其称为 Llama 3。
我们认为,在开发⾼质量基础模型的过程中有三个关键杠杆:数据、规模和复杂性管理。我们⼒求在开发过程中优化这三个杠杆:
• 数据:
相较于 Touvron 等人发表于 2023a,b 的先前版本的 Llama 模型,在优化前向与反向训练数据的数量与质量方面我们做出了改进工作。具体而言,在包含约 15,000,000,000,000 多语言词汇量的语料库上对 Llama-3 进行了预训练工作;而仅仅拥有 1.8×1e+12 单位词量的 Llama-2 模型仅进行了基础预训练。
• 规模:
我们所训练的模型规模远超前代Llama系列中的顶级语言模型:该款高端语言模型在预训练过程中消耗了3.8×10^25次浮点运算(FLOPs),几乎是当前最大版本Llama 2处理能力的50倍。具体而言,在经过15.6TB标注过的文本来本上进行预训练的是一个拥有405B参数量的顶级.model。按照基本比例扩展规律所指出的情况,在这种情况下最大的计算规模与顶级语言 model相当。尽管按照我们目前的技术预算限制,在这种情况下最大的计算规模与顶级 language model相当。但相比而言,在同样预算下完成一次完整推理过程所需的时间较长。当推理资源受限时,请注意最终构建出来的 top 级别 language model 在性能指标上优于理论极限下的计算能力

• 管理复杂性:
我们所做的设计策略旨在最大限度地提升模型开发过程的能力。例如,我们选择了经典的密集型架构(Vaswani等人,2017年)并稍作优化,而不是专家混合型架构(Shazeer等人,2017年)。这一选择的最大优势在于显著提升了训练过程的稳定性。同样,我们采用了基于监督微调(SFT)、拒绝采样(RS)和直接偏好优化(DPO;Rafailov等人,2023年)的相对简单后培训方案,而不是更为复杂的强化学习算法(欧阳等人,2022年;Schulman等人,2017年)。这些强化学习算法通常表现出较差的稳定性和扩展性
我们的研究成果是Llama 3:由三个不同语言组成的语言模型集合,参数分别为8B、70B和405B
我们在大规模基准数据集上对Llama 3进行了性能评估,这些数据集涵盖了广泛的自然语言理解和任务范围。此外,我们还进行了大量的人工评估工作,将Llama 3与当前领先的语言模型进行了全面对比。表2列出了旗舰版本Llama 3在主要基准上的性能概览

二、总体概述
Llama 3 的模型架构如图 1 所⽰。Llama 3 语⾔模型的开发主要分为两个阶段:
语言模型预训练。首先我们将一个大规模多语言文本语料库编码为离散标签并存储起来然后利用这些生成的数据对大型语言模型(LLM)进行培训使其能够执行下一个标签的任务。在语言模型预训练阶段该模型会学习语言结构并通过处理过的文本数据不断积累关于世界知识。为了实现这一目标我们进行了大规模的数据预处理和模型培训工作使用了一个包含8K窗口大小上下文窗口的大规模数据集并在15.6T标记的数据集上构建了一个拥有405B参数的语言模型。在此标准预培训阶段结束后我们将继续进行后续培训并将支持更大的上下文窗口容量扩展至128K window size以进一步提升模型性能。
• 语言模型后训练 。经过预训练的智能体对于语言拥有丰富的理解和认知能力, 但目前还无法以人类预期的方式执行指令或行为。我们将基于人类反馈和指示的多阶段微调过程, 在每一轮训练中均采用监督微调(SFT)方法进行优化, 并使用调整后的指令数据集作为训练来源。(SFT)同时, 我们还整合了一系列辅助工具功能, 并观察到在编码和推理等方面显著提升了性能表现。详细内容请参考第4节。此外, 在最终阶段我们还将引入一系列安全缓解机制, 具体设计将在第5.4节中进行阐述。
该模型由此生成具有丰富特性的知识体系;它至少能够运用八种语言回答各类问题、编写高质量代码、解决复杂推理任务,并支持即插即用或零样本方式调用工具包。
我们还进行了实验研究;采用组合方式为 Llama 3 添加图像识别、视频处理以及语音识别功能。我们研究的方法包括图 28 所示的三个附加模块:
多模态编码器预训练

Llama 3 是一个经过训练的 Transformer 语言模型, 该模型专用于预测文本序列中的下一个标记, 参考完整内容。
视觉适配器的系统设计旨在实现高效的任务适应能力
• 语⾳适配器训练 。最后,我们通过⼀个适配器将语⾳编码器集成到模型中,该适配器可将语⾳编码转换为标记表⽰,然后直接输⼊经过微调的语⾔模型。适配器和编码器的参数在有监督的微调阶段共同更新,以实现⾼质量的语⾳理解。在语⾳适配器训练过程中,我们不会改变语⾔模型。我们还集成了⽂本到语⾳系统。详⻅第 8 节。
通过多模态实验,我们建⽴了能够识别图像和视频内容并⽀持通过语⾳界⾯进⾏交互的模型。这些模型仍在开发中,尚未准备好发布。
三、预训练
语言模型的预训练涉及 :
(1) 大规模语言数据集的收集与精炼;
(2) 模型架构的设计与规模控制规则的确立;
(3) 大规模高效预训练技术的研发;以及
(4) 预训练方案的设计。我们接下来将逐一阐述这些构成要素。
3.1预训练数据
基于多类别的2023年底之前知识数据源构建了一个用于语言模型预训练的数据集
3.1.1⽹络数据整理
我们采用了 majority of our data sourced from the internet, and the following paragraphs will detail our cleanup procedures.
The system implements PII and safety filtering measures, designed to remove potentially harmful data from websites flagged by Meta's security standards or known to contain adult content, as well as from large-scale web pages containing significant amounts of PII.
Text extraction and cleanup processes were developed to handle non-choppy web documents, focusing on extracting high-quality, diverse text content from their original HTML structures.
To achieve this, we created a custom parser specifically for HTML content extraction and optimized its template removal and content retrieval accuracy. Through human evaluation studies, we compared its performance against a third-party open-source HTML parser optimized for article-style content. Our tests showed that the custom parser performed well. Special attention was paid to preserving image alt text because mathematical content is typically rendered as pre-styled images, and the alt attributes serve as an alternative representation in such cases. We experimented with different cleanup configurations to assess their impact. While pure text-based systems showed promise, we found that markdown syntax tokens negatively impacted model performance on network data, leading us to remove all markdown tokens during processing. To ensure data integrity across multiple levels of processing, we applied multi-round deduplication at URL level, document level, and application level.
URL级别的重复数据去重。我们从整个数据集中剔除URL级别上的重复项。为了保证每个页面的最新状态,我们确保每个URL均保留其最新的网页内容。
• 文档级别去重操作:我们对整个数据集进行了全局 MinHash(Broder, 1997 年)去重操作,并去除高度相似的文档集合。
• 行级重复数据清理策略结合ccNet算法对大规模文档集进行去重处理。尽管根据我们手动的质量评估结果表明, 行级去重不仅能够清除各类网站残留模板(如导航菜单、cookie警示信息),还能有效去除频繁出现的高质量文本内容,但通过实证实验结果表明,该方法在提升去重效率的同时显著提升了系统性能指标。
启发式过滤系统:基于启发式的去重策略设计了一种新的算法框架用于筛选冗余的数据样本。
其中一些典型的应用案例包括:
我们采用n-gram重叠度量(Rae等, 2021年)对包含日志信息或其他错误信息的一整行数据进行去除处理。由于这类行数据通常长度较长且独一无二,因此无法通过行内删除法进行有效过滤。
我们采用违法词汇识别技术(Raffel等, 2020年)对不在黑名单中的成人网站链接进行识别并排除。
我们利用KL散度分析模型筛选出与训练数据分布相比异常突出的内容并进行检测与剔除。
基于模型的质量筛选 。此外,在线尝试应⽤多种基于模型的质量分类器来区分⾼质量的标记 ,其中包括采用快速分类器(如 fasttext ,Joulin等人 ,2017年)以及训练其识别给定⽂本是否会被维基百科引⽤(Touvron等人 ,2023a)等技术手段 。为了训练基于 Llama 2 的质量分类器 ,我们构建了一个经过清理的⽹络⽂档训练集 ,详细描述了相应的质量要求,并指导 Llama 2 聊天模型判断文档是否符合这些要求 。为提高效率 ,我们采用了 DistilRoberta (Sanh等人 ,2019年)对每份⽂档⽣成相应的质量分数 。通过实验验证了不同质量和过滤配置所带来的效果差异 。
代码与推理信息 。类似于DeepSeek-AI等参与者(2024年),我们构建了一个专门领域管道以收集代码及相关的数学内容。具体而言,在Llama 2标注的数据集上训练形成了DistilledRoberta模型作为代码分类器及推理引擎。相较于常规质量分类器进行了优化的地方在于,我们专门针对包含数学推导,STEM领域推理以及交叉交织的网络资源进行了针对性优化.由于代码及数学标记分布与其自然语言标记分布之间存在显著差异,因此我们开发出了专门针对这些领域实施的内容抽取系统,包括定制文本特征提取模块以及基于启发式的过滤机制.
多语言数据管道方面。与英语处理管道类似,在之前描述的基础上我们构建了一个过滤系统用于去除包含PII或不可用内容的网站数据集。该多语言文本处理管道具有以下独特功能:首先我们采用了快速文本的语言识别模型对文件进行分类处理,并支持176种不同的语言类型;其次我们在每个语种的数据中实施了文件级和行级重复内容清理工作;最后我们针对每个语种应用了启发式的删除低质量文档的方法并结合基于模型的过滤机制来优化结果质量。此外我们还引入了基于Llama 2的大规模多语言分类器来进行内容质量排序从而确保高质量的内容能够优先得到处理通过实验研究我们确定在预训练过程中合理分配不同语种标记的数量以平衡模型在英语和其他多语种基准测试中的性能表现
3.1.2 确定数据混合
创建高效精准的自然语言处理系统
知识分类
为了优化数据混合策略,在研究过程中我们采用了规模定律实验的方法。具体而言,在数据混合技术上进行了多轮实验:首先通过训练多个小型模型来评估不同数据混合方案的效果;然后将这些小型模型的结果作为输入来预测大型模型在不同混合方案下的表现(参考第3.2.1节)。通过反复实验筛选出新的数据组合候选方案。随后,在候选数据组合基础上构建一个更大规模的模型,并对其在多个基准测试集上进行性能评估。
数据整合摘要 。我们最终的数据整合主要涵盖50%涉及通用知识标记的内容、25%为数学与推理相关的标签、约17%为代码相关的标签以及8%多语⾔相关的标识符。
3.1.3 退火数据
基于实证研究,在有限量的高质量代码和数学数据上实施退火(见第3.4.3节)能够显著提升预训练模型在关键基准上的性能。类似Li等人的研究(2024b),我们采用选定领域内高质量数据采样的数据混合策略来实施退火操作。为了避免将常规基准当作训练集引入退火数据中常用于评估的任何训练集的标准基准测试集的数据样本这一做法使得我们可以独立评估Llama 3的真实少次学习能力和领域外泛化能力。参考OpenAI(2023a)的研究方法我们在GSM8k(Cobbe等人 2021年)以及MATH(Hendrycks等人 2021b)等训练集上对退火效果进行了评估发现这种技术可以使预训练的Llama 3 8B模型在GSM8k验证集上的表现提升至96.0而在MATH验证集上的表现则提升了6.4%
采用温度降温和每个小样本数据集进行规模规律实验相比而言更为高效
3.2 模型架构
Llama 3基于官方认可的标准密集Transformer架构(Vaswani及其团队, 2017年)。与现有的Llama系列模型(Touvron等研究团队, 2023a,b)在基本模型架构上存在显著一致性;我们所观察到的性能提升主要得益于数据质量和多样性较前版本的显著优化以及训练规模的扩大。
与Llama 3相⽐,我们做了⼀些⼩的修改:
本研究采用分组查询注意力(GQA;Ainslie等人, 2023)以及8个键值头架构来显著提升推理速度,并在解码阶段降低了键值缓存的大小。
为了防止同一序列内不同文档间的自注意力干扰,在此基础上我们引入了注意力掩码机制。经过实验验证,在标准预训练阶段该方法的效果较为有限;然而,在持续训练长度过长的序列时发现其重要性逐渐凸显。

我们构建了一个包含128,000个标记的词汇表。该词汇表整合了来自Tiktoken 3分词器的基础库——包含10万级的手动标注——并补充了额外的专业术语和方言词汇(共计约2.8万项)。这一改进使得我们的系统能够更有效地支持非英语语言的理解与处理。相较于Llama 2 tokenizer,在相同的训练计算资源下(每个token所需的空间),我们的新型 tokenizer 将样本英语数据的有效存储空间提升了约6%(从约3.17倍提升至约3.94倍)。这一优化不仅降低了对内存资源的需求,在实际应用中显著提升了处理能力的同时还能有效减少推理时所需的内存占用(每个token所需的空间)。此外,在不干扰英语分词的前提下(即无需额外修改现有的基础库),我们增加了来自选定非英语语言领域的专业术语注释(共计约2.8万项),并进一步提升了压缩比以及下游任务的表现。
我们提升了RoPE基础频率超参数至500,000这一举措。这不仅有助于更有效地支持较长的上下文序列;研究表明该值在处理长度不超过32,768的上下文时表现最佳。
3.2.1 规模定律
我们基于Hoffmann等人的研究(2022年)以及Kaplan团队(2020年)制定了一种规模规律来确定旗舰模型的最佳大小,在预训练计算资源有限的情况下。除了确定旗舰模型的最佳大小之外,在准确评估旗舰模型在下游基准任务上的实际性能水平方面也面临诸多挑战:
为了面对这些挑战, 我们采用了两个阶段的方法, 以开发能够精确预测下游基准性能的比例法则
- 我们⾦先评估最佳计算模型在目标领域上的负对数似然与其训练FLOPs之间的关系。
- 随后,在这一阶段中, 我们将目标领域的负对数似然与其任务准确率相关联,并采用规模定律模型结合更高FLOPs训练的旧模型进行分析。
在此阶段中, 我们特别采用了Llama 2系列的架构。
该种方法使得我们在给定特定数量的训练FLOPs时能够预测计算最优模型的下游任务性能。通过采用类似的方法,在第3.4节中选择了我们的预训练数据混合方式。
实验探究规模定律
我们建议采用指标数值为0.95和A=0.537等参数来进行计算效率评估。在6×10¹⁸至10²²浮点运算(FLOPs)范围内生成IsoFLOPs曲线图谱。基于独立验证集评估每个运算规模下的损失情况。通过二次方程回归方法对每个运算规模下的损失进行建模,并找到每个抛物线的最小点作为基准点。我们将每个抛物线的最小点定义为对应预训练预算下的最优模型参数设置
通过这些实验得出了图2所示的IsoFLOPs曲线数据。在单一验证集中测定了这些曲线上的损失数值。通过二次方程拟合法对收集到的损失数据进行建模,并找出每个抛物线最低点。将单条抛物线上最低点定义为在特定预训练计算资源下的最优计算模型。
通过这种⽅式筛选出的计算最优模型来推断特定计算预算下的最佳训练标记数量。基于此,我们假设计算预算C与最优训练标记数量N^*之间存在幂律关系:
基于此,我们使⽤图2中的数据拟合A和α,发现(α, A)=(0.53, 0.29);相应的拟合曲线如图3所⽰。将其应用至3.8 × 10^25 FLOPs,指导训练⼀个具有402B参数的模型在16.55T标记上。
值得注意的关键发现表明,在计算资源投入不断增长的情况下,IsoFLOPs曲线呈现趋近于平缓的状态。这一现象表明,在微调模型大小与训练标记之间的平衡关系上(即数量级的变化),顶级模型的表现表现出高度鲁棒性。基于这一发现,我们选择构建一个拥有405B参数量级的顶级模型。
评估下游任务中的性能表现

注:上述文章内容来自于LLama3.1的技术报告,本文是翻译文章!!!
