3

英伟达暗讽英伟达运气好,GPU如何押中AI?

 8 months ago
source link: https://www.aixinzhijie.com/article/6842232
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
2023-12-28 06:27

英伟达暗讽英伟达运气好,GPU如何押中AI?

原文来源:电厂

作者 | 肖余林

FsHnqsLLlC4NluGWbdV0uepN8TCf.png

图片来源:由无界 AI‌生成

在12月推出AI新品之际,英特尔CEO基辛格把枪口对准了英伟达。基辛格先是公开强调英伟达CUDA软件的护城河没有外界想象的那么深,接着在麻省理工的一场论坛上名褒暗贬,称英伟达在AI GPU领域极其幸运(extraordinarily lucky)。 

基辛格把英伟达的成功归结为运气,并且认为好运曾站在英特尔那边。 

他强调,英伟达最初拿GPU做通用运算完全没有考虑过AI。他不无可惜地提到,如果他当初没有被踢出英特尔,他看好的Larrabee项目就不会被终止,那么改变AI形态的可能是Larrabee,而不是CUDA。 

Larrabee是英特尔早期开发的通用图形处理器(GPGPU),英伟达同期也在做类似项目,并在此基础上推出了CUDA平台。 

基辛格的判断并非没有理由,他在13年前被迫从英特尔离开的时候,英伟达推出CUDA没多久。CUDA 1.0的早期文档中描述了通用计算的前景,涉及物理模拟、计算金融和计算生物学,确实没有AI的身影。更重要的是,帮助英伟达CUDA做深度神经网络库的高管就来自基辛格所说的Larrabee项目。 

这位高管是英伟达现在的深度学习应用研究副总裁Bryan Catanzaro。但在基辛格发难之际,他在社交媒体X上表达了相反的观点。他认为,“英伟达今天的地位并非来自运气,而是眼光和执行力”。 

FgRoYDcMr-Ui7rEE5t7rSPnDYyyq

回看商业领域的企业浮沉,运气常常是被忽略的因素。99岁的芒格在生命的最后一段时间做出如此总结:“那些脱颖而出的人和公司,通常具备智慧、勤劳和大量的运气。” 

翻看GPU和AI技术互动的历史,不难发现英伟达不仅有好运气,甚至好运气的周期足够长。问题是,支撑这种好运气的到底是不是“眼光和执行力”? 

“泼天富贵”降临的时刻

今天英伟达一卡难求H100 GPU有两个主要买家,其中包括微软。根据Omdia Research的报告和瑞杰金融的估价,微软买了15万块H100,总花费在数十亿美元。考虑到H100供不应求的现状,可以说这钱是微软“求着”让英伟达收下的。 

然而时间回到2011年,如果当时微软研发专家想采购一块1万美元的GPU,要遭到不少内部压力,即便这些GPU会被用在极具商业潜力的项目上。不仅是微软,谷歌也一样,10年前认识到GPU能力的人和公司屈指可数。 

2013年,谷歌人工智能主管了解到,公司挖角的深度学习研究员从不使用公司强大的数据中心,而是私自架一台GPU藏在工位下面使用。了解情况后,他申请1.3亿美元预算采购4万块GPU。科技记者Cade Metz在《深度学习革命》一书中记录,这笔预算遭到了管理层强烈反对,最后创始人Larry Page拍板才被通过。 

更夸张的是,英伟达也没有完全认识到GPU的潜力,直到谷歌1.3亿美元的订单砸下来,才在深度学习领域有实质的业务布局。英伟达2014年的技术大会上首次出现了深度学习、机器视觉这样的主题。 

FhTUkvdZscjanePI6tUftVI82JdT

2013年被认为是英伟达被命运选中的时刻,也是长达10年的“泼天富贵”的起点。然而英伟达不想把这天降的命运归结为运气,它坚持认为,2000年代中期就意识到了GPU在神经网络应用的潜力。 

商业巨头合力改写历史

在今年的一篇博客文章中,英伟达把GPU应用于深度学习的成功案例追溯到2008年的一篇论文,论文来自于斯坦福大学教授吴恩达 (Andrew Ng)。吴恩达的小组得出结论,当时GPU在深度学习工作中的计算能力远远超过了多核CPU。他们使用两张GTX 280 GPU,训练具有1亿个参数的神经网络时,速度比使用CPU提高了70倍,训练时间从数周缩短到一天左右。 

