Or Sharir、Barak Peleg、Yoav Shoham作者杜伟、小舟参与

谷歌T5预训练模型单次运行成本超130万美元?算力和金钱才是模型训练的王道

近年来,在自然语言处理领域,各种各样、各种规模的语言模型层出不穷,为该领域的进步提供了充足的动力。但欣喜之余,训练成本过于高昂的问题也随之出现。比如,BERT 训练成本 1.2 万美元、GPT-2 训练成本 4.3 万美元、XLNet 训练成本 6.1 万美元,等等。这就使得个人研究者和一些刚起步的初创公司难以负担。因此,在训练模型时了解成本的多少就变得很重要了,本文会为你提供一份参考性指南。


在本研究中,来自以色列人工智能研究公司 AI21 Labs 的研究者回顾了训练大型语言模型的成本,以及这些成本都用在了哪些方面。如果你是正在为自己的模型训练实验做预算的工程师和科学家,亦或是想要了解现代自然语言处理(NLP)成本的非从业人员,这篇文章都值得一读。

论文链接:https://arxiv.org/pdf/2004.08900.pdf

硬件改进可以降低 FLOPs 成本,但总成本却一直上升

首先需要指出的是,基本的神经网络(NN)运算,即浮点运算(FLOPs)的成本一直都在下降。举例而言,谷歌关于 ResNet-50 训练成本比较的研究表明,ResNet-50 的训练成本下降了 38%。这得益于硬件(从 GPU 转向了 TPU)以及框架级的优化,充分利用了并行性的优势。

谷歌关于 ResNet-50 训练成本比较的研究显示,8 块 V100 GPU 训练 90 epoch 需要 216 分钟,成本是 75 美元以上;而 1 块 full Cloud TPU v2 Pod 训练 90 epoch 只需要 7.9 分钟,成本是 50 美元。由此得出,使用 TPU 训练时成本下降了 38%,训练速度快了 27 倍。

ResNet-50 训练成本的下降并不是孤立的事件,大型模型的训练成本也正随着硬件的创新和训练方法的改进而出现相应的下降。尽管如此,总成本却一直在增加,甚至需要投入数百万资金。所以,研究者接下来解释了为什么会出现这种情况以及哪些因素在 NLP 模型训练成本中起决定作用。

如果有人问训练一个模型的成本究竟是多少?那么正确答案一般有两种:视情况而定(depends)或非常多(a lot)。下面从更定量化的角度展示在维基百科和图书语料库(15GB)上训练不同大小 BERT 模型的大约成本。

对于不同参数的 BERT 模型,研究者给出了两种训练配置下的训练成本:单次训练的成本;超参调优和每个设置下多次运行包含在内的典型全负荷训练成本(这里展示两种训练配置的适度成本上限以及每种配置运行 10 次的成本):

  • 0.25 万美元-5 万美元(1.1 亿参数的模型);

  • 1 万美元-20 万美元(2.4 亿参数的模型);

  • 8 万美元-160 万美元(15 亿参数的模型)。


这些数字能让我们更清醒地看到训练大型模型的成本,并可以根据这些数字对其他训练成本做出合理的猜测。例如,根据谷歌发布的信息,研究者估计在训练 110 亿参数的 T5(谷歌 2019 年推出的预训练模型)变体时,单次运行成本就远远超出了 130 万美元。因此,假设 T5 大模型和数百个小模型运行 2-3 次,则整个项目的成本可能就达到了 1000 万美元。

很多公司,当然也包括很多初创公司的确无力承担这些巨额费用。有些人则认为费用不是大问题,就让谷歌这样的巨擘公司预训练和发布大型语言模型,其他公司针对特定任务进行微调就可以了。不过也有人对此并不乐观。

钱花在什么地方:Size 决定一切

并没有一个固定的公式告诉我们一个给定的 NLP 设置需要多少 FLOPs 才能实现目标性能。但是,一些变量会对数量造成影响,并且过去几年这些变量急剧增加,远远超出了以前所认为的「大规模」(massive)vision-focused 机器学习模型。

下图展示了一些相关变量,分为三类:(a)数据集大小;(b)模型大小(以参数量表示);(c)训练量(以预训练过程中处理的 token 总数量表示)。图上用于所有模型,图下适用于基于 transformer 的模型。

研究者认为,在 NLP 领域,数据集、模型和训练量正变得越来越大。

这些增加的具体方法对 FLOPs 的数量的影响是非常微妙的,取决于具体的训练计划和架构。比如,与具有类似模型、数据大小以及训练步骤的 GPT-2 模型相比,训练 BERT 样式模型需要的 FLOPs 更少。

其他训练计划可能会引入影响成本的其他因素,比如 ELECTRA 的对抗训练方案在训练过程中使用了额外的生成器模型。这些增加了每个步骤的相对成本,但是需要的步骤变少了,因此降低了总成本。尽管有这些微妙之处,但很明显,所有这些增长的数字都与决定底线的 FLOPs 数量更相关。

