XLNet训练成本6万美元,顶5个BERT,大模型「身价」惊人

本文涉及的产品
NLP自然语言处理_基础版,每接口每天50万次
NLP自然语言处理_高级版,每接口累计50万次
NLP 自学习平台,3个模型定制额度 1个月
简介: 那些大公司的大模型到底有多贵?我们帮你算了一笔账。

数据、算法和计算力是推动人工智能发展的三大要素。随着高性能 GPU、TPU 的出现,人们似乎正在将算力的利用推向极致。


去年 10 月,「最强 NLP 预训练模型」Bert 问世,横扫 11 项 NLP 任务记录。但仅仅过了 8 个月,这一「最强」模型就遭到 XLNet 的碾压,后者在 20 项任务上超越前者,又一次刷新 NLP 预训练模型的各项记录。


但除了「最强」之外,这些模型似乎也是「最贵」的。


早在 Bert 问世之时,深度好奇 CTO 吕正东就曾表示:「BERT 是一个 google 风格的暴力模型,暴力模型的好处是验证概念上简单模型的有效性,从而粉碎大家对于奇技淫巧的迷恋; 但暴力模型通常出现的一个坏处是'there is no new physics',我相信不少人对 BERT 都有那种『我也曾经多多少少想过类似的事情』的感觉,虽然也仅仅是想过而已。


无一例外,碾压 Bert 的 XLNet 也没有走出「暴力美学」的范畴,普通研究者看了其训练成本之后,只能说声「打扰了……」


那么,令普通研究者望而却步的计算力到底有多贵?机器之心从原论文出发统计了大模型的训练成本,下面让我们仔细算一算这笔账。


1. 语言模型


  • BERT:1.2 万美元
  • GPT-2:4.3 万美元
  • XLNet:6.1 万美元


2. 高分辨率 GAN


  • BigGAN:2.5 万美元
  • StyleGAN:0.3 万美元


21F8C559-49FE-4973-BB7D-FAE53BB99BCE.jpeg

机器之心制图


这几种都是比较有代表性的大模型,如果读者也算过大模型训练成本,欢迎留言对比呀。


计算力到底有多贵?


目前训练神经网络主要还是使用 GPU 或 TPU,先不说英伟达的各种高端 GPU 有多贵,云计算上的高性能计算也不便宜。我们以谷歌云为例,Tesla V100 每小时 2.48 美元、Tesla P100 每小时 1.46 美元,谷歌 Colab 免费提供的 Tesla T4 GPU 每小时也要 0.95 美元。


对于大模型来说,最合理的计算资源还是 TPU,因为它能大大降低训练时间,且成本换算下来还比较有优势。TPU 的费用如下图所示:


31394417-C63D-4BE8-9203-D769527F3BB0.png

注意这里还有一些换算关系,TPU 数量并不能简单地通过一块两块的方式统计。从大到小可以分为 Pod、Cloud TPU device、TPU Chips 和 Cores。上面的价格是一个 Cloud TPU device 的费用,它包含 4 块 TPU Chip,且每块 TPU Chip 有两个核心(Core)。


TPU v2 和 TPU v3 的计数方式差异主要体现在 Pod 上,一个 Cloud TPU v2 Pod 有 64 个 Cloud TPU,即 512 个 TPU 核心。而一个 Cloud TPU v3 Pod 有 256 个 Cloud TPU,即 2048 个 TPU 核心。一个 Pod 中的所有 TPU 设备都是连在一起的,所以它们天然可以联合做模型训练或推断。


因为论文中描述的 TPU 单位是不同的,我们会最终转化为 Cloud TPU,并统计训练大模型所花费的成本。


037CAE59-2F83-48C4-9599-FAF1503AA103.jpeg

一个完整的 Cloud TPU v3 Pod。


为什么说 TPU 性价比高于 GPU


很多读者知道 TPU 性价比高,但不太了解到底高多少。在下图中我们可以看到各种设备训练相同 ResNet-50 所需要的时间,其中红色数字表示芯片数量。


17CC8B3F-AE25-497F-AE82-D9E4F6E8F63F.png


