巨大波动,甚至差出一个数量级。所以可以聊算力,但是不能简单的唯算力论。GPT-1、 GPT-2 和 GPT-
3,基本上每一代都是翻个百倍左右的量级:
GPT-1 ,用 A100 需要0.1个卡/年 (1张卡算0.1年)完成一次训练,非常快。卡多一点可能几天就
训出来了;
GPT-2 就已经到了 6.81个卡/年,这也还好。咱们训练的时候都是八卡甚至更多卡,看起来也是很
短时间能训出来的
到了 GPT-3 ,它差不多又大了100倍,所以是400-500个卡/年,大概是这么一个量级。
在这种情况之下,咱们简化问题,不计算人力成本,非常简单的用每张显卡一年多少钱来计算。假设不买
显卡,租公有云,现在 8 张 A100 包年的价格大概一年 80 万。如果关系比较硬,再加上一次性量走的比
较多,经常是能够打半折的。假定我们这8张卡一年就花 40 万租金,其他东西全都送我们,相当于 1 个
卡/年是 5 万人民币。最后再假设我们可以完美利用这些算力,那简单计算下来:
一次性训出 GPT-1 的成本大概是几千块钱,GPT-2 大概是 30万人民币,训练GPT-3大概是 2500 万人
民币。
Kiwi:那也就是说训练一个接近 175 billion 的 GPT-3 量级的模型大概需要 2000 多万人民币。这里其
实是按照 GPU 100%的利用率来计算的。但事实上在大规模的工程训练中,我们知道整个 GPU 算力的
有效利用率是非常低的。这里龙老师有一个经验数值吗? 假设我们用 500 到 1000 张卡去做训练,有效算
力大概可以提升到什么水平?
龙老师:这里面其实有几个比较大的问题点。第一个大问题就是显卡不像大家笔记本里面的显卡或台式机
显卡那么稳定,当卡的数量到几百或者上千级别的时候,几乎每天都会遇到有卡直接挂掉。那训练就会被
迫暂停,需要去换一台机器。
Kiwi:我有听团队说,他们刚开始训练千亿模型的时候,GPU打太满,然后一台 A100 一天挂两次。
龙老师:对,所以这就是第一个比较麻烦的点,显卡的质量问题。比如说你的电力供应不是很稳定,那就
经常挂,这个时候会导致你不得不接着训练,那就会产生另外一个问题,多久做一次checkpointing?一
分钟一次肯定不现实,像GPT-3 这种级别的模型,可能它有一个checkpoint,除了它的parameter,可
能还有一些中间状态,可能就需要 2T 或者 3T。
按 2T 去算的话,如果网络 I/O 又不是很好,比如磁盘速度不是很好的话,按 Hugging Face的数据,可
能到几分钟,如果出问题的话,可能十几分钟,这又是一种浪费。所以说 GPU 永远是有被浪费的时候,
这完全取决于使用的硬件的情况。