除此之外,还存在一些经常被忽略的额外的隐性成本。每个模型都必须经过多次训练,这是为了最大程度地减少随机影响(每次运行本质上都是随机的),也是为了在组合的大型超参数搜索空间进行搜索。这意味着单次训练的成本可能会高出很多倍(在优化配置中,训练大型模型之前首先会在较小的模型上执行大多数实验,这样能够显著降低成本)。

未来展望

社区采用大规模强力统计方法是因为它有效,并且能实现比其它任何方法更好的性能。而且,由于 NLP 具有可观的经济价值,因此追求良好性能的成本不会太高。我们看不到在大规模语料库上使用大型神经网络模型的终结,并可以想象,随着社区开发更复杂的架构来追求更宏大的任务,成本还会进一步增加。当你从句子到整个文档以及其他内容时,你可以想到每一个 token 的更多维度、更长的上下文以及更多的层次。

尽管增加更多的外部知识源可能减少对网络的唯一依赖,但也可能有助于扩大网络规模,以便于将外部知识映射在嵌入空间中。实际上,已经有关于 1000 亿参数模型的讨论。也就是说,我们看到了一些因素可能有助于抑制这种爆发,并且防止事情失控。以下是研究者对于当前 NLP 领域的一些看法展望:

  • 由于竞争加剧,原始计算的价格进一步降低。根据《New research from TSO Logic shows aws costs get lower every year》博客文章内容,自 2006 年推出以来,亚马逊网络服务(AWS)的价格下降了 65 倍以上,其中 2014 年至 2017 年,下降了 73%。预计面向人工智能的计算产品也会出现同样的趋势;

  • 更高效的神经网络架构,部分受经济因素驱动,部分受环境因素驱动。比如,Reformer 结构使用启发式方法将 transformer 注意力机制的复杂度从二次(quadratic)降低到 O(n log n)。类似地,ALBERT 通过分解嵌入矩阵和分层权重共享,以更少的参数实现了更高的准确性。非常希望看到更多这样的情况;

  • 结束 SOTA 比赛。社区中越来越多的人意识到,在诸多挑战数据集的排行榜上,大量的计算工作都投入到了排行榜顶端,这往往涉及许多次(有时甚至达到数千次)的运行,所有这些只是为了让单个实例幸运地获得第一名。当然,这种过拟合没有什么价值,我们希望看到更少这样的情况。

  • 充分利用有用的数据。已经写成或将要写(有用的)的文本太多。有机会的话,我们将在博尔赫斯的 Universal Library 上进行训练;

  • 有一种学派观点认为统计 ML 和神经网络一样有用且有必要,但目前还不充足,它会使人们走得更远。相反,如果沿着这种思路,则需要将结构化知识和象征性方法结合起来,这就变成了取决于大脑而不仅仅是取决于肌肉。这是研究者发现的一个观点。

理论神经网络自然语言处理谷歌
相关数据
AWS机构

亚马逊网络服务系统(英语:Amazon Web Services,缩写为AWS),由亚马逊公司所创建的云计算平台,提供许多远程Web服务。Amazon EC2与Amazon S3都架构在这个平台上。在2002年7月首次公开运作,提供其他网站及客户端(client-side)的服务。截至2007年7月,亚马逊公司宣称已经有330,000名开发者,曾经登录过这项服务。

相关技术
亚马逊机构

亚马逊(英语:Amazon.com Inc.,NASDAQ:AMZN)是一家总部位于美国西雅图的跨国电子商务企业,业务起始于线上书店,不久之后商品走向多元化。目前是全球最大的互联网线上零售商之一,也是美国《财富》杂志2016年评选的全球最大500家公司的排行榜中的第44名。

https://www.amazon.com/
相关技术
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

语料库技术

语料库一词在语言学上意指大量的文本,通常经过整理,具有既定格式与标记;事实上,语料库英文 "text corpus" 的涵意即为"body of text"。

对抗训练技术

对抗训练涉及两个模型的联合训练:一个模型是生成器,学习生成假样本,目标是骗过另一个模型;这另一个模型是判别器,通过对比真实数据学习判别生成器生成样本的真伪,目标是不要被骗。一般而言,两者的目标函数是相反的。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

参数模型技术

在统计学中,参数模型是可以使用有限数量的参数来描述的分布类型。 这些参数通常被收集在一起以形成单个k维参数矢量θ=(θ1,θ2,...,θk)。

GPT-2技术

GPT-2是OpenAI于2019年2月发布的基于 transformer 的大型语言模型,包含 15 亿参数、在一个 800 万网页数据集上训练而成。据介绍,该模型是对 GPT 模型的直接扩展,在超出 10 倍的数据量上进行训练,参数量也多出了 10 倍。在性能方面,该模型能够生产连贯的文本段落,在许多语言建模基准上取得了 SOTA 表现。而且该模型在没有任务特定训练的情况下,能够做到初步的阅读理解、机器翻译、问答和自动摘要。

5G技术

第五代移动通信系统(5th generation mobile networks),简称5G,是4G系统后的延伸。美国时间2018年6月13日,圣地牙哥3GPP会议订下第一个国际5G标准。由于物理波段的限制,5G 的网络也将会与其他通信技术并用,包含长距离的其他传统电信波段。

语言模型技术

统计式的语言模型是借由一个几率分布,而指派几率给字词所组成的字串。语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~