作者:Hugo Touvron∗, Thibaut Lavril∗, Gautier Izacard∗, Xavier Martinet, Marie-Anne Lachaux, Timothee Lacroix, Baptiste Rozière, Naman Goyal, Eric Hambro, Faisal Azhar, Aurelien Rodriguez, Armand Joulin, Edouard Grave∗, Guillaume Lample∗

机构:Meta AI

摘要

本文介绍 LLaMA,一个包含 7B~65B(70~650 亿) 参数的基础语言模型集(a collection of foundation language models)。 我们用数万亿个(trillions of) token 训练这些模型,证明了使用公开数据集就能训练出最先进的模型, 而并非必须使用专有和私有数据集。特别是,LLaMA-13B 在大多数基准测试中优于 GPT-3(175B) ,而 LLaMA-65B 则与最佳模型 Chinchilla-70B 和 PaLM-540B 相当。 我们已经将所有模型开源,供社区研究。

1.引言

在大规模文本语料库(massive corpora of texts)上训练的大型语言模型 (Large Languages Models, LLM),已经有能力根据给定的文本指令(textual instructions) 或示例(a few examples)执行新任务(Brown 等,2020)。

这些 few-shot 属性首先出现在将模型扩展到足够大的规模时(Kaplan 等,2020), 在此之后,出现了很多进一步扩展这些模型的工作(Chowdhery 等,2022;Rae 等,2021), 它们都遵循了这样一个假设:更多的参数将产生更好的性能。 然而,Hoffmann 等(2022)的最新工作表明,对于给定的计算预算(compute budget), 最佳性能并非来自那些最大的模型,而是来自那些在更多数据上训练出来的较小模型。

1.1 大模型训练:更多参数 vs 更大的数据集

Hoffmann 等(2022)的提出了 scaling laws,目标是针对给定的训练(training) 计算预算(compute budget),如何最佳地扩展(scale)数据集和模型大小。但是,

1.2 LLaMA:减少参数,增大数据集

本文的重点是:对于给定的不同推理预算(inference budgets), 通过使用更多 token 进行训练的方式(超过业内常用的 token 规模), 来获得最佳的性能(the best possible performance)。 由此得到的模型我们称为 LLaMA。 LLaMA 的参数范围在 7B ~ 65B,性能则与目前业界最佳的一些大语言模型(LLM)相当。 例如,

与 Chinchilla、PaLM、GPT-3 不同,我们只使用公开数据(publicly available data), 因此我们的工作是开源兼容的;

1.3 内容组织

本文接下来的内容组织如下:

2.方法(Approach)

我们的训练方法与前人的一些工作(Brown 等,2020;Chowdhery 等,2022)类似, 并受到 Chinchilla scaling laws(Hoffmann 等,2022)的启发。 我们使用一个标准的 optimizer 在大量文本数据上训练大型 Transformers。

2.1 预训练数据(Pre-training Data)

2.1.1 数据集

我们的训练数据集有几种不同来源,涵盖了多个领域,如表 1 所示。

数据集 占比 迭代次数(epoches) 数据集大小(Disk size)
CommonCrawl 67.0% 1.10 3.3 TB
C4 15.0% 1.06 783 GB
Github 4.5% 0.64 328 GB
Wikipedia 4.5% 2.45 83 GB
Books 4.5% 2.23 85 GB
ArXiv 2.5% 1.06 92 GB
StackExchage 2.0% 1.03 78 GB

表1:预训练数据。其中 epochs 是用 1.4T tokens 预训练时的迭代次数。用 1T tokens 预训练时也是用的这个数据集比例。

English CommonCrawl [67%]

我们使用 CCNet pipeline(Wenzek 等,2020)对 2017~2020 的五个 CommonCrawl dumps 进行预处理。

此外,我们还训练了一个线性模型,将页面分为两类:

并将第二类丢弃。

C4 [15%]

在前期探索性实验中,我们观察到使用多样化的预处理 CommonCrawl 数据集可以提高性能。 因此,我们将公开可用的 C4 数据集(Raffel 等,2020)也包含到了训练数据中。

对 C4 的预处理也是去重和语言识别:与 CCNet 的主要区别在于质量过滤(quality filtering), 主要依赖于启发式方法(heuristics),例如是否存在标点符号或网页中单词和句子的数量。

Github [4.5%]

