摘要:大概一个月之前,史上最巨无霸NLP模型GPT-3问世。当时它向世界展示的能力是,“不仅会写短文,而且写出来的作文挺逼真的,几乎可以骗过人类,可以说几乎通过了图灵测试。”可能是因为它的前一代模型GPT-2也因“擅长 ...
人工智能学习离不开实践的验证,推荐大家可以多在FlyAI-AI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。
1、GPT-3的惊人威力
大概一个月之前,史上最巨无霸NLP模型GPT-3问世。
当时它向世界展示的能力是,“不仅会写短文,而且写出来的作文挺逼真的,几乎可以骗过人类,可以说几乎通过了图灵测试。”
可能是因为它的前一代模型GPT-2也因“擅长写作”成名,所以这个和GPT-2几乎完全同构的“哥哥”,并没有让媒体以及领域相关的算法工程师们特别惊讶。
堆叠参数量并增加训练样本,可以让模型在同一个任务上表现的更好,这个结论已经深入人心。
然而一周之前,一些网友用GPT-3模型开发了各种各样的应用,证明了GPT-3不仅能够答题、写文章,做翻译,还能生成代码、做数学推理、数据分析、画图表制作简历,甚至玩游戏都可以,而且效果出奇的好。
从算法效果上看,大力出奇迹,真是越来越香。
2、“饥渴”的模型,“枯竭”的算力
从参数量上看,GPT-3拥有前所未有的规模,达到1750亿个。而且,其训练数据集规模也超过500GB。训练如此一个巨型怪物,必然是相当吃算力。
算力消耗到什么程度?按照量子位给出的数据,训练一个GPT-3模型需要“355个GPU年”(一块GPU运行355年的运算量),光是训练费用就高达460万美元。
显然,一块GPU是不够的。只有使用分布式多机多卡,才能在有效的时间内完成GPT-3的训练。显然,这种训练模式花费只会更高。此前,微软花钱攒了一个包含10000个Nvidia V100 GPU的分布式集群,专门供openai做模型训练。
虽然无法得知训练GPT-3到底使用了多少资源,采用了何种分布式模式,但可以肯定的是,它是个吞金兽。
回到模型结构上,自从2017年Google开源了Transformer之后,基于Attention的Transformer block几乎一统NLP江湖,甚至在图像,Graph等领域上都有所侵入。
因为Transformer block在并行计算方面存在较大的潜力,使得NLP领域的模型创新基本完成了收敛,开始走上了简单粗暴的“堆层”道路。
无论Attention head多大,Transformer block多深,只要你能把模型堆起来,就一定有十分优雅的办法做并行化。在这里,并行化不仅仅是简单的数据并行,也包含各种各样的模型并行策略。
虽然每次冠以新名字的Transformer模型出现时,总是伴随着一些建模的trick(比如预训练Bert时,对数据的随机mask策略),或者模型层面的微调(比如Bert使用Encoder结构堆叠层数,而GPT-2更偏爱Decoder),但这些都不十分重要,因为它还是Transformer,只是层数变多了,参数量多了。
所以,让我们做一个Transformer家族中具有代表性的模型粗略梳理,并把关注度放到模型的参数量增长上。
从2018年BERT-Large的3.4亿模型参数量,到2020年中GPT-3的1750亿参数量,短短两年多的时间里,实现了模型参数近515倍的增长,这是从2012年Deep Learning在业界爆发火热之后,从来没有出现过的。
创造巨大的模型,以更多的算力换取收敛效果,似乎正在成为不可逆转的趋势。
3、算法平台的阴谋
大模型的参数量,是否存在冗余?显然是的。
还记得ALBERT吗?它是在BERT-Large之后出现的模型。在模型参数量上,它比BERT-Large小18倍,但却能达到和BERT-Large相当的效果。
因为BERT-Large对于当时的广大工业界的硬件基础设施来说过于奢侈,才催生了小版本模型ALBERT。在经济成本上,无论是离线训练,还是线上部署,ALBERT确实更加接地气。
小版本模型的出现,也从侧面说明BERT-Large这样的模型,从参数量上确实存在大量的冗余。或者从另一方面解读,如果模型压缩算法足够好,一个巨无霸模型完全可以“无损瘦身”。
而BERT-Large的好处,就是在模型设计上足够“简单粗暴”,能够减轻算法工程师调参压力。以强大的算力换取模型效果,确实是一条路。
可是自从微软release GPT-2之后,巨无霸模型的瘦身版本似乎没有再出现过。
以此为界,Transformer家族模型的创新,则完完全全变成了Google和微软两家公司的对台戏。
微软提出GPT-2之后,Google马上做了T5-11B模型。现在微软的openai又propose了GPT-3。期间,NVIDIA也凑了热闹,提出了参数量达到8B的Megatron。
回过头看,ALBert是Google和丰田联合研发的结果,可是为什么后来不继续做了?GPT-2以及之后的模型难道没有压缩的可能?显然不是。其实对AI巨头来说,对关键模型做瘦身,属于“政治”不正确。
吹捧超大模型,背后是算法平台的阴谋。只有牛逼的算法平台,才有足够强大的算力,才有资格训练大模型。
“当大家都去挖金子时,贩卖铁锹的人总能获得较大的利润”。AI领域也是如此。
目前,虽然AI领域的落地还处于不断探索的阶段,但此方向优质的潜力毋庸置疑。为了很好地支持公司内部的模型训练,也为了能够有朝一日赋能其他应用级企业,AI巨头们纷纷从软件和硬件层面打造了AI算法军火库——算法平台。
到目前为止,经过了几年的沉淀,软件框架层面之争基本收敛。TensorFlow和PyTorch已经在工业界和学术界站稳了脚跟。
接下来,就到了算法平台的后半场,这涉及到深度学习技术栈中更加底层的部分,也是AI巨头们至关重要的护城河——硬件设施及软件优化。
众所周知,NVIDIA的独特地位导致GPU售卖十分昂贵。烧钱买GPU搭建算法平台,只会让NVIDIA吃掉大部分红利。为此,巨头们开始自研AI芯片。
Google为了模型训练发明了TPU,微软也在生产Graph core硬件。如果巨头们纷纷打磨好了各自的芯片产品,那么对于他们自己来说,将会彻底摆脱被NVIDIA掐脖子的束缚。
对内,他们将有机会以较低的成本搭建大规模集群,构建强算力平台,支持所有线上业务。
对外,他们还能将基础设施以SAAS或者PAAS的形式打造成产品,赋能其他企业。
但对于大部分企业,因为没有自己的军火库,如果软件优化层面也没有沉淀,那么最终只有两种选择。
烧钱购置大量NVIDIA计算卡作为重资产,然后不断尝试软件层面的优化。最后发现,总是被GPU体系结构,以及带宽所拖累,逃不出被NVIDIA卡脖子的命运。
买AI巨头们PAAS或SAAS,将自己的身家性命放到巨头的平台上,走上被别人家平台绑架的道路。
但是,如果所有的模型,都能做到仅靠几块GPU并行训练就能满足的程度,那么强算力的平台又有什么吸引力?换句话说,如何体现强算力平台的独特优势?似乎,那些背靠强大算法平台的大模型,确实是最完美的诱饵。
为此,他们的算法工程师们只要做好一件事——证明大模型的碾压式效果。
4、模型创新的阻碍
时至今日,模型创新不仅难倒了普通研究者,也成为了非AI巨头们的无法逾越的技术门槛。
没有强大的算力,就无法进行大模型创新;也正是因为大模型无法被支持,看不到其效果,才导致算力的潜力被低估。这就是非AI巨头企业们如今陷入的恶性循环。
其实能想到,巨无霸模型的参数更多,训练更难,实验需要更多的trick。大力出奇迹,未必是想象那般简单。
其实也能看到,为了证明GPT-3的优势,也为了彰显自己平台的算力,官方在宣传方面确实做了些夸张(比如自动生成代码时的注释)。
但我们已经不能否认,强大的算力,强大的算法平台——是AI领域真正的技术高墙。
更多关于人工智能的文章,敬请访问:FlyAI-AI竞赛服务平台学习圈学习;同时FlyAI欢迎广大算法工程师在平台发文,获得更多原创奖励。此外,FlyAI竞赛平台提供大量数据型赛题供学习党和竞赛党参与,免费GPU试用,更多大赛经验分享;如有任何疑问可添加下方微信服务号(FlyAI小助手)进行咨询。