英伟达的编程软件CUDA在2007年推出,由于不是为了深度学习而生,研究人员需要借助CUDA把原本基于CPU的代码重写成GPU代码。吴恩达的这篇论文中有相当篇幅介绍CUDA的使用思路,因此在后来进入了英伟达的视野。 

2008年,Bryan Catanzaro从英特尔来到英伟达,他认为自己是英伟达第一个,也是当时唯一一个AI研究人员。Catanzaro在接受媒体采访时表示,他从纽约大学人工智能实验室得知,有一群机器学习研究人员在疯狂地为GPU核心编写软件。他受到启发,在当时的工作成果的基础上,催生了CUDA深度神经网络库(cuDNN)。 

如果把CUDA比作AI的工作台,cuDNN就是AI专用的螺丝刀,cuDNN于2014年发布,是英伟达首个针对深度学习的软件产品。 

Bryan Catanzaro认为,真正让英伟达GPU在AI领域出圈的是一场比赛。2012年举办的ImageNet图象识别大赛中,首次参赛的AlexNet神经网络表现出超出人们想象的识别率而一鸣惊人。这次比赛引发轰动,被认为是深度学习爆发的初始事件。 

AlexNet来自于有“深度学习之父”之称的Geoffrey Hinton和他的两个学生。比赛中,他们没有采用当时普通会用的计算机视觉代码,而是押注在深度学习上,让机器自学识别图像。当时最让人吃惊的是,AlexNet只用了两块GTX 580 GPU。谷歌同期的技术想要从图像中识别猫,需要用到数据中心当中的2000个CPU。 

在此基础上,Catanzaro详细研究GPU和CPU的能力对比。他发现,当时2000个CPU的深度学习性能,只要12个英伟达GPU就可以实现。一系列突破和研究让商业公司窥见到深度学习的未来,硅谷巨头们,包括百度等科技公司开始着手用AI重构未来版图,GPU成为他们版图中的砖块,英伟达从此划出了第二条增长曲线。 

然而需要强调的是,这个看起来完整的故事并非全部。在2012年之前,深度学习是一个很小的领域,商业公司的参与让这个小领域成了共识。反过来,由于商业公司以自己的视角参与和讲述其中的过程,也因此改变了历史样貌。 

在一些研究人员看来,他们对GPU的认识和使用远早于商业公司的发现,在英伟达运气的背后,有着被遗忘的人与事。 

一桩深度学习的公案

2012年,Geoffrey Hinton用AlexNet奠定了自己和两位学生在深度学习领域的地位。Hinton的其中一位学生在2015年进入OpenAI,他是2023年OpenAI“宫斗”闹剧的主角之一——IIya Sutskever。 

IIya因为闹剧而走出实验室,被全世界的网友认识,成为科技名人。在闹剧最激烈的时候,吃瓜的Elon Musk发了一条推文,向网友介绍了从未出圈的重磅科学家Jurgen Schmidhuber。 

FhCqtGykerkzK_0eEPTyvZoQpIAu

Jurgen Schmidhuber是当今顶尖的AI科学家之一。他在1997年发明的长短期记忆网络(LSTM)现在被用在绝大多数的语音识别和机器翻译产品当中,比如苹果的Siri、亚马逊智能音箱、谷歌翻译等等。 

在他的个人博客当中,详细记录了自己团队对整个AI社区的技术贡献。他在博文中说明,GPT当中代表“Transformer”的“T”和代表“预训练”的“P”都基于他的团队的工作成果。这可能也是马斯克发表那条推文想表达的思想。 

最让Schmidhuber耿耿于怀的,是让Geoffrey Hinton名声大噪的AlexNet。在他看来,AlexNet取得的成就基于AI社区的技术成果,不该拿走所有的光环。他提到同期的DanNet神经网络,DanNet更早使用了GPU训练,更早在比赛中超过了人的视觉识别能力,并且获奖更多。 