如上图所示,一个 Cloud TPU v3 训练 ResNet 需要 183 分钟,它的价格为 8$/h;8 块 Tesla V100 训练 ResNet 需要 137 分钟,它的价格为 19.84$/h。这样算起来,TPU v3 总共费用需要 24.4 美元,Tesla V100 需要 45.57 美元。不过这样计算也有一丢丢不公平,因为 TPU v3 慢了 47 分钟,时间也是一种成本。


大模型到底有多贵?


自然语言到视觉,大模型的训练费用越来越高,但具体高到什么程度很少有量化对比。如下在计算不同模型的单次训练费用时,因为调参之类的费用没办法统计,所以我们就忽略了。此外,因为 GPT-2 原论文中没有描述训练配置,论文作者只在 Reddit 中简要描述一段,所以我们以 Reddit 中的数据为准。


BERT


原论文中描述,大型 BERT 模型在 16 个 Cloud TPU 上需要训练 4 天:

Training of BERT_BASE was performed on 4 Cloud TPUs in Pod configuration (16 TPU chips total).13 Training of BERT_LARGE was performed on 16 Cloud TPUs (64 TPU chips total). Each pretraining took 4 days to complete.

现在我们来算一下成本,16 个 Cloud TPU v3 总训练成本为 16×8×24×4=12288 美元。有研究者在 Reddit 中回复作者,他们可以使用更便宜的抢占式(Preemptible)TPU 训练模型,那样成本约为 16×2.4×24×4=3686.4 美元。不过一般的 TPU 优先于抢占式 TPU,如果它们需要计算资源,可以暂停抢占式对资源的调用。


BERT 的作者在 Reddit 上也表示预训练的计算量非常大,Jacob 说:「OpenAI 的 Transformer 有 12 层、768 个隐藏单元,他们使用 8 块 P100 在 8 亿词量的数据集上训练 40 个 Epoch 需要一个月,而 BERT-Large 模型有 24 层、2014 个隐藏单元,它们在有 33 亿词量的数据集上需要训练 40 个 Epoch,因此在 8 块 P100 上可能需要 1 年?16 个 Cloud TPU 已经是非常大的计算力了。


为了做对比,这里统一用一般的 TPU 价格计算成本,因此 BERT 训练一次大概需要 1.23 万美元。


GPT-2


今年另一个非常受关注的语言模型就是 GPT-2 了,它充分展示了什么才算大模型。我们可以理解为,GPT-2 就是在 GPT 的基础上放大十多倍,它需要的算力应该比 BERT 还大。堆了这么多算力与数据,GPT-2 的效果确实惊人,它根据一个前提就能从容地把故事编下去。


但是在 GPT-2 原论文中,我们没找到关于算力的描述,只找到了疑似论文作者的描述。他表明 GPT-2 用了 64 个 Cloud TPU v3,训练了一周多一点。


ED578AD2-5BF5-4F30-A648-1A5E464BD7E0.jpeg

如果按这个数据,那么训练成本为 32×8×24×7=43008 美元,这个成本已经是训练 BERT 的 3 到 4 倍了。


XLNet


2018 年,谷歌发布大规模预训练语言模型 BERT ,为 NLP 领域带来了极大的惊喜。但最近,Quoc V. Le 等研究者提出的 XLNet 在 20 个任务上超过了 BERT 的表现,并在 18 个任务上取得了当前最佳效果。既然效果这么好,那么它的成本会不会也超过 BERT?


在原论文中,作者表示 XLNet 大模型在 128 个 Cloud TPU v3 下需要训练 2 天半:

We train XLNet-Large on 512 TPU v3 chips for 500K steps with an Adam optimizer, linear learning rate decay and a batch size of 2048, which takes about 2.5 days.

这样算起来,128×8×24×2.5=61440 美元,没想到 XLNet 训练一次的费用比 GPT-2 还高,达到了 BERT 的 5 倍。既然成本这么高,以后可以考虑用预训练的 XLNet 代替 BERT 了。


在看了 XLNet 的算力成本之后,有开发者感叹:「谢天谢地我不在 NLP 领域工作,要是让我去说服老板训练一个模型花 6 万多美元,而且还不能保证这个模型一定好用,我觉得我会哭……」


那么问题来了,NLP 算力烧钱,视觉模型就省钱吗?