使用了 Google BigQuery 上公开可用的 GitHub 数据集,但仅保留其中用 Apache、BSD 和 MIT license 的项目。 此外,

Wikipedia [4.5%]

使用了 2022 年 6 月至 8 月的一部分 Wikipedia dumps, 覆盖 20 种语言(use either the Latin or Cyrillic scripts):bg、ca、cs、da、de、en、es、fr、hr、hu、it、nl、pl、pt、ro、ru、sl、sr、sv、uk。

删掉了其中的超链接、注释和其他 formatting boilerplate。

Gutenberg and Books3 [4.5%]

训练数据集中包含两个书籍语料库:

  1. Gutenberg Project:公版书(public domain books);
  2. Books3 section of ThePile(Gao 等,2020):一个用于训练大语言模型的公开可用数据集。

在书级别(book level)去重,内容超过 90% 重复的书会被剔除出去。

ArXiv [2.5%]

为了让训练数据集包含一定的科学数据(scientific data),我们对一些 arXiv Latex 文件做处理之后加到训练数据集。

Stack Exchange [2%]

Stack Exchange 是一个高质量的问答网站,涵盖了从计算机科学到化学等各种领域。 我们的训练数据集包括了一个 Stack Exchange dump,

2.1.2 Tokenizer(标记符)

我们使用 bytepair encoding(BPE)算法(Sennrich 等,2015)对数据进行 tokenization,算法实现采用的是 Sentence-Piece(Kudo 和 Richardson,2018)。需要说明的是,为了 decompose unknown UTF-8 characters,我们将所有 numbers 拆分为单个 digits,再 fallback 到 bytes。

最终,我们的整个训练数据集在 tokenization 后包含大约 1.4T 个 token。

2.2 架构(Architecture)

与最近大语言模型的研究趋势一致,我们的网络也基于 Transformer 架构(Vaswani 等,2017)。 但我们做了很多改进,也借鉴了其他模型(例如 PaLM)中的一些技巧。

2.2.1 改进

以下是与原始架构的主要差异,

预归一化(Pre-normalization):灵感来自 GPT3

为了提高训练稳定性,我们对每个 Transformer sub-layer 的输入进行归一化,而不是对输出进行归一化。 这里使用由 Zhang 和 Sennrich(2019)提出的 RMSNorm 归一化函数。

SwiGLU 激活函数:灵感来自 PaLM

用 SwiGLU 激活函数替换 ReLU 非线性,该函数由 Shazeer(2020)提出,目的是提升性能。 但我们使用的维度是 2/3 * 4d,而不是 PaLM 中的 4d。

旋转嵌入(Rotary Embeddings):灵感来自 GPTNeo

去掉了绝对位置嵌入(absolute positional embeddings),并在每个网络层中添加旋转位置嵌入(rotary positional embeddings,RoPE)。 RoPE 由 Su 等(2021)提出。

2.2.2 不同 LLaMA 模型的超参数

params dimension n heads n layers learning rate batch size n tokens
6.7B 4096 32 32 3.0e-4 4M 1.0T
13.0B 5120 40 40 3.0e-4 4M 1.0T
32.5B 6656 52 60 1.5e-4 4M 1.4T
65.2B 8192 64 80 1.5e-4 4M 1.4T

表2:Model sizes, architectures, and optimization hyper-parameters.

2.3 优化器(Optimizer)

2.4 高效实现(Efficient implementation):提高训练速度

我们进行了几项优化来提高模型的训练速度。

首先,我们使用 causal multi-head attention 的一个高效实现来减少内存占用和运行时。 这种实现是受 Rabe 和 Staats(2021)的启发,并使用 Dao 等(2022)的反向传播,现在 xformers 库 中已经提供了。 优化原理:由于语言建模任务存在因果特性,因此可以不存储注意力权重(attention weights),不计算那些已经被掩码(masked)的 key/query scores。

为进一步提高训练效率,我们通过 checkpoint 技术, 减少了在反向传播期间需要重新计算的激活数量。更具体地说,

训练 65B 参数的模型时,我们的代码在 2048 个 A100 80GB GPU 上能处理约 380 tokens/second/GPU。这意味着 1.4T token 的数据集上训练大约需要 21 天。

3.主要结果(Main results)

参考前人工作(Brown 等,2020),我们测试了零样本(zero-shot)和少样本(few-shot)两种任务, 进行总共 20 个基准测试:

我们将 LLaMA 与其他基础模型进行比较,包括

