首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谷歌T5预训练模型单次运行成本超130万美元?算力和金钱才是模型训练的王道

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

作者头像
机器之心
发布2020-05-19 11:53:26
7470
发布2020-05-19 11:53:26
举报
文章被收录于专栏:机器之心机器之心

选自arXiv

作者:Or Sharir、Barak Peleg、Yoav Shoham

机器之心编译

参与:杜伟、小舟

近年来,在自然语言处理领域,各种各样、各种规模的语言模型层出不穷,为该领域的进步提供了充足的动力。但欣喜之余,训练成本过于高昂的问题也随之出现。比如,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 和神经网络一样有用且有必要,但目前还不充足,它会使人们走得更远。相反,如果沿着这种思路,则需要将结构化知识和象征性方法结合起来,这就变成了取决于大脑而不仅仅是取决于肌肉。这是研究者发现的一个观点。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档