最高花费1700万美元,这是租卡训练谷歌5400亿参数PaLM的成本

机器之心报道
机器之心编辑部
假设我们普通人想用云计算来训练一个PaLM , 我们需要准备多少钱?一位网友算出的结果是:900~1700万美元 。
从去年开始 , 谷歌人工智能主管JeffDean就开始了「谷歌下一代人工智能架构」——Pathways的预告 。 与之前为数千个任务训练数千个模型的方法不同 , 新架构的愿景是训练一个模型做成千上万件事情 。
一年之后 , Pathways系统论文终于亮相 , JeffDean所在的团队还公布了用它训练的一个大型语言模型——PaLM 。 实验表明 , PaLM在多语言任务和代码生成方面具有强大的能力 , 可以出色地完成笑话解读、bug修复、从表情符号中猜电影等语言、代码任务 。
最高花费1700万美元,这是租卡训练谷歌5400亿参数PaLM的成本
文章图片
PaLM解读笑话示例 。
PaLM是一个只有解码器的密集Transformer模型 , 参数量达到了5400亿 。 为了训练这个模型 , 谷歌动用了6144块TPU , 让Pathways在两个CloudTPUv4Pods上训练PaLM 。 这是名副其实的「钞能力」 。
惊叹之余 , 有人可能想问:假设我们普通人(不像谷歌那样拥有大量TPU)想用云计算来训练一个PaLM , 我们需要准备多少钱?一位网友算出的结果是:900~1700万美元 。
最高花费1700万美元,这是租卡训练谷歌5400亿参数PaLM的成本
文章图片
我们一起来看一下他是怎么算的 。
论文里的可用信息
随着参数的增加 , ML模型的计算成本也在飙升 。 谷歌曾总结过 , 自2010年以来 , ML模型的训练计算量惊人地增长了100亿 , 平均每6个月就翻一番 。 如今 , PaLM站上了C位 。
最高花费1700万美元,这是租卡训练谷歌5400亿参数PaLM的成本
文章图片
论文显示 , PaLM的最终训练运行消耗的算力是2.56e24FLOPs 。
最高花费1700万美元,这是租卡训练谷歌5400亿参数PaLM的成本
文章图片
论文还提到 , PaLM-540B在6144块TPUv4芯片上训练了1200小时 , 在3072块TPUv4芯片上训练了336小时 , 包括一些停机时间(downtime)和重复步骤 。
因此 , PaLM-540B的训练总共花费:
2.56e24FLOPs;
8404992个TPUv4chip-hour(每个芯片包含2个核 , 约合16809984个TPUv4core-hour);
大约64天 。
此外 , 在TPU利用率方面 , PaLM-540B的训练使用了rematerialization , 因为带有rematerialization的可行批大小可实现更高的训练吞吐量 。 不考虑rematerialization成本 , 最终模型在没有自注意力机制的情况下FLOP利用率为45.7% , 有自注意力为46.2% 。 PaLM的分析计算硬件FLOPs利用率(包括rematerializationFLOPs)为57.8% 。
估算结果
现在有两种方法可以估计PaLM-540B的成本:
1、最后训练运行使用2.56×102?FLOPs
可以通过租用TPU实例来估计每个flops的成本(假设利用率为57.8%) 。
从其他云提供商(例如使用NVIDIAA100的云提供商)获取每个FLOP的成本 , 然后估计总成本 。
2、使用8404992个TPUv4chip-hour这一数据
方法2似乎更加准确 , 但遗憾的是 , 作者没有拿到有关TPUv4的租用价格数据(需要咨询销售代表) 。
所以 , 他选择了第一种方法 , 并按三种方式分别计算了一下 。
通过GoogleCloud租用TPUv3
我们可以以每小时32美元的价格租用一个32核的TPUv3pod 。 约合1美元一个TPUcore-hour 。
最高花费1700万美元,这是租卡训练谷歌5400亿参数PaLM的成本
文章图片
考虑上述16809984个TPUv4core-hour , 如果用TPUv3替换TPUv4 , 则花费约1700万美元 。
不过这里的估算存在两个问题:
一方面 , TPUv3的性能不如TPUv4 , 所以我们需要更多的时间或更多的TPU 。 按这个思路计算 , 实际花费应该高于这个数字;