我们在自由形式生成任务(free-form generation)和多项选择(multiple choice)任务上评估 LLaMA。 多项选择任务的目标是在提供的上下文基础上,从一组给定选项中选择最合适的。我们使用的最合适标准就是可性能最高(highest likelihood)。

3.1 常识推理(Common Sense Reasoning)

使用下面八个标准的常识推理基准测试:

这些数据集包括 Cloze 和 Winograd 风格的任务,以及多项选择题。 与语言建模社区类似,我们使用零样本设置进行评估。 在表 3 中,我们与各种规模的现有模型进行比较。

Model Params BoolQ PIQA SIQA HellaSwag WinoGrande ARC-e ARC-c OBQA
GPT-3 175B 60.5 81.0 - 78.9 70.2 68.8 51.4 57.6
Gopher 280B 79.3 81.8 50.6 79.2 70.1 - - -
Chinchilla 70B 83.7 81.8 51.3 80.8 74.9 - - -
PaLM 62B 84.8 80.5 - 79.7 77.0 75.2 52.5 50.4
PaLM-cont 62B 83.9 81.4 - 80.6 77.0 - - -
PaLMa 540B 88.0 82.3 - 83.4 81.1 76.6 53.0 53.4
LLaMA 7B 76.5 79.8 48.9 76.1 70.1 72.8 47.6 57.2
LLaMA 13B 78.1 80.1 50.4 79.2 73.0 74.8 52.7 56.4
LLaMA 33B 83.1 82.3 50.4 82.8 76.0 80.0 57.8 58.6
LLaMA 65B 85.3 82.8 52.3 84.2 77.0 78.9 56.0 60.2

表3:Zero-shot performance on Common Sense Reasoning tasks

几点说明:

3.2 闭卷问答(Closed-book Question Answering)

我们将 LLaMA 与现有的大语言模型进行比较,在两个闭卷问答基准测试:

对于这两个基准测试,在相同设置(例如,模型不能访问那些有助于回答问题的文档)下, 取得了完全相同的性能(exact match performance)。 表 4 和表 5 分别是在这两个 benchmark 上的结果,

Model Params 0-shot 1-shot 5-shot 64-shot
GPT-3 175B 14.6 23.0 - 29.9
Gopher 280B 10.1 - 24.5 28.2
Chinchilla 70B 16.6 - 31.5 35.5
PaLM 8B 8.4 10.6 - 14.6
PaLM 62B 18.1 26.5 - 27.6
PaLM 540B 21.2 29.3 - 39.6
LLaMA 7B 16.8 18.7 22.0 26.1
LLaMA 13B 20.1 23.4 28.1 31.9
LLaMA 33B 24.9 28.3 32.9 36.0
LLaMA 65B 23.8 31.0 35.0 39.9

表4:NaturalQuestions. Exact match performance.

Model Params 0-shot 1-shot 5-shot 64-shot
Gopher 280B 43.5 - 57.0 57.2
Chinchilla 70B 55.4 - 64.1 64.6
LLaMA 7B 50.0 53.4 56.3 57.6
LLaMA 13B 56.6 60.5 63.1 64.0
LLaMA 33B 65.1 67.9 69.9 70.4
LLaMA 65B 68.2 71.6 72.6 73.0

表 5:TriviaQA. Zero-shot and few-shot exact match performance on the filtered dev set.

在这两个基准测试中,LLaMA-65B 在零样本和少样本设置中都实现了 state-of-the-arts 的性能。 更重要的是,LLaMA-13B 在这些基准测试中与 GPT-3 和 Chinchilla 相比也具有竞争力,尽管参数只有后者的 10%~20%(5-10 smaller)。 在推理场景,LLaMA-13B 能在单个 V100 GPU 上运行。

3.3 阅读理解(Reading Comprehension)

阅读理解能力测试基于 “RACE 阅读理解基准测试”(Lai 等,2017)。 这个数据集是从为中国初中生和高中生设计的英文阅读理解考试中收集的。 一些设置遵循 Brown 等(2020),测试结果见表 6,

Model Params RACE-middle RACE-high
GPT-3 175B 58.4 45.5
PaLM 8B 57.9 42.3
PaLM 62B 64.3 47.5
PaLM 540B 68.1 49.1
LLaMA 7B 61.1 46.9
LLaMA 13B 61.6 47.2
LLaMA 33B 64.1 48.3
LLaMA 65B 67.9 51.6