电厂翻阅DanNet的资料发现,它来自于Jurgen Schmidhuber领导的团队,所参加的比赛往往直接服务于商业和科学应用,比如手写字识别、癌症医学图象识别等。DanNet首次获奖于2011年,且在2012年拿下了参加的所有比赛冠军。由于DanNet专注于参加识别大图像的比赛,因此没有在2012年跟AlexNet同台竞技。 

外界基于从AlexNet开始的商业视角认识深度学习,把AI社区的荣誉加诸于Geoffrey Hinton身上,这让Schmidhuber感到不满。2020年,他试图通过《自然》杂志纠正这种现象,由此引发了AI社区在当年的激烈辩论。 

这场公案也显示,用GPU训练神经网络在2011年就已经是成熟的方法。电厂根据DanNet早期论文发现,英伟达好运气的起点可以追溯到2000年初期。 

被忽视的十年

上世纪80年代,AI研究从危机中走出来,各种新技术相继诞生。1986年Geoffrey Hinton的反向传播算法、1989年Yann LeCun的卷积神经网络、1997年Jurgen Schmidhuber的长短期记忆(LSTM)等帮助AI社区破冰。 

进入2000年,这些新型的理论技术需要算力支持才能高效地投入研究,但基于CPU的工作往往要经历相当长的周期。幸运的是,学术界使用GPU从事数值计算的工作启发了神经网络研究人员。 

同期,为游戏而生的GPU开始被迁移到Windows平台,游戏画面也从2D进入3D。为了应对需求,英伟达不断升级GPU性能。 

GPU要在3D转换中运行大量矩阵乘法,这跟CPU的逻辑运算完全不同,却跟神经网络的工作过程非常相似。如果把CPU比作一个具有逻辑思维的成年人,GPU就是100个学会了加减法的小学生,神经网络训练需要后面这种方式。 

FjnMb6AJS5twbAyadOC3Uer-eTH8

电厂把时间追溯到2004年,当年出现的一篇论文中,研究人员使用ATI Radeon 9700 Pro显卡把神经网络训练效率提升了20倍。2005年和2006年,圈子里陆续出现测评论文,在奔腾处理器、ATI GPU和英伟达GPU之间做比较。2007年,英伟达推出CUDA软件简化了AI社区针对GPU的编程工作,成为AI社区的主要选择。 

这时候,GPU训练的瓶颈出现在内存和GPU之间的数据传输环节。2008年吴恩达那篇论文显示,使用GTX 280 GPU的过程中,两个矩阵相乘所花费的总时间约为20毫秒,但实际计算只占其中的0.5%,剩下的时间都是传输数据的时间。 

2010年,英伟达推出GTX480和GTX580显卡。虽然GTX480在游戏表现上因发热“翻车”,但由于引入了L2缓存,意外解决了之前GPU训练遇到的瓶颈问题。这代显卡成为了DanNet、AlexNet在训练上取得突破的硬件基础。 

可以说,从CUDA到L2缓存,英伟达在GPU上的两次“无心插柳”的硬件设计,都击中了深度学习的需求,无意间参与到AI社区的发展当中。 

总结来看,从2000年初期到2012年,英特尔、谷歌、微软等巨头成为科技的主导力量,但AI的漫长探索始终处在他们的盲区。这其中,英伟达“无心插柳”,但十年的周期足够一棵树长成一片森林。特别是2012年之后,英伟达在CUDA上的投入产生了更深远的价值。 

如今,英伟达的AI芯片成了整个AI商业版图当中的砖块,基于CUDA的技术栈也成了砖块之间的水泥。看上去,在整个GPU生态中英伟达已经无可撼动。 

然而就在这样的确定性时刻,依赖英伟达的科技巨头们反而暧昧起来,一方面加大跟英伟达的订单,另一方面纷纷推出自研芯片,微软推出了Maia 100,亚马逊更新了Trainium 2,谷歌的TPU v5p已经帮助节省了可观的成本。 

英伟达H100这样通用GPU具备灵活性,及时补充了生成式AI爆发带来的需求。随着需求沉淀,AI商业社区在底层技术上一旦形成共识,对通用GPU的需求可能会让位给专用的TPU或者定制芯片。因此,比过去的任何时刻,英伟达都更加需要“无心插柳”的运气。 


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK