LLaMA:开源的高效的基础语言模型

LLaMA: Open and Efficient Foundation Language Models

Feb 2023

Hugo Touvron*, Thibaut Lavril*, Gautier Izacard*, Xavier Martinet, Marie-Anne Lachaux, Timothée Lacroix, Baptiste Rozière, Naman Goyal, Eric Hambro, Faisal Azhar, Aurelien Rodriguez, Armand Joulin, Edouard Grave*, Guillaume Lample*

[Meta AI]

https://arxiv.org/abs/2302.13971

https://github.com/facebookresearch/llama

编者注:先进的语言大模型,如OpenAI的GPT4、ChatGPT,Google的PaLM,DeepMind的Chinchilla,不开源不透明,使用自有的非公开的数据训练。已有的开源的语言大模型则在性能上有差距。LLaMA模型旨在提供一个训练配方、数据处理流程,以缩小(消除)这个差距。

LLaMA模型的一些讲解:

https://mp.weixin.qq.com/s/VsFSsTPohKGDIJdATvDuvA

https://mp.weixin.qq.com/s/kz2DpGDW-MUFLROTUk-olw

https://mp.weixin.qq.com/s/Qj8smMCKzNS_oC6Mm0u_5A

https://zhuanlan.zhihu.com/p/610423784

https://mp.weixin.qq.com/s/k4mYf7ZwHWhi7dWb7gEjcQ


延伸:LLaMA模型开源不久后,斯坦福大学在其基础上微调和开发出Alpaca模型,并迅速地在几天内github收获上万星:

https://crfm.stanford.edu/2023/03/13/alpaca.html

https://github.com/tatsu-lab/stanford_alpaca

一些讲解:

https://mp.weixin.qq.com/s/ybVYZumZhk_yM_w0U1wXww

https://zhuanlan.zhihu.com/p/613863218

https://zhuanlan.zhihu.com/p/614354549 

https://simonwillison.net/2023/Mar/13/alpaca/


摘要:我们介绍了LLaMA,这是一组基础语言模型,范围从7B到65B参数。我们在数万亿的tokens上训练我们的模型,并表明可以专门使用公开可用的数据集训练最先进的模型,而无需求助于专有和不可访问的数据集。特别是,LLaMA-13B在大多数基准测试中的表现都优于GPT-3(175B),并且LLaMA-65B与最佳型号Chinchilla-70B和PaLM-540B相比具有竞争力。我们向研究社区发布所有模型。

1    引言

在大量文本语料库上训练的大型语言模型(LLM)已显示出其根据文本指令或少数示例执行新任务的能力(Brown等人,2020)。当将模型缩放到足够大时,few-shot属性首次出现(Kaplan等人,2020年),导致一系列工作集中于进一步缩放这些模型(Chowdhery等人,2022年;Rae等人,2021)。这些努力基于这样的假设,即更多的参数将导致更好的性能。然而,霍夫曼等人(2022)最近的工作表明,对于给定的计算预算,最佳性能不是由最大的模型实现的,而是由基于更多数据训练的较小模型实现的。

霍夫曼等人(2022)的缩放定律的目的是确定如何为特定的训练计算预算最佳地缩放数据集和模型大小。然而,这个目标忽略了推理预算,这在大规模服务语言模型时变得至关重要。在这种情况下,给定目标性能水平,优选的模型不是训练最快的,而是推理最快的。尽管训练大型模型以达到某一性能水平可能更便宜,但训练时间越长的小型模型最终推理成本越低。例如,尽管Hoffmann等人(2022)建议在200Btokens上训练10B模型,但我们发现,即使在1Ttokens之后,7B模型的性能仍在继续提高。

这项工作的重点是训练一系列语言模型,通过训练比通常使用的tokens更多的tokens,在各种推理预算下实现最佳性能。所得到的模型称为LLaMA,其参数范围从7B到65B,与现有最佳LLM相比具有竞争力。例如,尽管LLaMA-13B比GPT-3小10倍,但在大多数基准测试中,LLaMA-13的性能都优于GPT-3。我们相信,该模型将有助于LLM的访问和研究大众化,因为它可以在单个GPU上运行。在最大模型上,我们的65B参数模型也与最好的大型语言模型(如Chinchilla或PaLM-540B)竞争。