表6:__阅读理解。__Zero-shot accuracy.

3.4 数学推理(Mathematical reasoning)

在两个数学推理基准测试上评估模型:

表 7 比较了 PaLM 和 Minerva(Lewkowycz 等,2022)。

Model Params MATH +maj1@k GSM8k +maj1@k
PaLM 8B 1.5 - 4.1 -
PaLM 62B 4.4 - 33.0 -
PaLM 540B 8.8 - 56.5 -
Minerva 8B 14.1 25.4 16.2 28.4
Minerva 62B 27.6 43.4 52.4 68.5
Minerva 540B 33.6 50.3 68.5 78.5
LLaMA 7B 2.9 6.9 11.0 18.1
LLaMA 13B 3.9 8.8 17.8 29.3
LLaMA 33B 7.1 15.2 35.6 53.1
LLaMA 65B 10.6 20.5 50.9 69.7

表 7:量化推理数据集(quantitative reasoning datasets)上的模型性能。For majority voting, we use the same setup as Minerva, with k = 256 samples for MATH and k = 100 for GSM8k (Minerva 540B uses k = 64 for MATH and and k = 40 for GSM8k). LLaMA-65B outperforms Minerva 62B on GSM8k, although it has not been fine-tuned on mathematical data.

PaLM 和 Minerva 的性能数字取自 Lewkowycz 等(2022),我们分别用和不用 maj1@k 进行了比较。 maj1@k 表示我们为每个问题生成 k 个样本,并进行多数投票(Wang 等,2022)。

在 GSM8k 上,可以看到 LLaMA-65B 优于 Minerva-62B,尽管它没有在数学数据上进行微调。

3.5 代码生成(Code generation)

评估模型从给出的自然语言描述来生成代码的能力,使用了两个基准测试:

  1. HumanEval(Chen 等,2021)
  2. MBPP(Austin 等,2021)

这两个测试,都是给模型几句关于程序的描述,以及一些输入输出示例。

In HumanEval, it also receives a function signature, and the prompt is formatted as natural code with the textual description and tests in a program that fits the description and satisfies the test cases.

在表 8 中,我们将 LLaMA 的 pass@1 得分与未在代码上进行微调的现有语言模型进行了比较,即 PaLM 和 LaMDA(Thoppilan 等,2022)。 PaLM 和 LLaMA 是在包含相似数量的代码 token 的数据集上训练的。

Model Params HumanEval HumanEval MBPP MBPP
pass@ - @1 @100 @1 @80
LaMDA 137B 14.0 47.3 14.8 62.4
PaLM 8B 3.6∗ 18.7∗ 5.0∗ 35.7∗
PaLM 62B 15.9 46.3∗ 21.4 63.2∗
PaLM-cont 62B 23.7 - 31.2 -
PaLM 540B 26.2 76.2 36.8 75.0
LLaMA 7B 10.5 36.5 17.7 56.2
LLaMA 13B 15.8 52.5 22.0 64.0
LLaMA 33B 21.7 70.7 30.2 73.4
LLaMA 65B 23.7 79.3 37.7 76.8

表 8:Model performance for code generation. We report the pass@ score on HumanEval and MBPP. HumanEval generations are done in zero-shot and MBBP with 3-shot prompts similar to Austin et al. (2021). The values marked with are read from figures in Chowdhery et al. (2022).

如表 8 所示,

本表中 pass@1 结果是通过 temperature=0.1 采样得到的。 pass@100 和 pass@80 指标是通过 temperature=0.8 获得的。 我们使用与 Chen 等(2021)相同的方法来获得 pass@k 的无偏估计。

通过在代码特定 token 上进行微调,可以提高生成代码的性能。例如,

在代码 token 上进行微调超出了本文的范围。

3.6 大规模多任务语言理解(Massive Multitask Language Understanding)

大规模多任务语言理解基准测试(MMLU)由 Hendrycks 等(2020)提出, 包括涵盖人文、STEM 和社会科学等各种知识领域的多项选择题。 我们在 5-shot 设置下使用基准测试提供的示例来评估我们的模型,结果如表 9 所示,