我们拿视觉领域比较有代表性的大模型 BigGAN 和 StyleGAN 来算一笔账。


BigGAN


视觉模型中,常见高成本任务就是训练高分辨率的 GAN 了。在去年 BigGAN 中,研究者表示他们训练 512×512 像素的图像需要 64 个 Cloud TPU v3,训练 24 到 48 个小时:

We train on a Google TPU v3 Pod, with the number of cores proportional to the resolution: 128 for 128×128, 256 for 256×256, and 512 for 512×512. Training takes between 24 and 48 hours for most models.

如果我们用最大训练时间 48 小时为基准,那么训练成本为 64×8×48=24576 美元。是的,BigGAN 的训练成本也比 BERT 高,大约是它的两倍左右。


StyleGAN


最后,我们统计一下 StyleGAN 的训练成本,因为这篇论文是英伟达提出来的,所以用的是 Tesla V100。该论文使用的 FFHQ 数据集由 1024×1024 的人脸图像组成,模型使用 8 张 Tesla V100 需要训练一星期:

Our training time is approximately one week on an NVIDIA DGX-1 with 8 Tesla V100 GPUs.

这里我们按照谷歌云的价格计算总成本,从而更好地做对比。总体而言,训练成本为 8×2.48×24×7=3333.12 美元。可能因为数据集仅限于人脸,StyleGAN 的成本要比 BigGAN 低很多。


没有谷歌级别的算力,要怎么取得研究突破


在算完算力这笔账之后,我们可以得出一个结论:以谷歌、Facebook 等巨头为首的大型公司似乎才玩得起这种大模型,这种算力上的碾压是普通研究者无法抗衡的。那么,无法获得这种大规模算力支持的普通研究者路在何方?他们要怎样才能取得研究突破?


在这一问题上,致力于 AI 和游戏研究的纽约大学副教授 Julian Togelius 给出的答案是:不走寻常路(By being weird)。

29E5F996-4A2E-4150-91EE-4908D069D5E8.jpeg


他解释说,「那些公司虽然规模庞大,但它们也痴迷于保持自己的灵活性。其中一些公司在一定程度上取得了成功,但它们不敢像一个疯疯癫癫的教授一样特立独行。一个只有几个学生和几台电脑的教授永远无法在直接竞争中抗衡 DeepMind 和 FAIR。但我们可以去尝试那些看起来完全讲不通的方法,或者去破解那些没有人想要去尝试解决的问题(因为那些问题看起来不像问题)。


Julian Togelius 教授还以自己为例,证明了这种做法的有效性。他表示,自己在研究生涯中做的那些有用、有价值的事情往往都是去解决一些别人没有想到要去解决的问题,或者尝试一些原本看起来行不通的方法,最后的结果都出乎自己的预料。


对于 Togelius 教授的观点,有人表示支持,并指出很多创业公司就是靠「不走寻常路」才建立了竞争优势。


但也有人提出了质疑,认为 Julian Togelius 教授提出的观点可能存在很大的「幸存者偏差」。这位质疑者认为,我们不应该不顾别人阻拦就一头扎进某个问题。他认为,我们正在推行一种文化,即鼓励人们去做自己认为对的事情,哪怕所有人都告诉他不要去做。虽然有时候一意孤行会取得成果,但鼓励大家都这么做并不合适,因为只有一小部分人最后会取得成功。ta 还引用了 Yoshua Bengio 在采访时说过的一句话:「光有自信还不够,你可能会因为自信而犯错。


当然,对于 Togelius 教授的建议,我们要理性看待。无论该建议是否可行,他都为我们做了一个很好的榜样,说明算力不等于一切。