与Chinchilla、PaLM或GPT-3不同,我们只使用公开可用的数据,使我们的工作与开源兼容,而大多数现有模型依赖于非公开可用或未记录的数据(例如“Books – 2TB”或“Social media conversations”)。存在一些例外,特别是OPT(Zhang等人,2022)、GPT NeoX(Black等人,2022年)、BLOOM(Scao等人,2022年)和GLM(Zeng等人,2022年),但没有一种与PaLM-62B或Chinchilla竞争。

在本文的其余部分,我们概述了我们对Transformer架构所做的修改(Vaswani等人,2017),以及我们的训练方法。然后,我们报告模型的性能,并在一组标准基准上与其他LLM进行比较。最后,我们使用负责的人工智能社区的一些最新基准,揭示了我们模型中编码的一些偏见和毒性。

2    方法

我们的训练方法与先前工作中描述的方法相似(Brown等人,2020;Chowdhery等人,2022),并受Chinchilla缩放定律的启发(Hoffmann等人,2022年)。我们使用标准优化器在大量文本数据上训练大型Transformer。

2.1    预训练数据

我们的训练数据集是表1中报告的几种来源的混合,涵盖了一组不同的领域。在大多数情况下,我们重用已用于训练其他LLM的数据源,但仅限于使用公开可用且与开源兼容的数据。这将导致以下数据及其在训练集中所占百分比的混合:

英语CommonCrawl[67%]。    我们使用CCNet管道(Wenzek等人,2020年)预处理了5个CommonCrawl dumps,从2017年到2020年。此过程在行级别(line level)消除数据重复,使用fastText线性分类器进行语言识别以删除非英语页面,并使用ngram语言模型过滤低质量内容。此外,我们训练了一个线性模型,来对页面做一个分类,是被Wikipedia作为引用,还是随机采样的页面,对于没有分类为被引用的页面,则丢弃掉。

C4[15%]。    在探索性实验中,我们观察到使用不同的预处理CommonCrawl数据集可以提高性能。因此,我们将公开可用的C4数据集(Raffel等人,2020)纳入了我们的数据中。C4的预处理还包含重复数据消除和语言识别(language identification steps)步骤:与CCNet的主要区别是质量过滤,它主要依赖于启发式,例如标点符号的存在或网页中的单词和句子的数量。

Github[4.5%]。    我们使用Google BigQuery上提供的公共GitHub数据集。我们只保留在Apache、BSD和MIT许可证下分发的项目。此外,我们根据行长度或字母数字字符的比例,使用启发式方法过滤低质量文件,并使用正则表达式删除样板文件(boilerplate),如标题。最后,我们使用精确匹配(exact matches)在文件级别(file level)对生成的数据集进行重复数据消除。

维基百科[4.5%]。    我们添加了2022年6月至8月期间的维基百科 dumps,涵盖20种语言,它们使用拉丁语或西里尔语脚本:bg、ca、cs、da、de、en、es、fr、hr、hu、it、nl、pl、pt、ro、ru、sl、sr、sv、uk。我们删除超链接、注释和其他格式样板。

Gutenberg和Books3[4.5%]。    我们在训练数据集中包括两个图书语料库:Gutenberg Project,其中包含公共领域的图书,以及ThePile的Books3部分(Gao等人,2020),这是一个用于训练大型语言模型的公开数据集。我们在书本级别执行重复数据消除,删除内容重叠超过90%的书本。

ArXiv[2.5%]。    我们处理arXiv Latex文件,将科学数据添加到数据集。继Lewkowycz等人(2022)之后,我们删除了第一节之前的所有内容,以及参考文献。我们还删除了.tex文件中的注释,以及用户编写的inline-expanded definitions和宏,以提高论文之间的一致性。

Stack Exchange[2%]。    我们包括一个Stack Exchange网站,这是一个包含高质量问题和答案的网站,涵盖从计算机科学到化学等多个领域。我们保留了28个最大网站的数据,删除了文本中的HTML标记,并按分数(从最高到最低)对答案进行排序。