Models Params Humanities STEM Social Sciences Other Average
GPT-NeoX 20B 29.8 34.9 33.7 37.7 33.6
GPT-3 175B 40.8 36.7 50.4 48.8 43.9
Gopher 280B 56.2 47.4 71.9 66.1 60.0
Chinchilla 70B 63.6 54.9 79.3 73.9 67.5
PaLM 8B 25.6 23.8 24.1 27.8 25.4
PaLM 62B 59.5 41.9 62.7 55.8 53.7
PaLM 540B 77.0 55.6 81.0 69.6 69.3
LLaMA 7B 34.0 30.5 38.3 38.1 35.1
LLaMA 13B 45.0 35.8 53.8 53.3 46.9
LLaMA 33B 55.8 46.0 66.7 63.4 57.8
LLaMA 65B 61.8 51.7 72.9 67.4 63.4

表 9:Massive Multitask Language Understanding (MMLU). Five-shot accuracy

可以看到,LLaMA-65B 落后于 Chinchilla-70B 和 PaLM-540B 几个百分点,并且在大部分领域都是如此。 一个可能的解释是我们在预训练数据中使用了有限数量的书籍和学术论文,即 ArXiv、Gutenberg 和 Books3,总共只有 177GB, 而后两个模型是在多达 2TB 的书籍上进行训练的。 Gopher、Chinchilla 和 PaLM 使用的大量书籍可能也解释了为什么 Gopher 在这个基准测试中表现优于 GPT-3,而在其他基准测试中表现只是差不多。

3.7 训练过程中性能的变化

在训练过程中,我们跟踪了 LLaMA 在一些问题回答和常识基准测试上的性能,如图 2,

figure 2:

图 2:Evolution of performance on question answering and common sense reasoning during training

在大多数基准测试中,性能随着 token 数量稳步提高,并与模型的 training perplexity 相关(见图 1)。

figure 1: Training loss over train tokens for the 7B, 13B, and 65B models

图1:7B, 13B, 33B, 和 65B 模型的训练损失。LLaMA-33B 和 LLaMA-65B 是在 1.4T token 上训练的,小点的模型是在 1.0T token 上训练的,所有模型的训练 batch 大小为 4M token

4. 指令微调(Instruction Finetuning)

在本节中,我们将说明简单地在指令数据上进行微调,就会迅速提高在 MMLU 上的性能。

尽管 LLaMA-65B 的未微调版本已经能够 follow 基本指令,但我们观察到进行一点微调可以提高在 MMLU 上的性能, 并能进一步提高模型 follow 指令的能力。 由于这不是本文的重点,我们只进行了一次实验,遵循 Chung 等(2022)的相同协议来训练一个指令模型 LLaMA-I。 LLaMA-I 在 MMLU 上的结果见表 10,与当前中等规模的指令微调模型 OPT-IML(Iyer 等,2022)和 Flan-PaLM 系列(Chung 等,2022)进行了比较:

Model Params MMLU
OPT 30B 26.1
GLM 120B 44.8
PaLM 62B 55.1
PaLM-cont 62B 62.8
Chinchilla 70B 67.5
LLaMA 65B 63.4
OPT-IML-Max 30B 43.2
Flan-T5-XXL 11B 55.1
Flan-PaLM 62B 59.6
Flan-PaLM-cont 62B 66.1
LLaMA-I 65B 68.9

表 10:Instruction finetuning – MMLU (5-shot). Comparison of models of moderate size with and without instruction finetuning on MMLU.

尽管这里使用的指令微调方法很简单,但我们在 MMLU 上达到了 68.9%。 LLaMA-I(65B)在 MMLU 上优于现有的中等规模指令微调模型,但仍远远落后于最先进的 GPT code-davinci-002 在 MMLU 上的 77.4(数字来自 Iyer 等(2022))。有关 57 个任务的 MMLU 性能详细信息,请参见附录的表 16。

5. 偏见、毒性和错误信息

大型语言模型已被证明会重现和放大训练数据中存在的偏差(Sheng 等人,2019 年;Kurita 等人,2019 年),并生成有毒或令人反感的内容(Gehman 等人,2020 年)。 由于我们的训练数据集包含很大一部分来自网络的数据,因此我们认为确定我们的模型生成此类内容的潜力至关重要。 为了了解 LLaMA-65B 的潜在危害,我们对测量有毒成分产生和刻板印象检测的不同基准进行了评估。 虽然我们选择了语言模型社区使用的一些标准基准来指示这些模型的一些问题,但这些评估不足以完全理解与这些模型相关的风险。

5.1 真实毒性提示

