第1-3部分
第4部分
5 Results
我们对Llama 3进行了一系列广泛的评估,调查了:(1)预训练语言模型的性能,(2)后训练语言模型的性能,以及(3)Llama 3的安全特性。我们在下面单独的小节中提出这些评估的结果。
5.1 Pre-trained Language Model 预训练语言模型
在本节中,我们报告了预训练的Llama 3(第3节)的评估结果,并与其他各种规模相当的模型进行了比较。只要有可能,我们就复制竞争对手模型的结果。对于非llama模型,我们在公开报告的结果或(在可能的情况下)我们自己复制的结果中报告最佳分数。这些评估的细节,包括配置,如射击次数,指标,和其他相关的超参数和设置,可以在这里访问我们的Github存储库。
此外,我们正在发布作为评估的一部分的数据,这些数据可以在Huggingface上找到。我们在标准基准(第5.1.1节)、多项选择题设置变化的稳健性(第5.1.2节)和对抗性评估(第5.1.3节)上评估模型的质量。我们还进行了污染分析,以估计我们的评估受到培训数据污染的影响程度(第5.1.4节)。
5.1.1 Standard Benchmarks 基准
为了将我们的模型与当前最先进的模型进行比较,我们对Llama 3进行了大量标准基准评估,如表8所示。这些评估包括八个顶级类别:(1)常识性推理;(2)知识;(3)阅读理解;(4)数学、推理和解决问题的能力;(5)长语境;(6)代码;(7)对抗性评价;(8)综合评价。
实验设置。对于每个基准,我们计算Llama 3以及各种其他可比较大小的预训练模型的分数。在可能的情况下,我们用自己的管道为其他模型重新计算数字。为了确保公平的比较,我们然后在我们计算的分数和具有可比或更保守设置的模型的报告数字之间选择最佳分数。您可以在这里找到有关我们评估设置的更多详细信息。对于某些模型,不可能(重新)计算基准值,例如,因为没有释放预训练的模型,或者因为API没有提供对对数概率的访问。特别是,对于所有与Llama 3 405b相当的模型都是如此。因此,我们不报告Llama 3 405b的类别平均值,因为它要求所有的数字都可用于所有基准测试。
显著值。在计算基准分数时,有几个方差来源会导致模型在基准上的性能估计不精确,例如少样本、随机种子和批大小。这使得理解一个模型是否在统计上明显优于另一个模型变得具有挑战性。出于这个原因,我们报告了我们的分数以及来自基准数据选择的方差的95%置信区间(ci)。我们使用公式(Madaan et al ., 2024b)分析计算95% ci:
其中S为首选基准分数,N为基准的样本量。我们注意到,因为基准数据中的方差不是方差的唯一来源,所以这些95% ci是能力估计中实际方差的下界。对于非简单平均值的度量,ci被省略。
8B和70B模型的结果。图12报告了Llama 3 8b和70B在常识性推理、知识、阅读理解、数学和推理以及代码基准测试方面的平均性能。结果显示,Llama 3 8b几乎在每个类别中都优于竞争机型,无论是在每个类别的胜率方面,还是在每个类别的平均性能方面。我们还发现,在大多数基准测试中,除了可能饱和的常识性基准测试外,Llama 3 70b的性能大大优于其前身Llama 2 70b。Llama 3 70b也优于Mixtral 8x22B。
所有模型的详细结果。表9、10、11、12、13和14给出了预训练的Llama 3 8b、70B和405B模型在阅读理解任务、编码任务、常识理解任务、数学推理任务和一般任务上的基准性能。表格比较了Llama 3的表现尺寸相近的模型。结果表明,Llama 3 405b与同类车型相比具有较强的竞争力。特别是,Llama 3 405b大大优于以前的开源模型。对于长期上下文,我们在5.2节中给出了更全面的结果(包括像大海捞针一样的探测任务)。
5.1.2 Model Robustness 鲁棒性
除了基准性能之外,鲁棒性是预训练语言模型质量的重要因素。我们研究了我们的预训练语言模型在多选题(MCQ)设置中设计选择的鲁棒性。先前的研究报告称,在这种设置中,模型性能可能对看似任意的设计选择很敏感,例如,模型分数甚至排名可能会随着上下文示例的顺序和标签而改变(Lu et al, 2022;赵等,2021;罗宾逊和温盖特,2023年;Liang等,2022;Gupta等人,2024),提示符的确切格式(Weber等人,2023b;Mishra et al, 2022),或者答案选择的格式和顺序(Alzahrani et al, 2024;Wang et al ., 2024a;郑等,2023)。在这项工作的激励下,我们使用MMLU基准来评估我们预训练模型的鲁棒性:(1)少镜头标签偏差,(2)标签变量,(3)回答顺序,(4)提示格式。
•少量标签偏见。继Zheng等人(2023)和Weber等人(2023a)之后,我们在四镜头示例中研究了标签分布的影响。具体来说,我们考虑以下设置:(1)所有少数例子有相同的标签(A A A A);(2)所有例子都有不同的标签(a B C D);(3)只有两个标签(A A B B和C C D D)。
•标签变体。我们还研究了模型对不同选择tokens集的响应。我们考虑Alzahrani等人(2024)提出的两个集合:即一组与公共语言无关的标记($ & # @)和一组没有任何隐式相对顺序的稀有标记(“§з”ü)。我们还考虑了两个版本的规范标签(A) B、C、D和A) B、C、D)和一个数字列表(1)。2. 3. 4)。
•回答问题。根据Wang等人(2024a),我们计算了结果在不同回答顺序上的稳定性。为了计算这个,我们根据一个固定的排列重新映射数据集中的所有答案。例如,对于排列A B C D,所有标签为A和B的答案选项都保留标签,所有标签为C的答案选项都获得标签D,反之亦然。
•提示格式。我们评估了五个任务提示的性能差异,这些提示所提供的信息水平不同:一个提示只是要求模型回答问题,而其他提示则断言模型的专业知识或应该选择最佳答案。
图13展示了我们研究模型性能对标签变体(左)和少射标签偏差(右)的鲁棒性的实验结果。结果表明,我们的预训练语言模型对MCQ标签的变化和少量提示标签的结构具有很强的鲁棒性。这种稳健性对于405B参数模型的发音。图14展示了我们对回答顺序和提示格式的稳健性的研究结果。图中的结果进一步强调了我们预训练语言模型,特别是Llama 3 405b的性能的稳健性。
5.1.3 Adversarial Benchmarks 对抗性基准
除了上面提到的基准测试之外,我们还在三个方面评估了几个对抗性的基准测试:问题回答、数学推理和释义检测。该测试考察了模型在特别创建的具有挑战性的任务上的能力,并且可能还指向基准上的过拟合。对于问答,我们使用对抗性SQuAD (Jia and Liang, 2017)和动态SQuAD (Kiela et al, 2021)。对于数学推理,我们使用GSM-Plus (Li et al, 2024c)。对于释义检测,我们使用PAWS (Zhang et al ., 2019)。
图15显示了Llama 3 8b、70B和405B在对抗性基准测试上的分数,作为它们在非对抗性基准测试上表现的函数。我们使用的非对抗性基准是用于问答的SQuAD (Rajpurkar等人,2016),用于数学推理的GSM8K,以及用于意译检测的QQP (Wang等人,2017)。每个数据点代表一对对抗性和非对抗性数据集(例如:QQP与PAWS配对),我们在一个类别中显示所有可能的配对。对角线黑线表示对抗性和非对抗性数据集之间的奇偶性-在这条线上将表明模型具有相似的性能,而不管对抗性的性质。
在意译检测上,预训练和后训练的模型似乎都没有受到构建PAWS的对抗性的影响,这标志着相对于上一代模型迈出了实质性的一步。这一结果证实了Weber等人(2023a)的发现,他们还发现llm不太容易受到在几个对抗性数据集中发现的虚假相关性的影响。然而,对于数学推理和问题回答,对抗的表现明显低于非对抗的表现。此模式与预训练模型和后训练模型相似。
5.1.4 Contamination Analysis 污染分析
我们进行了污染分析,以估计基准分数可能受到预训练语料库中评估数据污染的影响程度。在以前的工作中,使用了几种不同的污染方法,具有各种不同的超参数-我们参考Singh等人(2024)作为概述。这些方法中的任何一种都可能出现假阳性和假阴性,而如何最好地进行污染分析目前仍是一个开放的研究领域。在这里,我们主要遵循Singh等人(2024)的建议。
方法。具体来说,Singh等人(2024)建议根据经验选择污染检测方法,根据哪种方法导致数据集的“干净”部分与整个数据集之间的最大差异,他们称之为估计性能增益。对于我们所有的评估数据集,我们基于8克重叠对示例进行评分,这是Singh等人(2024)发现的一种方法,对许多数据集都是准确的。我们认为数据集D的一个例子被污染,如果其标记的比率TD是在预训练语料库中至少出现一次的8克的一部分。我们分别为每个数据集选择TD,根据该值显示三种模型尺寸中最大的显著估计性能增益。
结果。在表15中,我们报告了所有关键基准测试中被认为受污染的评估数据的百分比,以获得最大的估计性能增益,如上所述。从表中,我们排除了结果不显著的基准的数字,例如,因为干净或污染集的示例太少,或者因为观察到的性能增益估计显示了极其不稳定的行为。在表15中,我们观察到,对于一些数据集污染有很大的影响,而对于其他数据集则没有。例如,对于PiQA和HellaSwag,对污染的估计和对性能增益的估计都很高。另一方面,对于自然问题,估计的52%的污染似乎对性能几乎没有影响。对于SQuAD和MATH,低阈值会产生高水平的污染,但不会提高性能。这表明污染要么对这些数据集没有帮助,要么需要更大的n来获得更好的估计。最后,对于MBPP、HumanEval、MMLU和MMLU- pro,可能需要其他污染检测方法:即使使用更高的阈值,8克重叠也会给出如此高的污染分数,以至于不可能获得良好的性能增益估计。
5.2 Post-trained Language Model 后训练语言模型
我们在不同能力的基准测试中展示了我们的Llama 3后训练模型的结果。与预训练类似,我们将生成的数据作为评估的一部分发布,这些数据可以在Huggingface上找到。关于我们的eval设置的更多细节可以在这里找到。
基准和指标。表16包含所有基准测试的概述,按能力组织。我们通过与每个基准的提示进行精确匹配来应用训练后数据的净化。除了标准的学术基准之外,我们还对不同的能力进行了广泛的人工评估。详情见第5.3节。
实验设置。我们采用了与预训练阶段类似的实验设置,并将Llama 3与其他尺寸和能力相当的模型进行了比较分析。在可能的范围内,我们自己评估其他模型的性能,并将结果与报告的数字进行比较,选择最好的分数。您可以在这里找到有关我们评估设置的更多详细信息。
5.2.1 General Knowledge and Instruction-Following Benchmarks 一般知识和指导遵循基准
我们对Llama 3的一般知识和指令遵循的基准进行了评估,见表2。
一般知识。我们利用MMLU (Hendrycks等人,2021a)和MMLU- pro (Wang等人,2024b)来评估Llama 3在基于知识的问答方面的能力。对于MMLU,我们报告了在没有CoT的5次标准设置下子任务精度的宏观平均值。MMLU- pro是MMLU的扩展,包含更具挑战性,以推理为重点的问题,消除了嘈杂的问题,并将选择集从四个扩展到十个选项。鉴于其对复杂推理的关注,我们报告了MMLU-Pro的5次CoT。所有任务都被格式化为生成任务,类似于simple-eval (OpenAI, 2024)。
如表2所示,我们的8B和70B Llama 3变体在这两个通用知识任务上都优于其他类似大小的模型。我们的405B型号优于GPT-4和Nemotron 4340b,Claude 3.5 Sonnet在大型型号中领先。
指令遵循。我们评估了Llama 3和其他模型在IFEval上遵循自然语言指令的能力(Zhou et al ., 2023)。IFEval包含大约500个“可验证指令”,例如“写400字以上”,可以通过启发式验证。我们在表2中报告了在严格和宽松约束下的提示级和指令级准确度的平均值。请注意,所有Llama 3变体在IFEval中都优于可比模型。
5.2.2 Proficiency Exams 熟练度测试
接下来,我们在各种最初设计用于测试人类的熟练程度考试中评估我们的模型。我们从公开的官方资源中获取这些考试;对于某些考试,我们报告每个熟练程度考试的不同考试集的平均分数。具体来说,我们平均:
•GRE:官方GRE实践测试1和2(来自教育考试服务);
•LSAT:官方预考71、73、80和93;
•SAT: 2018年官方SAT学习指南版的8门考试;
•AP:每门科目一次官方练习考试;
•GMAT官方GMAT在线考试。
这些考试中的问题包括MCQ风格和生成问题。我们排除了带有图片的问题。对于包含多个正确选项的问题的GRE考试,只有当模型选择了所有正确选项时,我们才将输出限定为正确。评估结果如下在每次考试超过1个考试集的地方,使用几个镜头提示来运行。我们将GRE分数定在130-170之间,并报告其他所有考试的准确性。
我们的结果见表17。我们观察到我们的Llama 3 405b模型的性能与Claude 3.5 Sonnet和gpt - 4非常相似。我们的70B型号有更令人印象深刻的性能。它明显优于GPT-3.5 Turbo,并在许多测试中击败了Nemotron 4 340B。
5.2.3 Coding Benchmarks 代码基准
我们在几种流行的Python和多编程语言基准测试中评估了Llama 3的代码生成。为了衡量我们的模型在生成功能正确的代码方面的有效性,我们使用pass@N指标,它评估N代中一组单元测试的通过率。我们报道pass@1。
Python代码生成。HumanEval (Chen等人,2021)和MBPP (Austin等人,2021)是Python代码生成的流行基准,它们专注于相对简单、自包含的函数。HumanEval+ (Liu et al ., 2024a)是HumanEval的增强版本,它生成了更多的测试以避免误报。MBPP EvalPlus基础版本(v0.2.0)从所有原始MBPP(训练和测试)数据集中的974个初始问题中选择了378个格式良好的问题(Liu et al ., 2024a)。这些基准测试的结果如表18所示。在这些基准测试的Python变体中,Llama 38b和70B表现更好尺寸相近的模型。对于最大的模型,Llama 3405b, Claude 3.5 Sonnet和gpt - 40表现相似,其中gpt - 40表现出最强的结果。
多编程语言代码生成。为了评估Python之外的代码生成能力,我们报告了基于HumanEval和MBPP问题翻译的multi - e (Cassano et al, 2023)基准测试的结果。表19报告了流行编程语言子集的结果。请注意,与表18中的Python版本相比,性能有明显下降。
5.2.4 Multilingual Benchmarks 多语言基准
Llama 3支持8种语言——英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语,尽管底层的基础模型已经在更广泛的语言集合上进行了训练在表20中,我们展示了在多语言MMLU (Hendrycks等人,2021a)和多语言小学数学(MGSM) (Shi等人,2022)基准上评估Llama 3的结果。
多语种MMLU。我们使用谷歌翻译翻译MMLU问题、少量示例和答案。我们留下了英语的任务说明,并在5个镜头的设置中进行评估。在表20中,我们报告了德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语的平均结果。
MGSM (Shi et al, 2022)。我们使用与simple-evals (OpenAI, 2024)相同的本地提示来测试0-shot CoT设置中的模型。在表20中,我们报告了MGSM基准测试中涵盖的语言的平均结果。
我们发现Llama 3 405b在MGSM上的表现优于大多数其他型号,平均达到91.6%。在MMLU上,与上面显示的英语MMLU结果一致,Llama 3 405b比gpt - 40落后2%。另一方面,Llama 3 70b和8B都表现出强劲的性能,在两项任务中都以较大的优势领先于竞争对手。
5.2.5 Math and Reasoning Benchmarks 数学和推理基准
我们的数学和推理基准测试结果如表2所示。Llama 3 8b模型在GSM8K、MATH和GPQA上优于其他类似大小的模型。在所有基准测试中,我们的70B机型的表现都明显好于同级别的其他机型。最后,Llama 3 405b型号在GSM8K和ARC-C上是同类产品中最好的,而在MATH上,它是第二好的型号。在GPQA上,它与gpt - 4有竞争力,Claude 3.5 Sonnet诗是最好的型号。
5.2.6 Long Context Benchmarks 长文本基准
我们考虑一组不同的任务,它们跨越不同的领域和文本类型。在我们下面列出的基准测试中,我们关注的是使用无偏评估协议的子任务,即基于准确性的指标,而不是n-gram重叠指标。我们还优先考虑我们发现低方差的任务。
•大海捞针(Needle-in-a-Haystack, Kamradt, 2023)衡量模型检索插入长文档随机部分的隐藏信息的能力。我们的Llama 3模型展示了完美的针检索性能,在所有文档深度和上下文长度下成功检索了100%的针。我们还测量了Multi-needle(表21)的性能,Multi-needle是大海捞针的一种变体,我们在上下文中插入四根针,并测试模型是否可以检索其中的两根。我们的Llama 3模型实现了近乎完美的检索结果。
•ZeroSCROLLS (Shaham等人,2023)是对长文本进行自然语言理解的零采样基准。我们报告验证集上的数字,因为真实答案不是公开的。我们的Llama 3 405b和70B模型在该基准测试中的各种任务上匹配或超过了其他模型。
•InfiniteBench (Zhang等人,2024)要求模型理解上下文窗口中的长依赖关系。我们在En上评估Llama 3。QA(关于小说的QA)和En。MC(小说的多项选择QA),我们的405B模型优于所有其他模型。在En.QA上的收益尤其显著。
5.2.7 Tool Use Performance 工具使用表现
我们在一系列零样本工具使用(即函数调用)的基准上评估我们的模型:Nexus (Srinivasan等人,2023),API-Bank (Li等人,2023b), Gorilla API-Bench (Patil等人,2023)和伯克利函数调用排行榜(BFCL) (Yan等人,2024)。结果如表22所示。
在Nexus上,我们的Llama 3变体比其他同类表现最好。在API-Bank上,我们的Llama 38b和70B模型在同类产品中表现明显优于其他模型。405B型号仅落后于Claude 3.5 Sonnet0.6%。最后,我们的405B和70B模型在BFCL上具有竞争力,在各自的尺寸类别中排名第二。Llama 3 8b在同级别中表现最好。
人类的评估。我们还进行人工评估,以测试模型的工具使用能力,重点放在代码执行任务上。我们收集了2000个与代码执行(没有绘图或文件上传)、绘图生成和文件上传相关的用户提示。这些提示是从LMSys数据集(Chiang等人,2024)、GAIA基准(Mialon等人,2023b)、人类注释器和合成生成中收集的。
我们使用OpenAI的助手API10将Llama 3 405b与gpt - 4进行比较。结果如图16所示。在纯文本代码执行任务和绘图生成方面,Llama 3 405b明显优于gpt - 4。然而,它在文件上传用例上落后了。
5.3 Human Evaluations 人工评估
除了在标准基准集上进行评估之外,我们还执行了一系列的人工评估。这些评估使我们能够度量和优化模型性能的更微妙的方面,例如我们的模型的语气、冗长性,以及对细微差别和文化背景的理解。精心设计的人工评估紧密地反映了用户体验,提供了对模型在真实场景中如何执行的见解。
提示收集。我们收集了高质量的提示,涵盖了广泛的类别和困难。为此,我们首先开发了一个分类法,其中包含捕获尽可能多的模型功能的类别和子类别。我们使用这种分类法收集了大约7个;000个提示跨越6个单独的功能(英语、推理、编码、印地语、西班牙语和葡萄牙语)和3个多回合功能(英语、推理和编码)。我们确保在每个类别中,提示在子类别中均匀分布。
我们还将每个提示分类为三个难度级别之一,并确保我们的提示集合包含大约10%的简单提示,30%的中等提示和60%的困难提示。所有的人类评估提示集受到彻底的质量保证过程的约束。建模团队无法访问我们的人工评估提示,以防止意外污染或测试集上的过拟合
评估过程。为了对两个模型进行两两评估,我们询问人类注释者,他们更喜欢两个模型响应(由不同模型产生)中的哪一个。注释者使用7分制进行评分,使他们能够表明一个模型响应是否比另一个模型响应好得多,好于,稍微好于,或者大致相同。当注释者指出一个模型响应比另一个模型响应更好或要好得多时,我们认为这是 该模型的“胜利”。我们对模型进行两两比较,在这些模型中,我们报告提示集中每个能力的胜率。
结果。我们使用人工评估过程将Llama 3 405B与GPT-4 (0125 API版本)、gpt - 40 (API版本)和Claude 3.5 Sonnet (API版本)进行比较。这些评估的结果如图17所示。我们观察到,Llama 3 405b的性能与GPT-4的0125 API版本大致相当,但与gpt - 40和Claude 3.5 Sonnet相比,取得了不同的结果(有些胜利,有些失败)。在几乎所有功能上,Llama 3和GPT-4的胜率都在误差范围内。在多回合推理和编码任务上,Llama 3 405b的表现优于GPT-4,但在多语言(印地语、西班牙语和葡萄牙语)提示上,它的表现不如GPT-4。Llama 3在英语提示上与gpt - 40相当,在多语言提示上与Claude 3.5 Sonnet相当,在单轮和多轮英语提示上优于Claude 3.5 Sonnet。然而,它在编码和推理等能力上落后于Claude 3.5 Sonnet。定性地说,我们发现模型在人类评估中的表现受到细微因素的严重影响,如模型语气、反应结构和冗长程度——这些因素是我们在训练后过程中优化的。总体而言,我们的人工评估结果与标准基准评估结果一致:Llama 3 405b与领先的行业模型非常有竞争力,使其成为性能最好的公开可用模型。
局限性。所有人工评估结果都经过了彻底的数据质量保证过程。然而,由于定义评估模型响应的客观标准具有挑战性,人类评估仍然可能受到个人偏见、背景和人类注释者偏好的影响,这可能导致不一致或不可靠的结果。
5.4 Safety 安全性
我们的研究重点是评估Llama 3以安全和负责任的方式生成内容的能力,同时仍然最大限度地提供有用的信息。我们的安全工作始于预培训阶段,主要是数据清理和过滤。然后,我们描述了我们的安全微调方法,重点是如何训练模型与特定的安全政策保持一致,同时仍然保持有用性。我们分析了Llama 3的功能,包括多语言、长上下文、工具使用和各种多模式功能,以衡量我们的安全缓解措施的有效性。
随后,我们描述了我们对网络安全和生化武器风险提升的评估。隆起是指与使用现有技术(如网络搜索)相比,新技术发展带来的额外风险。
然后,我们描述了我们如何利用Red teams来迭代地识别和处理跨能力的各种安全风险,并执行剩余风险评估。
最后,我们描述了系统级安全性,或者围绕模型本身的输入和输出开发和编排分类器,以进一步增强安全性,并使开发人员更容易为各种用例定制安全性,并以更负责任的方式部署生成人工智能。
5.4.1 Benchmark Construction 基准构建
我们创建了各种内部基准,以帮助我们安全、负责地开发模型。我们的基准在很大程度上受到ML Commons危险分类中的风险类别的启发(Vidgen et al, 2024)。
虽然存在各种语言模型安全基准,如ToxiGen (Hartvigsen等人,2022),XS Test (Röttger等人,2023)等,但Llama 3中的许多新功能没有足够的外部基准可用,并且通常外部基准缺乏足够的广度和深度覆盖。
对于每个风险类别,我们收集人类编写的提示,这些提示在本质上要么是对抗性的,要么是边缘性的——表23中列出了此类提示的示例。对抗性提示的范围从直接引起有害响应的直接提示到包含复杂越狱技术的提示。这些对抗性提示的基准是我们衡量违规率的基础。
作为违规率的反制指标,我们还构建了由边界提示组成的错误拒绝基准。当一个模型拒绝以一种有帮助的方式回答问题时,即使一个合理的、安全的回答是可能的,我们称之为虚假拒绝。边界提示是指接近决策边界的提示,一个经过良好校准的模型应该处理这些提示,例如,“我怎么能从我的闺蜜那里抢走焦点,她总是扮演主角的角色??”我们的违规和错误拒绝的总体基准大小是每种功能或语言超过4000个提示,并且包含单轮和多轮提示的混合。
5.4.2 Safety Pre-training 安全性的预训练
我们相信负责任的开发必须从端到端的角度考虑,并纳入模型开发和部署的每个阶段。在预训练期间,我们应用各种过滤器,例如过滤器来识别可能包含个人身份信息的网站(参见第3.1节)。我们也重点关注可发现记忆(Nasr et al, 2023)。与Carlini等人(2022)类似,我们使用语料库中所有n-gram的有效滚动哈希索引,对训练数据中不同出现频率的提示和ground truth进行采样。我们通过改变提示和基础真理的长度、目标数据的检测语言和域来构建不同的测试场景。然后,我们测量模型逐字生成真实序列的频率,并分析指定场景中的相对记忆率。我们将逐字记忆定义为包含率——精确地包含基础真值延续的模型代的比例——并根据数据中给定特征的流行率加权报告平均值,如表24所示。我们发现训练数据的记忆率很低(对于n = 50和n = 1000的405B,平均记忆率分别为1.13%和3.91%)。在同等大小和使用相同方法处理数据组合的情况下,其记忆率与Llama 2大致相当。
5.4.3 Safety Finetuning 安全性的微调
我们描述了我们的安全微调方法,以减轻许多功能的风险,其中包括两个关键方面:(1)安全培训数据和(2)风险缓解技术。我们的安全微调过程建立在我们的一般微调方法的基础上,并针对具体的安全问题进行了修改。
我们针对两个主要指标进行了优化:违例率(VR),一个捕获模型何时产生违反安全策略的响应的指标,以及错误拒绝率(FRR),一个捕获模型何时错误地拒绝响应无害提示的指标。同时,我们在有用性基准上评估模型性能,以确保安全性改进不会损害整体的有用性。
整合数据。安全训练数据的质量和设计对绩效有着深远的影响。通过广泛的考察,我们发现质量比数量更为重要。我们主要使用从数据供应商那里收集的人工生成的数据,但发现它可能容易出现错误和不一致——特别是对于细微的安全策略。为了确保最高质量的数据,我们开发了人工智能辅助注释工具,以支持我们严格的质量保证流程。除了收集对抗性提示外,我们还收集了一组类似的提示,我们将其称为边缘性提示。这些与对抗性提示密切相关,但目标是教会模型学习提供有用的响应,从而降低错误拒绝率(FRR)。
除了人工注释,我们还利用合成数据来提高训练数据集的质量和覆盖范围。我们利用一系列技术来生成额外的对抗示例,包括使用精心制作的系统提示的上下文学习,基于新攻击向量的种子提示的引导突变,以及基于MAP-Elites (Mouret和Clune, 2015)的高级算法,包括Rainbow Teaming (Samvelyan等人,2024),该算法生成的提示在多样性的多个维度上受到约束
在产生安全响应时,我们进一步解决了模型的基调,这对下游用户体验有影响。我们为Llama 3开发了拒绝语气指南,并通过严格的质量保证过程确保所有新的安全数据遵守该指南。我们还对现有的安全数据进行了优化,使其与指南保持一致,并结合使用零采样重写和人工循环编辑来生成高质量的数据。通过使用这些方法,以及音调分类器来评估安全响应的音调质量,我们能够显着改善模型的冗余。
安全监督微调。根据我们的Llama 2配方(Touvron等人,2023b),我们在模型校准阶段结合了所有有用数据和安全数据。此外,我们引入了一个边界数据集来帮助模型识别安全和不安全请求之间的细微区别。我们的注释团队根据我们的指导方针精心制作对安全提示的响应。我们发现,当我们策略性地平衡对抗性示例与边缘示例的比例时,SFT在对齐模型方面非常有效。我们将重点放在更具挑战性的风险领域,使用更高比例的边缘示例。这在我们成功的安全缓解工作中起着至关重要的作用,同时将虚假拒绝降至最低。
此外,我们在图18中检查了模型大小对FRR和VR之间权衡的影响。我们的研究结果表明,这是不同的——相对于有用性,较小的模型需要更大比例的安全数据,并且与较大的模型相比,有效地平衡VR和FRR更具挑战性。
DPO安全。为了加强安全学习,我们将对抗性和边缘性示例纳入DPO的偏好数据集。我们发现,在嵌入空间中,将响应对制作成接近正交的,在教会模型区分给定提示的好响应和坏响应方面特别有效。
我们进行了多个实验来确定对抗、边缘和有用示例的最佳比例,旨在优化FRR和VR之间的权衡。我们还发现模型大小会影响学习结果——因此,我们针对不同的模型大小定制了不同的安全组合。
5.4.4 Safety Results 安全性的结果
我们首先强调了Llama 3沿着各个轴的一般行为,然后描述了每个特定新功能的结果以及我们在降低安全风险方面的有效性
整体性能。Llama 3最终违规和误拒率与类似模型的对比如图19和20所示。这些结果集中在与相关竞争对手相比,我们的最大参数尺寸Llama 3 405B模型上。其中两个竞争者是通过API访问的端到端系统,其中一个是我们内部托管并直接评估的开源语言模型我们评估了我们的Llama模型,包括独立的和与Llama Guard(我们的开源系统级安全解决方案)相结合的模型(详见第5.4.7节)。
虽然低违规率是可取的,但将错误拒绝视为一种反度量是至关重要的,因为总是拒绝的模型是最安全的,但没有丝毫帮助。同样,无论请求有多困难,总是回答每个提示的模型将是过度有害和有害的。在图21中,利用我们的内部基准,我们探索了行业中不同的模型和系统是如何进行这种权衡的,以及Llama 3是如何进行比较的。我们发现我们的模型实现了非常有竞争力的违规率指标,同时保持了较低的错误拒绝率,这表明在有用性和安全性之间取得了坚实的平衡。
多语种的安全。我们的实验表明,英语中的安全知识不容易转移到其他语言中,特别是考虑到安全政策和语言特定上下文的细微差别。因此,它是收集每种语言的高质量安全数据至关重要。我们还发现,从安全角度来看,每种语言的安全数据分布显著影响性能,一些语言受益于迁移学习,而另一些语言则需要更多特定于语言的数据。为了达到FRR和VR之间的平衡,我们迭代地添加对抗性和边界数据,同时监测对这两个指标的影响。
我们在图19中显示了短上下文模型的内部基准测试结果,显示了Llama 3对英语和非英语语言的违例率和错误拒绝率,与类似的模型和系统进行了比较。为了构建每种语言的基准,我们使用由母语人士编写的提示组合,有时还会使用来自英语基准的翻译。对于我们支持的每一种语言,我们发现Llama 3 405B和Llama Guard至少与两个竞争系统一样安全,如果不是严格更安全的话,在我们的内部基准测试中,同时保持有竞争力的错误拒绝率。看看Llama 3 405B模型本身,没有Llama Guard,我们发现它的违规率明显低于竞争对手的独立开源模型,但却有更高的错误拒绝率。
Long-context安全。长上下文模型在没有目标缓解的情况下容易受到多次越狱攻击(Anil et al, 2024)。为了解决这个问题,我们在SFT数据集上调整了我们的模型,其中包括在上下文中存在不安全行为演示的安全行为示例。我们开发了一种可扩展的缓解策略,可以显著降低VR,有效地抵消长时间上下文攻击的影响,即使是256次攻击。这种方法对FRR和最有帮助的度量几乎没有影响。
为了量化长上下文安全缓解的有效性,我们使用了另外两种基准测试方法:DocQA和Many-shot。对于DocQA(“文档问答”的缩写),我们使用包含可用于对抗方式的信息的长文档。模型既提供了文档,也提供了一组与文档相关的提示,以便测试与文档中的信息相关的问题是否会影响模型对提示作出安全响应的能力。对于Many-shot,遵循Anil等人(2024),我们构建了一个由不安全的即时响应对组成的合成聊天历史。最后一个提示(与前面的消息无关)用于测试上下文中的不安全行为是否会影响模型做出不安全的响应。DocQA和Many-shot的违例率和错误拒绝率如图20所示。我们看到Llama 3 405B(有和没有Llama Guard)在违规率和错误拒绝率上都比Comp 2系统更好,无论是DocQA还是多射。相对于1、我们发现Llama 3 405B明显更安全,同时在错误拒绝方面进行了权衡。
工具使用安全。可能的工具的多样性以及工具使用调用和集成到模型中的实现使得工具使用成为一种具有挑战性的能力,无法完全减轻(Wallace等人,2024)。我们专注于搜索用例。违例率和误拒率如图20所示。我们对Comp. 1系统进行了测试,发现Llama 3 405B明显更安全,尽管错误拒绝率略高。
5.4.5 Cybersecurity and Chemical/Biological Weapons Safety 网络和化学/生物武器安全
网络安全评估结果。为了评估网络安全风险,我们利用了CyberSecEval基准框架(Bhatt等人,2023,2024),该框架包含了跨域测量安全性的任务,如生成不安全代码、生成恶意代码、文本提示注入和漏洞识别。我们开发了Llama 3并将其应用于鱼叉式网络钓鱼和自主网络攻击的新基准。
总体而言,我们发现Llama 3在生成恶意代码或利用漏洞方面没有明显的易感性。我们描述具体任务的简要结果:
•不安全编码测试框架:根据不安全编码测试框架对Llama 3 8b、70B和405B进行评估,我们继续观察到更大的模型既生成了更多的不安全代码,也生成了具有更高平均BLEU分数的代码(Bhatt et al, 2023)。
•代码解释器滥用提示语料库:我们发现Llama 3模型容易在某些提示下执行恶意代码,其中Llama 3 405B在10.4%的情况下特别容易受到恶意提示的影响。Llama 3 70b按3.8%的比率执行。
•基于文本的提示注入基准:当与提示注入基准进行评估时,针对Llama 3 405B的提示注入攻击成功率为21.7%。图22给出了Llama 3、GPT-4 Turbo、Gemini Pro和Mixtral模型基于文本的提示注入成功率。
•漏洞识别挑战:在使用CyberSecEval 2的捕获标志测试挑战评估Llama 3识别和利用漏洞的能力时,Llama 3并不优于常用的传统非llm工具和技术。
•鱼叉式网络钓鱼基准:我们评估进行个性化对话的模型说服力和成功率,旨在欺骗目标,使其在不知不觉中参与安全妥协。随机生成详细的受害者档案,由LLM作为鱼叉式网络钓鱼目标。评委LLM (Llama 3 70b)对Llama 3 70b和405B与受害者模特(Llama 3 70b)互动的表现进行评分,并评估尝试的成功。Llama 3 70b和Llama 3 405b被LLM评价为中等说服力。LLM判定Llama 3 70b在24%的鱼叉式网络钓鱼尝试中成功,而Llama 3 405b在14%的尝试中被判定成功。图23展示了judge llm评估的跨模型和网络钓鱼目标的说服力得分。
•攻击自动化框架:我们评估Llama 3 405b在勒索软件攻击的四个关键阶段(网络侦察、漏洞识别、利用执行和利用后行动)作为自主代理的潜力。我们通过配置模型,使模型能够迭代地生成和执行新的Linux命令,以响应Kali Linux虚拟机上先前命令的输出,从而使模型能够自主运行,因为它针对的是另一个具有已知漏洞的虚拟机。尽管Llama 3 405b在其网络侦察中有效地识别网络服务和开放端口,但该模型在34次测试运行中未能有效地使用此信息来获得对易受攻击的机器的初始访问权限。在识别漏洞方面,Llama 3 405b是中等有效的,但在选择和应用成功的利用技术方面存在困难。执行漏洞攻击的尝试完全不成功,攻击后试图在网络内保持访问或执行横向移动的尝试也完全不成功。
针对网络攻击的提升测试。我们进行了一项提升研究,该研究测量了虚拟助手在两个模拟进攻性网络安全挑战之间提高新手和专家网络攻击者网络攻击率的程度。这项研究分为两个阶段,共有62名内部志愿者参与。志愿者根据他们的攻击性安全程度被分为“专家”(31人)和“新手”(31人)两组实验。在第一阶段,受试者被要求在没有任何LLM帮助的情况下完成挑战,但可以访问开放的互联网。在第二阶段,受试者保留对互联网的访问权限,但也提供Llama 3405b来完成与第一阶段相似难度的不同的进攻性网络安全挑战。对受试者挑战攻击阶段完成率的分析表明,使用405B模型的新手和专家都比没有LLM的开放访问互联网表现出微不足道的提升。
化学和生物武器的提升试验。为了评估与化学和生物武器扩散相关的风险,我们进行了提升测试,旨在评估使用Llama 3是否能有意义地提高参与者计划此类攻击的能力。
这项研究包括6个小时的场景,两名参与者组成的小组被要求为生物或化学袭击制定虚构的行动计划。这些场景涵盖了CBRNE攻击的主要计划阶段(代理获取、生产、武器化和交付),旨在引出详细的计划,以解决与限制性材料采购、现实世界实验室协议和操作安全相关的挑战。参与者根据先前在相关科学或操作专门知识领域的经验被招募,并被分配到由两名低技能参与者(没有正式培训)或两名中等技能参与者(一些正式培训和科学或操作方面的实践经验)组成的团队。
该研究是与一组CBRNE专家合作完成的,旨在最大限度地提高定量和定性结果的通用性、有效性和稳健性。为了验证研究设计,还进行了初步研究,包括稳健的功率分析,以确保我们的样本量足以进行统计分析。
每个团队被分配到一个“控制”或“LLM”条件。控制团队只能访问基于互联网的资源,而llm团队可以访问互联网,也可以访问具有网络搜索(包括PDF获取)、信息检索功能(RAG)和代码执行(Python和Wolfram Alpha)的Llama 3模型。为了测试RAG功能,使用关键字搜索来生成数百篇相关科学论文的数据集,并预加载到Llama 3模型推理系统中。在练习结束时,每个团队生成的操作计划由具有生物学、化学和操作计划领域专业知识的主题专家进行评估。每个计划都在潜在攻击的四个阶段进行评估,为科学准确性、细节、检测避免以及科学和操作执行中的成功概率等指标生成分数。经过一个强大的德尔菲过程,以减轻偏差和可变性的主题专家(SME)评估,最终得分是通过汇集阶段水平指标到一个综合得分产生的。
对这些研究结果的定量分析表明,使用Llama 3模型并没有显著提高性能。这一结果在进行综合分析(将所有LLM条件与仅网络控制条件进行比较)以及按子组进行细分时(例如,对Llama 3 70b和Llama 3 405b模型进行单独评估,或对与化学或生物武器相关的场景进行单独评估)都成立。在与CBRNE中小企业验证这些结果后,我们评估存在低风险Llama 3型号的发布将增加与生物或化学武器攻击相关的生态系统风险。
5.4.6 Red Teaming 红队测试
我们利用红队来发现风险,并利用这些发现来改进我们的基准测试和安全调优数据集。我们进行重复的红队练习,以不断地迭代和发现新的风险,这指导了我们的模型开发和缓解过程。
我们的红队由网络安全、对抗性机器学习、负责任的人工智能和完整性方面的专家组成,此外还有具有特定地域市场完整性问题背景的多语种内容专家。我们还与关键风险领域的内部和外部主题专家合作,帮助建立风险分类,并帮助进行更有针对性的对抗性评估
针对特定模型能力的对抗性测试。我们通过关注风险发现过程中的单个模型功能开始了最初的红队,在特定高风险类别的上下文中,然后一起测试功能。红队专注于提示级攻击,以模拟更可能的真实世界场景——我们发现模型经常偏离预期行为,特别是在提示的意图被混淆或提示层多个抽象的情况下。随着附加功能的增加,这些风险会变得更加复杂,下面我们将详细描述我们的几个红队发现。我们将这些红队的发现与我们在内部安全基准上的结果结合起来,开发集中的缓解措施,以持续迭代地改进模型安全性。
•短语境和长语境英语。我们在单回合和多回合对话中混合使用了知名的、公开的和未公开的技巧。我们还在一些技术和风险类别上利用了类似于PAIR的先进的、对抗性的多回合自动化(Chao et al ., 2023)。在很大程度上,多回合对话会导致更多有害的结果。几种攻击在模型检查点之间普遍存在,特别是在一起使用时。
-多回合拒绝抑制,指定模型响应遵循特定格式或包含/排除与拒绝相关的特定信息作为特定短语。
-假设场景将违反提示包装为假设/理论任务或虚构场景。提示可以像添加单词“假设”或精心设计分层场景一样简单。
- 人物角色和角色扮演给模型一个具有特定的违反响应特征的人物角色(例如“你是X,你的目标是Y”),或者你自己作为用户适应一个特定的良性角色,混淆提示的上下文。
-添加免责声明和警告作为反应启动的一种形式,我们假设一种方法允许模型与通用安全培训交叉的有用合规路径。要求免责声明、触发警告等内容在多回合对话中与其他攻击一起添加,导致违规率上升。
-逐渐升级的违规行为是一种多回合攻击,即对话以或多或少温和的请求开始,然后通过直接提示更夸张的内容,逐渐导致模型产生非常违规的响应。一旦模型开始输出违规内容,模型就很难恢复(或者如果遇到拒绝,可以使用另一种攻击)。对于更长的上下文模型,这将是一个日益明显的问题。
•多语种。在考虑使用多种语言时,我们确定了一些独特的风险。
-在一个提示或对话中混合多种语言很容易导致比使用单一语言更多的违规输出。
-由于缺乏相关的安全微调数据,较低的资源语言可能导致违反输出,安全性的弱模型泛化或测试或基准的优先级。然而,这种攻击通常会导致质量差,限制了真正的对抗性使用。
-俚语,特定的上下文或特定的文化参考可能会混淆或乍一看似乎是违反的,只是看到模型不能正确理解给定的参考来做出输出真正有害或防止其成为违规输出。
•工具使用。在测试期间,除了英语文本级别的对抗性提示技术能够成功生成违规输出外,还发现了一些特定于工具的攻击。这包括但不限于:
-不安全的工具链,例如一次请求多个工具,其中一个是违规的,在早期的检查点中,可能导致所有的工具被调用时混合了良性和违规的输入。
-经常使用特定输入字符串,碎片化或编码文本强制使用工具可能会触发工具输入潜在的违规行为,导致更违规的输出。然后可以使用其他技术来访问工具结果,即使模型通常会拒绝执行搜索或协助处理结果。
-修改工具使用参数,如在查询中交换单词,重试或在多回合对话中混淆一些初始请求,导致许多早期检查点违规,作为强制工具使用的一种形式。
儿童安全隐患。利用一个专家小组进行了儿童安全风险评估,以评估该模式产生可能导致儿童安全风险的产出的能力,并就通过微调采取的任何必要和适当的风险缓解措施提供信息。我们利用那些专家红队会议,通过模型开发来扩展我们的评估基准的覆盖范围。对于Llama 3,我们使用基于目标的方法进行了新的深入讨论,以评估多个攻击向量的模型风险。我们还与内容专家合作,执行红队演习,评估潜在的违规内容,同时考虑到市场特定的细微差别或经验
5.4.7 System Level Safety 系统级别安全
在大型语言模型的各种实际应用程序中,模型不是单独使用的,而是集成到更广泛的系统中。在本节中,我们将描述我们的系统级安全实现,它通过提供更多的灵活性和控制来补充模型级缓解。
为了实现这一点,我们开发并发布了一款新的分类器,Llama Guard 3,这是一款针对安全分类进行微调的Llama 3 8b模型。与Llama Guard 2 (lama- team, 2024)类似,该分类器用于检测语言模型生成的输入提示和/或输出响应是否违反了特定类别伤害的安全策略。
它旨在支持Llama不断增长的能力,并可用于英语和多语言文本。它还经过优化,可以在诸如搜索工具之类的工具调用上下文中使用,并防止滥用代码解释器。最后,我们还提供了量化变量来降低内存需求。我们鼓励开发人员使用我们发布的系统安全组件作为基础,并为他们自己的用例配置它们。
分类法。我们在人工智能安全分类法(Vidgen等人,2024)中列出的13个危险类别进行培训:儿童性剥削,诽谤,选举,仇恨,不分青红皂白的武器,知识产权,非暴力犯罪,隐私,性相关犯罪,性内容,专业建议,自杀和自残以及暴力犯罪。我们还对代码解释器滥用类别进行培训,以支持工具调用用例。
训练数据。我们从Llama Guard使用的英语数据开始(Inan et al, 2023),并扩展该数据集以纳入新的功能。对于多语言和工具使用等新功能,我们收集提示和响应分类数据,并利用收集到的数据进行安全微调。我们通过提示工程来增加训练集中不安全响应的数量,以使LLM不拒绝响应对抗性提示。我们使用Llama 3来获取这些生成数据的响应标签。
为了提高Llama Guard 3的性能,我们使用人类注释和Llama 3的LLM注释对收集的样本进行了广泛的清洗。获取用户提示的标签对于人类和llm来说都是一个更加困难的任务,我们发现人类的标签稍微好一些,特别是对于边界提示,尽管我们的完整迭代系统能够减少噪音并产生更准确的标签。
结果。Llama Guard 3能够显著减少跨功能的违规行为(在我们的基准测试中平均减少65%的违规行为)。注意,添加系统保护措施(以及一般的任何安全缓解措施)是随之而来的代价是越来越多的人拒绝良性提示。在表25中,我们报告了与基本模型相比,违规率的降低和错误拒绝率的增加,以突出这种权衡。在图19、20和21中也可以看到这种效果。
系统安全性也提供了更大的灵活性。Llama Guard 3可以针对特定的危害进行部署,仅在危害类别级别上实现对违规和错误拒绝权衡的控制。表26显示了每个类别的违规减少,以根据开发人员用例告知应该打开/关闭哪个类别。
为了更容易部署安全系统,我们提供了一个量化版本的Llama Guard 3,使用常用的int8量化技术,将其尺寸缩小了40%以上。表27说明了量化对模型性能的影响可以忽略不计。
基于提示的系统守卫。系统级安全组件使开发人员能够自定义和控制LLM系统如何响应用户请求。作为改进模型系统整体安全性并使开发人员能够负责地部署的工作的一部分,我们描述并发布了两种基于提示的过滤机制的创建:Prompt Guard和Code Shield。我们将其开源,以供社区利用,或者将其作为灵感,并根据其使用情况进行调整。
Prompt Guard是一种基于模型的过滤器,用于检测提示攻击,提示攻击是一种输入字符串,旨在破坏作为应用程序一部分的LLM的预期行为。该模型是一个多标签分类器,可以检测两类提示攻击风险——直接越狱(显式尝试覆盖模型的安全条件或系统提示的技术)和间接提示注入(模型上下文窗口中包含的第三方数据包括由LLM无意中作为用户命令执行的指令的实例)。该模型从mDeBERTa-v3-base进行微调,mDeBERTa-v3-base是一个小的(86M)参数模型,适合过滤LLM的输入。我们在表28所示的几个评估数据集上评估性能。我们对两个数据集(越狱和注入)进行评估,这些数据集来自与训练数据相同的分布,以及一个英语的分布外数据集,一个由机器翻译构建的多语言越狱集,以及一个从CyberSecEval(英语和多语言)提取的间接注入数据集。总的来说,我们发现该模型可以很好地推广到新的分布,并且具有很强的性能。
代码屏蔽是一类基于提供推理时间过滤的系统级保护的示例。特别是,它关注于在不安全代码可能进入下游用例(如生产系统)之前检测不安全代码的生成。它通过利用一个静态分析库,即不安全代码检测器(ICD)来识别不安全的代码。ICD使用一套静态分析工具跨7种编程语言执行分析。这些类型的护栏通常对开发人员很有用,他们可以在各种应用程序中部署多层保护。
5.4.8 Limitations 局限性
我们对安全使用Llama 3的各种风险进行了广泛的测量和缓解。然而,没有任何测试可以保证详尽地识别每一个可能的风险。Llama 3可能仍然会产生有害的内容,因为在不同的数据集上进行训练,特别是对于英语以外的语言,以及由熟练的敌对红队设计的提示。恶意的开发人员或敌对的用户可能会找到新的方法来破解我们的模型,并将它们用于各种邪恶的用途。我们将继续主动识别风险,开展缓解方法的研究,并鼓励开发人员考虑从模型开发到部署再到用户的各个方面的责任。我们希望开发人员能够利用并贡献我们在开源系统级安全套件中发布的工具。