Tokenizer。    我们用字节对编码(bytepair encoding,BPE)算法对数据进行tokenize(Sennrich等人,2015),使用来自SentencePiece的实现(Kudo和Richardson,2018)。值得注意的是,我们将所有数字拆分为单个数字,并回退到字节来分解未知的UTF-8字符

总体而言,我们的整个训练数据集在标记化之后包含大约1.4T个标记。对于我们的大多数训练数据,每个tokens在训练期间只使用一次,除了维基百科和图书域,我们在这两个域上执行了大约两个epoch。

2.2    架构

继最近对大型语言模型的研究之后,我们的网络基于Transformer架构(Vaswani等人,2017)。我们利用了随后提出的各种改进,并在不同的模型中使用,如PaLM。以下是与原始架构的主要区别,以及我们发现这一变化的灵感(括号内):

预归一化[GPT3]。    为了提高训练稳定性,我们对每个Transformer子层的输入进行归一化,而不是对输出进行归一化。我们使用由Zhang和Sennrich(2019)介绍的RMSNorm归一化函数。

SwiGLU激活功能[PaLM]。我们用Shazeer(2020)引入的SwiGLU激活函数代替ReLU非线性,以提高性能。我们使用\frac23 4d的维度,而不是PaLM中的4d

旋转嵌入[GPTNo]。    我们删除了绝对位置嵌入,而是在网络的每一层添加了Su等人(2021)引入的旋转位置嵌入(RoPE)。

表2给出了我们不同模型的超参数的详细信息。

2.3    优化器

我们的模型使用AdamW优化器进行训练(Loshchilov和Hutter,2017),具有以下超参数:β1=0.9,β2=0.95。我们使用余弦学习速率表,使得最终学习速率等于最大学习速率的10%。我们使用0.1的权重衰减和1.0的梯度裁剪。我们使用2000个预热步骤,并根据模型的大小改变学习速度和批量大小(详见表2)。

2.4    高效实施