语言模型可能会生成有毒语言,例如侮辱、仇恨言论或威胁。 模型可以生成的有毒内容范围非常大,这使得彻底的评估具有挑战性。 最近的几项工作(Zhang 等人,2022;Hoffmann 等人,2022)已将 RealToxicityPrompts 基准(Gehman 等人,2020)视为其模型毒性程度的指标。 RealToxicityPrompts 包含模型必须完成的大约 100k 个提示; 然后通过向 PerspectiveAPI 3 发出请求来自动评估毒性分数。

我们无法控制第三方 PerspectiveAPI 使用的管道,因此很难与以前的模型进行比较。 对于 100k 提示中的每一个,我们都会用我们的模型贪婪地生成,并测量它们的毒性分数。 每个提示的分数范围从 0(无毒)到 1(有毒)。 在表 11 中,我们报告了 RealToxicityPrompts 的基本提示类别和尊重提示类别的平均得分。 这些分数与我们在文献中观察到的分数“相当”(例如,Chinchilla 为 0.087),但这些工作与我们的方法之间存在差异(在采样策略、提示数量和 API 时间方面)。 我们观察到毒性随着模型的大小而增加,特别是对于尊重提示。 在之前的工作中也观察到了这一点(Zhang 等人,2022),但 Hoffmann 等人的显着例外。 (2022)尽管尺寸不同,但他们没有看到龙猫和地鼠之间的差异。 这可以通过以下事实来解释:较大的模型 Gopher 的性能比 Chinchilla 差,这表明毒性和模型大小之间的关系可能仅适用于模型家族。

Model Params Basic Respectful
LLaMA 7B 0.106 0.081
LLaMA 13B 0.104 0.095
LLaMA 33B 0.107 0.087
LLaMA 65B 0.128 0.141

表11: RealToxicityPrompts. We run a greedy decoder on the 100k prompts from this benchmark. The “respectful” versions are prompts starting with “Complete the following sentence in a polite, respectful, and unbiased manner:”, and “Basic” is without it. Scores were obtained using the PerplexityAPI, with higher score indicating more toxic generations.

5.2 CrowS-Pairs

我们评估了 CrowSPairs 模型中的偏差(Nangia 等人,2020)。 该数据集可以衡量 9 个类别的偏见:性别、宗教、种族/肤色、性取向、年龄、国籍、残疾、外貌和社会经济地位。 每个例子都由刻板印象和反刻板印象组成,我们使用零样本设置中两个句子的困惑度来测量刻板句子的模型偏好。 因此,分数越高表明偏差越大。 我们在表 12 中与 GPT-3 和 OPT-175B 进行比较。

平均而言,LLaMA 比这两种模型略胜一筹。 我们的模型在宗教类别中尤其存在偏差(与 OPT-175B 相比+10%),其次是年龄和性别。 尽管有多个过滤步骤,但我们预计这些偏差仍来自 CommonCrawl。

表12:CrowS-Pairs. We compare the level of biases contained in LLaMA-65B with OPT-175B and GPT3-175B. Higher score indicates higher bias.

5.3 WinoGender

为了进一步研究我们的模型在性别类别上的偏差,我们查看了 WinoGender 基准(Rudinger 等人,2018),这是一个共同参考分辨率数据集。 WinoGender 由 Winograd 模式组成,通过确定模型共指解析性能是否受到代词性别的影响来评估偏差。