正如有些 reddit 评论者所指出的,那些获得最佳论文奖项的研究多数是用中小级别计算机就能完成的,不需要谷歌级别的算力。因此,普通研究者要取得突破,算力可能从来都不是真正的限制。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
1月前
|
自然语言处理 PyTorch 算法框架/工具
掌握从零到一的进阶攻略:让你轻松成为BERT微调高手——详解模型微调全流程,含实战代码与最佳实践秘籍,助你应对各类NLP挑战!
【10月更文挑战第1天】随着深度学习技术的进步,预训练模型已成为自然语言处理(NLP)领域的常见实践。这些模型通过大规模数据集训练获得通用语言表示,但需进一步微调以适应特定任务。本文通过简化流程和示例代码,介绍了如何选择预训练模型(如BERT),并利用Python库(如Transformers和PyTorch)进行微调。文章详细说明了数据准备、模型初始化、损失函数定义及训练循环等关键步骤,并提供了评估模型性能的方法。希望本文能帮助读者更好地理解和实现模型微调。
63 2
掌握从零到一的进阶攻略:让你轻松成为BERT微调高手——详解模型微调全流程,含实战代码与最佳实践秘籍,助你应对各类NLP挑战!
|
29天前
|
机器学习/深度学习 自然语言处理 知识图谱
|
23天前
|
机器学习/深度学习 自然语言处理 算法
[大语言模型-工程实践] 手把手教你-基于BERT模型提取商品标题关键词及优化改进
[大语言模型-工程实践] 手把手教你-基于BERT模型提取商品标题关键词及优化改进
71 0
|
2月前
|
搜索推荐 算法
模型小,还高效!港大最新推荐系统EasyRec:零样本文本推荐能力超越OpenAI、Bert
【9月更文挑战第21天】香港大学研究者开发了一种名为EasyRec的新推荐系统,利用语言模型的强大文本理解和生成能力,解决了传统推荐算法在零样本学习场景中的局限。EasyRec通过文本-行为对齐框架,结合对比学习和协同语言模型调优,提升了推荐准确性。实验表明,EasyRec在多个真实世界数据集上的表现优于现有模型,但其性能依赖高质量文本数据且计算复杂度较高。论文详见:http://arxiv.org/abs/2408.08821
57 7
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】BERT模型:揭秘LLM主要类别架构(上)
【AI大模型】BERT模型:揭秘LLM主要类别架构(上)
|
3月前
|
机器学习/深度学习 存储 自然语言处理
【NLP-新闻文本分类】3 Bert模型的对抗训练
详细介绍了使用BERT模型进行新闻文本分类的过程,包括数据集预处理、使用预处理数据训练BERT语料库、加载语料库和词典后用原始数据训练BERT模型,以及模型测试。
61 1
|
3月前
|
算法 异构计算
自研分布式训练框架EPL问题之帮助加速Bert Large模型的训练如何解决
自研分布式训练框架EPL问题之帮助加速Bert Large模型的训练如何解决
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
算法金 | 秒懂 AI - 深度学习五大模型:RNN、CNN、Transformer、BERT、GPT 简介
**RNN**,1986年提出,用于序列数据,如语言模型和语音识别,但原始模型有梯度消失问题。**LSTM**和**GRU**通过门控解决了此问题。 **CNN**,1989年引入,擅长图像处理,卷积层和池化层提取特征,经典应用包括图像分类和物体检测,如LeNet-5。 **Transformer**,2017年由Google推出,自注意力机制实现并行计算,优化了NLP效率,如机器翻译。 **BERT**,2018年Google的双向预训练模型,通过掩码语言模型改进上下文理解,适用于问答和文本分类。
153 9
|
3月前
|
数据采集 人工智能 数据挖掘
2021 第五届“达观杯” 基于大规模预训练模型的风险事件标签识别】3 Bert和Nezha方案
2021第五届“达观杯”基于大规模预训练模型的风险事件标签识别比赛中使用的NEZHA和Bert方案,包括预训练、微调、模型融合、TTA测试集数据增强以及总结和反思。
43 0
|
5月前
|
机器学习/深度学习 自然语言处理 数据可视化
BERT-IMDB电影评论情感分类实战:SwanLab可视化训练
这篇文章介绍了使用BERT模型进行IMDB电影评论情感分类的实战教程,涉及SwanLab、transformers和datasets库。作者提供了一键安装库的命令,并详细解释了每个库的作用。文章展示了如何加载BERT模型和IMDB数据集,以及如何利用SwanLab进行可视化训练。训练过程在SwanLab平台上进行,包括模型微调、指标记录和结果可视化。此外,还提供了完整代码、模型与数据集的下载链接,以及相关工具的GitHub仓库地址。
BERT-IMDB电影评论情感分类实战:SwanLab可视化训练
下一篇
无影云桌面