我们进行了一些优化,以提高模型的训练速度。首先,我们使用因果多头注意力的有效实现来减少内存使用和运行时间。此实现,在xformers库中提供(https://github.com/facebookresearch/xformers),受到Rabe和Staats(2021)的启发,并使用了Dao等人(2022年)提供的向后方法。这是通过不存储注意力权重和不计算由于语言建模任务的因果性质而被掩盖的关键字/查询分数来实现的。(This is achieved by not storing the attention weights and not computing the key/query scores that are masked due to the causal nature of the language modeling task.)

为了进一步提高训练效率,我们通过检查点(checkpointing)减少了反向传播过程中重新计算的激活次数。更准确地说,我们节省了计算昂贵的激活,例如线性层的输出。这是通过手动实现Transformer层的反向传播功能来实现的,而不是依赖PyTorch自动生成。

为了充分受益于这种优化,我们需要通过使用模型和序列并行性来减少模型的内存使用,如Korthikanti等人(2022)所述。此外,我们还尽可能地重叠激活的计算和网络上GPU之间的通信(由于all_reduce操作)。当训练65B参数模型时,我们的代码在2048 A100 GPU和80GB RAM上处理大约380个tokens/秒/GPU。这意味着对包含1.4Ttokens的数据集的训练大约需要21天。

3    主要结果

根据之前的工作(Brown等人,2020),我们考虑了Zero-shot和Few-shot任务,并报告了总共20个基准的结果:

•    Zero-shot。我们提供了任务的文本描述和一个测试样本。该模型要么使用开放式生成提供答案,要么对提出的答案进行排序。(The model either provides an answer using open-ended generation, or ranks the proposed answers.)

•    Few-shot。我们提供了该任务的几个示例(介于1和64之间)和一个测试示例。模型将此文本作为输入并生成答案或对不同选项进行排序。(We provide a few examples of the task (between 1 and 64) and a test example. The model takes this text as input and generates the answer or ranks different options.)

我们将LLaMA与其他基础模型进行了比较,即非公开可用的语言模型GPT-3(Brown等人,2020)、Gopher(Rae等人,2021)、Chinchilla(Hoffmann等人,2022)和PaLM(Chowdhery等人,2022。在第4节中,我们还将LLaMA与OPT-IML(Iyer等人,2022)和Flan PaLM(Chung等人,2022年)等指令调整模型进行了简要比较。

我们在自由生成任务和多项选择任务上评估LLaMA。在多项选择任务中,目标是根据提供的context,在一组给定选项中选择最合适的完成。在给定的context中,我们选择可能性最高的完成。我们遵循Gao等人(2021)的方法,使用由补全字符数的归一化的似然值,但某些数据集(OpenBookQA、BoolQ)除外,我们遵循Brown等人(2020)的方法。我们基于由给定“Answer:”作为context:P(completion|context)/P(completion|“Answers:”)的补全可能性归一化来选择补全{\scriptstyle P ( \mathtt{completion} \mid \mathtt{context})/P(\mathtt{completion} \mid ``Answer:" ) }

3.1    常识推理

我们考虑了八个标准常识推理基准:BoolQ(Clark等人,2019年)、PIQA(Bisk等人,2020年)、SIQA(Sap等人,201九年)、HellaSwag(Zellers等人,20119年)、WinoGrande(Sakaguchi等人,2021)、ARC easy and challenge(Clarks等人,2018年)和OpenBookQA(Mihaylov等人,2018)。这些数据集包括Cloze和Winograd风格的任务,以及多项选择题解答。我们在零镜头设置中进行评估,就像在语言建模社区中所做的那样。

在表3中,我们与相应论文中不同大小和报告编号的现有模型进行了比较。首先,LLaMA-65B在除BoolQ之外的所有报告基准上均优于Chinchilla-70B。类似地,除了BoolQ和WinoGrande之外,这款模型在任何地方都超过了PaLM540B。尽管LLaMA-13B模型比GPT-3小10倍,但在大多数基准测试中,LLaMA-13模型的性能也优于GPT-3。

3.2    闭卷问答    Closed-book Question Answering

我们将LLaMA与现有大型语言模型在两个闭卷问答基准上进行了比较:自然问题(Kwiatkowski等人,2019)和TriviaQA(Joshi等人,2017)。对于这两个基准,我们报告了在closed book设置下的精确匹配性能,即模型无法访问包含答案证据的文档。在表4中,我们报告了NaturalQuestions的性能,在表5中,我们报道了TriviaQA。在这两个基准测试中,LLaMA-65B在zero-shot和few-shot设置中实现了最先进的性能。更重要的是,LLaMA-13B在这些基准测试中与GPT-3和Chinchilla相比也具有竞争力,尽管更小5-10倍。在推理过程中,该模型在单个V100 GPU上运行。

3.3    阅读理解

我们在RACE阅读理解基准上评估了我们的模型(Lai等人,2017)。这个数据集是从为中国中学生和高中生设计的英语阅读理解考试中收集的。我们遵循Brown等人(2020)的评估设置,并在表6中报告结果。在这些基准测试中,LLaMA-65B与PaLM-540B相比具有竞争力,并且LLaMA-13B比GPT-3好几个百分点。

3.4    数学推理

我们根据两个数学推理基准评估模型:MATH(Hendrycks等人,2021)和GSM8k(Cobbe等人,2021)。MATH是用LaTeX编写的12K个中学和高中数学问题的数据集。GSM8k是一组中学数学问题。在表7中,我们与PaLM和Minerva进行了比较(Lewkowycz等人,2022)。Minerva是一系列PaLM模型,对从ArXiv和Math网页中提取的38.5Btokens进行了微调,而PaLM和LLaMA都没有对数学数据进行微调。PaLM和Minerva的数据取自Lewkowycz等人(2022),我们在使用和不使用maj1@k的设置下进行比较。maj1@k表示我们为每个问题生成k个样本并进行多数投票的评估(Wang等人,2022)。在GSM8k上,我们观察到LLaMA65B优于Minerva-62B,尽管它还没有根据数学数据进行微调。

3.5    代码生成

我们评估了模型在两个基准上根据自然语言描述编写代码的能力:HumanEval(Chen等人,2021)和MBPP(Austin等人,2021)。对于这两项任务,模型都会收到几句话中的程序描述,以及一些输入输出示例。在HumanEval中,它还接收函数签名,提示被格式化为带有文本描述的自然代码,并在文档字符串中进行测试。模型需要生成一个符合描述并满足测试用例的Python程序。在表8中,我们比较了我们的模型与尚未在代码上进行微调的现有语言模型的pass@1分数,即PaLM和LaMDA(Thoppilan等人,2022)。PaLM和LLaMA在包含相似数量代码tokens的数据集上进行了训练。

如表8所示,对于相同数量的参数,LLaMA优于其他通用模型,如LaMDA和PaLM,这些模型没有专门针对代码进行训练或微调。具有13B参数的LLaMA在HumanEval和MBPP上均优于LaMDA 137B。即使训练时间更长,LLaMA 65B也优于PaLM 62B。本表中报告的这个pass@1结果是通过在0.1温度下取样获得的。这个pass@100和pass@80是在温度为0.8。我们使用与Chen等人(2021)相同的方法来获得pass@k.

通过对特定于代码的tokens进行微调,可以提高代码的性能。例如,PaLM-Coder(Chowdhery等人,2022)增加了PaLM在HumanEval上的pass@1得分从26.2%降至36%。其他专门针对代码进行训练的模型在这些任务上的表现也优于一般模型(Chen等人,2021;Nijkamp等人,2022年;Fried等人,2022.)。对代码tokens的微调超出了本文的范围。

3.6    大规模多任务语言理解

Hendrycks等人(2020)引入的大规模多任务语言理解基准(MMLU)由涵盖各种知识领域的多项选择题组成,包括人文科学、STEM和社会科学。我们使用基准提供的示例在5-shot设置中评估我们的模型,并在表9中报告结果。在这个基准上,我们观察到LLaMA-65B在大多数领域平均落后于Chinchilla70B和PaLM-540B几个百分点。一种可能的解释是,我们在预训练的数据中使用了有限数量的书籍和学术论文,即ArXiv、Gutenberg和Books3,总计只有177GB,而这些模型的训练量高达2TB。Gopher、Chinchilla和PaLM使用的大量书籍也可以解释为什么Gopher在这个基准测试上优于GPT-3,而在其他基准测试上是相当的。

3.7    训练期间性能的演变

在训练期间,我们跟踪了模型在几个问题回答和常识基准上的表现,并在图2中报告了这些表现。在大多数基准测试中,性能稳步提高,并与模型的训练困惑相关(见图1)。SIQA和WinoGrande除外。最值得注意的是,在SIQA上,我们观察到许多性能差异,这可能表明该基准不可靠。在WinoGrande上,表现与训练困惑并不相关:LLaMA-33B和LLaMA-65B在训练期间表现相似。

4    指令微调

在本节中,我们展示了对指令数据的短暂微调可以快速改进MMLU。尽管LLaMA-65B的非微调版本已经能够遵循基本指令,但我们观察到,非常少量的微调提高了MMLU上的性能,并进一步提高了模型遵循指令的能力。由于这不是本文的重点,我们仅按照与Chung等人(2022)相同的协议进行了单个实验,以训练指令模型LLaMA-I。

在表10中,我们报告了MMLU上的指令模型LLaMA-I的结果,并与中等大小的现有指令微调模型进行了比较,即OPT-IML(Iyer等人,2022)和Flan-PaLM系列(Chung等人,2022年)。所有报告的数字都来自相应的论文。尽管这里使用的指令微调方法很简单,但在MMLU上我们达到了68.9%。LLaMA-I(65B)的性能优于MMLU现有的中等大小的指令微调模型,但仍远未达到最先进水平,即MMLU上的GPT code-davinci-002为77.4(数字取自Iyer等人(2022))。MMLU在57项任务上的性能详情见附录表16。

5    偏置、毒性和错误信息

大型语言模型已被证明可以复制和放大训练数据中存在的偏见(Sheng等人,2019;Kurita等人,2019),并生成有毒或攻击性内容(Gehman等人,2020)。由于我们的训练数据集包含大量来自Web的数据,我们认为,确定我们的模型生成此类内容的潜在可能性至关重要。为了了解LLaMA-65B的潜在危害,我们对不同的基准进行了评估,这些基准衡量了有毒成分的产生和刻板印象的检测。虽然我们选择了语言模型社区使用的一些标准基准来指出这些模型的一些问题,但这些评估不足以充分理解与这些模型相关的风险

5.1    真实毒性提示

语言模型会产生有害语言,例如侮辱、仇恨言论或威胁。一个模型可以产生非常大范围的有毒物质,这使得彻底的评估具有挑战性。最近的几项研究(Zhang等人,2022;Hoffmann等人,2022)将RealToxicityPrompts基准(Gehman等人,2020)视为其模型毒性的指标。RealToxicityPrompts由模型必须完成的约100k个提示组成;则通过向PerspectiveAPI (https://perspectiveapi.com/ )发出请求来自动评估毒性得分。我们无法控制第三方PerspectiveAPI使用的管道,因此很难与以前的模型进行比较。

对于100k的提示中的每一个,我们贪婪地使用我们的模型生成,并测量它们的毒性分数。每个提示的得分范围从0(无毒)到1(有毒)。在表11中,我们报告了RealToxicityPrompts的basic和respectful提示类别的平均得分。这些分数与我们在文献中观察到的分数“可比”(例如,Chinchilla的分数为0.087),但这些工作与我们的方法不同(在采样策略、提示次数和API时间方面)。我们观察到,毒性随着模型的大小而增加,特别是对于respectful提示。在之前的工作中也观察到了这一点(Zhang等人,2022年),但霍夫曼等人(2022年)的显著例外是,尽管大小不同,但他们没有看到Chinchilla和Gopher之间的差异。这可以解释为更大的模型Gopher的性能比Chinchilla差,这表明毒性和模型大小之间的关系可能只适用于在一个模型家族内部。

5.2    CrowS-Pairs

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

平均而言,LLaMA与两种模型相比稍有优势。我们的模型在宗教类别中特别有偏见(与OPT-175B相比,增加了10%),其次是年龄和性别。我们预计这些偏差来自CommonCrawl,尽管有多个过滤步骤。

5.3    Wino性别

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

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

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

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

5.4    真实质量保证

TruthfulQA(Lin等人,2021)旨在衡量模型的真实性,即其识别声明真实性的能力。Lin等人(2021)考虑了“真实”的定义,即“真实世界的文字真相”,而不是仅在信仰体系或传统背景下才是真实的主张。该基准可以评估模型产生错误信息或虚假声明的风险。这些问题的写作风格多样,涵盖38个类别,旨在对抗。

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

6    碳足迹

我们模型的训练消耗了大量的能量,导致了二氧化碳的排放。我们遵循最近关于该主题的文献,并在表15中对总能耗和由此产生的碳足迹进行了细分。我们遵循Wu等人(2022)的公式来估计训练模型所需的瓦特小时数Wh,以及碳排放量\text{tCO}_{2}\text{eq}。对于Wh,我们使用公式:

\textrm{Wh} = \textrm{GPU-h}\times(\textrm{GPU power consumption}) \times \textrm{PUE}

其中我们将功率使用效率(PUE)设置为1.1。由此产生的碳排放取决于用于训练网络的数据中心的位置。例如,BLOOM使用的网格排放0.057 kg \text{CO}_{2}\text{eq/KWh},导致27 \text{tCO}_{2}\text{eq},OPT使用的网格释放0.231 kg \text{CO}_{2}\text{eq/KWh},从而导致82\text{tCO}_{2}\text{eq}。在这项研究中,我们有兴趣比较这些模型在同一数据中心训练的碳排放成本。因此,我们没有考虑数据中心的位置,而是使用0.385 kg \text{CO}_{2}\text{eq/KWh}的美国国家平均碳强度系数。这导致了碳排放量的以下公式:

\textrm{tCO}_2\textrm{eq}=\textrm{MWh}\times0.385.

为了公平比较,我们对OPT和BLOOM应用相同的公式。对于OPT,我们假设用992块A100-80B需要34天的训练(见其日志4,https://github.com/facebookresearch/metaseq/tree/main/projects/OPT/chronicles)。最后,我们估计我们在大约5个月的时间内使用了2048 A100-80GB来开发我们的模型。这意味着,根据我们的假设,开发这些模型的成本约为2638 MWh,总排放量为1015\text{tCO}_{2}\text{eq}。我们希望发布这些模型将有助于减少未来的碳排放,因为训练已经完成,而且有些模型相对较小,可以在单个GPU上运行。

7    相关工作

语言模型是单词、标记或字符序列上的概率分布(Shannon,19481951)。这项任务通常被定义为下一个标记预测,长期以来一直被认为是自然语言处理的核心问题(Bahl等人,1983年;Brown等人,1990年)。由于图灵(1950)提出通过“模仿游戏”使用语言来衡量机器智能,语言建模被提出作为衡量人工智能进展的基准(Mahoney,1999)。

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

缩放。    语言模型的缩放历史悠久,无论是模型还是数据集大小。Brants等人(2007年)展示了使用基于2万亿tokens训练的语言模型对机器翻译质量的好处,从而产生了3000亿个n-gram。虽然这项工作依赖于一种简单的平滑技术,称为Stupid Backoff,但Heafield等人(2013)后来展示了如何将Kneer-Ney平滑扩展到Web规模的数据。这允许在CommonCrawl的9750亿tokens上训练一个5-gram模型,从而产生了一个5000亿的n-gram的模型(Buck等人,2014)。Chelba等人(2013年)引入了十亿字基准,这是一个用于衡量语言模型进展的大规模训练数据集。

在神经语言模型的背景下,Jozefowicz等人(2016)通过将LSTM缩放到10亿个参数,在十亿字基准上获得了最先进的结果。后来,缩放Transformer导致了许多NLP任务的改进。值得注意的模型包括BERT(Devlin等人,2018年)、GPT-2(Radford等人,2019年)、MegatronLM(Shoeybi等人,2019)和T5(Raffel等人,2020年)。GPT-3(Brown等人,2020)是一个具有1750亿参数的模型,取得了重大突破。这导致了一系列大型语言模型,如Jurassic-1(Lieber等人,2021)、Megatron-Turing NLG(Smith等人,022)、Gopher(Rae等人,2021)、Chinchilla(Hoffmann等人,2022)、PaLM(Chowdhery等人,2021)、OPT(Zhang等人,2022)和GLM(Zeng等人,2022)。Hesmenty等人(2017)和Rosenfeld等人(2019)研究了缩放对深度学习模型性能的影响,表明模型和数据集大小以及系统性能之间存在幂律。Kaplan等人(2020)专门针对基于Transformer的语言模型导出了幂律,随后霍夫曼等人(2022)通过在缩放数据集时调整学习率时间表对其进行了改进。最后,Wei等人(2022)研究了缩放对大型语言模型能力的影响。

8    结论

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

附录:

一个问题的回答

我们评估了自然问题和日常QA的LLaMA。对于自然问题,我们使用用于包含3610个问题的开放域问题回答的测试分割。对于TriviaQA,我们对过滤集的开发集进行评估。这与GPT-3和PaLM不同,后者在未过滤集的测试集上进行评估,在线评估服务器不再可用5。

我们使用贪婪解码生成答案,并通过在第一个换行符、最后一个点或逗号处停止来从生成中提取答案。生成的答案使用标准的精确匹配度量进行评估:如果生成的答案与归一化后的答案列表中的任何答案匹配,则认为生成的答案正确。对于这个规范化步骤,我们将生成的答案小写,并删除文章、标点符号和重复的空格。图3分别显示了自然问题和TriviaQA的单镜头设置中的格式化示例。在所有设置中,我们都会将字符串Answer these questions:\n预打印到问题和答案列表中。

LLaMA-65B的C代

在本节中,我们展示了使用LLaMA-65B(无指令微调)获得的几代的示例。提示以粗体显示

LLaMA-I的D代

我们展示了使用LLaMA-I的几代示例,即使用Chung等人的协议和指令数据集微调的LLaMA-65B。(2022)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容