更准确地说,每个句子都有三个提及:“职业”、“参与者”和“代词”,其中代词共同指代职业或参与者。 我们提示模型确定共指关系,并根据句子的上下文来衡量它是否正确。 目标是揭示模型是否捕获了与职业相关的社会偏见。 例如,WinoGender 数据集中的一句话是“护士通知病人他的轮班将在一小时后结束。”,后面跟着“His”所指的。 然后,我们比较护士和患者连续的困惑度,以与模型进行共参考解决。 我们评估使用 3 个代词时的表现:“她/她/她”、“他/他/他”和“他们/他们/某人”(与代词的语法功能相对应的不同选择。

在表 13 中,我们报告了数据集中包含的三个不同代词的共指分数。 我们观察到,我们的模型在执行“他们/他们/某人”代词的共指解析方面明显优于“她/她/她”和“他/他/他”代词。 之前的工作中也进行了类似的观察(Rae 等人,2021;Hoffmann 等人,2022),这可能表明存在性别偏见。 事实上,在“她/她/她”和“他/他/他”代词的情况下,模型可能使用职业的大多数性别来执行共指解析,而不是使用句子的证据 。

为了进一步研究这一假设,我们查看了 WinoGender 数据集中“her/her/she”和“his/him/he”代词的“陷阱”案例集。 这些情况对应的句子中代词与职业的大多数性别不匹配,而职业是正确答案。 在表 13 中,我们观察到我们的模型 LLaMA-65B 在陷阱示例上犯了更多错误,清楚地表明它捕获了与性别和职业相关的社会偏见。 “她/她/她”和“他/他/他”代词的表现有所下降,这表明无论性别如何,都存在偏见。

anaphora 7B 13B 33B 65B
All 66.0 64.7 69.0 77.5
her/her/she 65.0 66.7 66.7 78.8
his/him/he 60.8 62.5 62.1 72.1
their/them/someone 72.1 65.0 78.3 81.7
her/her/she (gotcha) 64.2 65.8 61.7 75.0
his/him/he (gotcha) 55.0 55.8 55.8 63.3

表13:WinoGender. Co-reference resolution accuracy for the LLaMA models, for different pronouns (“her/her/she” and “his/him/he”). We observe that our models obtain better performance on “their/them/someone’ pronouns than on “her/her/she” and “his/him/he’, which is likely indicative of biases.

Model Params Truthful Truthful*Inf
GPT-3 1.3B 0.31 0.19
GPT-3 6B 0.22 0.19
GPT-3 175B 0.28 0.25
LLaMA 7B 0.33 0.29
LLaMA 13B 0.47 0.41
LLaMA 33B 0.52 0.48
LLaMA 65B 0.57 0.53

表14:TruthfulQA. We report the fraction of truthful and truthful*informative answers, as scored by specially trained models via the OpenAI API. We follow the QA prompt style used in Ouyang et al. (2022), and report the performance of GPT-3 from the same paper.

在表 14 中,我们报告了我们的模型在两个问题上的表现,以衡量真实模型以及真实与信息的交集。 与 GPT-3 相比,我们的模型在两个类别上的得分都较高,但正确答案率仍然较低,这表明我们的模型很可能会产生错误答案。

6.碳足迹(Carbon footprint)

训练 LLaMA 消耗了大量能源,排放了很多二氧化碳。我们遵循最近的文献,将总能耗和产生的碳足迹分解在表 15 中,

Model GPU Type GPU Power GPU-hours Total power Carbon emitted
OPT-175B A100-80GB 400W 809,472 356 MWh 137
BLOOM-175B A100-80GB 400W 1,082,880 475 MWh 183
LLaMA-7B A100-80GB 400W 82,432 36 MWh 14
LLaMA-13B A100-80GB 400W 135,168 59 MWh 23
LLaMA-33B A100-80GB 400W 530,432 233 MWh 90
LLaMA-65B A100-80GB 400W 1,022,362 449 MWh 173

表 15: Carbon footprint of training different models in the same data center. We follow Wu et al. (2022) to compute carbon emission of training OPT, BLOOM and our models in the same data center. For the power consumption of a A100-80GB, we take the thermal design power for NVLink systems, that is 400W. We take a PUE of 1.1 and a carbon intensity factor set at the national US average of 0.385 kg CO2e per KWh.

我们采用 Wu 等(2022)的公式来估算训练模型所需的瓦时数(Watt-hour, Wh)和碳排放量(carbon emissions)。 对于瓦时数,我们使用以下公式:

Wh = GPU-h * (GPU power consumption) * PUE

其中,我们的功率使用效率(PUE)为 1.1。 产生的碳排放量取决于用于训练所在的数据中心的位置。例如,

在本研究中,我们感兴趣的是在同一个数据中心的情况下,不同模型训练的碳排放成本。 因此,我们不考虑数据中心的位置,并使用美国国家平均碳强度系数(carbon intensity factor) 0.385kg CO2eq/KWh。 那么此时就有,

tCO2eq = MWh * 0:385

我们对 OPT 和 BLOOM 采用相同的公式进行公平比较。

我们希望 LLaMA 的发布有助于减少未来的碳排放,因为它训练已经完成(很多情况下大家直接用或者进行微调就行了): 而且其中一些小参数模型可以在单个 GPU 上运行。

7.相关工作(Related work)

语言模型是单词、 token 或字符组成的序列的概率分布 (probability distributions over sequences of words, tokens or characters)(Shannon, 1948, 1951)。

这个任务通常被描述为对下一个 token 的预测,在自然语言处理(Bahl 等,1983;Brown 等,1990)中很早就是一个核心问题了。 Turing(1950)提出通过“模仿游戏”(imitation game),使用语言来衡量机器智能, 因此语言建模(language modeling)成为了衡量人工智能进展的基准(Mahoney,1999)。

7.1 架构

传统上,语言模型基于 n-gram 计数统计(Bahl 等人,1983),并且提出了各种平滑技术来改进罕见事件的估计(Katz,1987;Kneser 和 Ney,1995)。 在过去的二十年里,神经网络已经成功地应用于语言建模任务,从前馈模型(Bengio et al., 2000)、循环神经网络(Elman, 1990; Mikolov et al., 2010)和LSTM( Hochreiter 和 Schmidhuber,1997;Graves,2013)。 最近,基于自注意力的 Transformer 网络取得了重要的改进,特别是在捕获长距离依赖性方面(Vaswani 等人,2017 年;Radford 等人,2018 年;Dai 等人,2019 年)。

7.2 Scaling

语言模型的缩放(模型和数据集大小)有着悠久的历史。 布兰茨等人。 (2007) 展示了使用在 2 万亿个标记上训练的语言模型(产生 3000 亿个 n 元语法)对机器翻译质量的好处。 虽然这项工作依赖于一种简单的平滑技术,称为 Stupid Backoff,Heafield 等人。 (2013) 后来展示了如何将 Kneser-Ney 平滑扩展到网络规模的数据。 这允许在 CommonCrawl 的 9750 亿个令牌上训练 5-gram 模型,从而产生一个具有 5000 亿个 n-gram 的模型(Buck 等人,2014 年)。 切尔巴等人。 (2013) 引入了十亿字基准,这是一个用于衡量语言模型进展的大规模训练数据集。

在神经语言模型的背景下,Jozefowicz 等人。 (2016) 通过将 LSTM 扩展到 10 亿个参数,在 Billion Word 基准上获得了最先进的结果。 后来,缩放转换器导致许多 NLP 任务的改进。 著名的模型包括 BERT(Devlin 等人,2018)、GPT-2(Radford 等人,2019)、Megatron-LM(Shoeybi 等人,2019)和 T5(Raffel 等人,2020)。 GPT-3(Brown 等人,2020)取得了重大突破,该模型拥有 1750 亿个参数。 这催生了一系列大型语言模型,例如 Jurassic-1 (Lieber et al., 2021)、Megatron-Turing NLG (Smith et al., 2022)、Gopher (Rae et al., 2021)、Chinchilla (Hoffmann) 等人,2022)、PaLM(Chowdhery 等人,2022)、OPT(Zhang 等人,2022)和 GLM(Zeng 等人,2022)。 赫斯特内斯等人。 (2017)和罗森菲尔德等人。 (2019) 研究了缩放对深度学习模型性能的影响,表明模型和数据集大小与系统性能之间存在幂律。 卡普兰等人。 (2020)专门针对基于 Transformer 的语言模型推导了幂律,后来由 Hoffmann 等人进行了完善。 (2022),通过在缩放数据集时调整学习率计划。 最后,魏等人。 (2022) 研究了缩放对大型语言模型能力的影响。

8. 结论

在本文中,我们提出了一系列公开发布的语言模型,并与最先进的基础模型竞争。 最值得注意的是,LLaMA-13B 的性能优于 GPT-3,同时尺寸缩小了 10 倍以上,LLaMA-65B 与 Chinchilla-70B 和 PaLM-540B 具有竞争力。 与之前的研究不同,我们表明,通过专门针对公开可用的数据进行训练,无需求助于专有数据集,就可以实现最先进的性能。 我们希望向研究界发布这些模型将加速大型语言模型的开发,并有助于提高其稳健性并减轻诸如毒性和偏见等已知问题。 此外,我们像 Chung 等人一样观察到。 (2022)根据指令微调这些模型会带来有希望的结果,我们计划在未来的工作中进一步研究这一点。 最后,我们计划将来发布在更大的预训练语料库上训练的更大的模型,因为我们在扩展过程中看到了性能的不断提高。

https://arxiv.org/pdf/2302.13971.pdf http://arthurchiao.art/blog/llama-paper-zh/