|
原标题:英伟达CUDA垄断位置难保:PyTorch不停拆塔,OpenAI已在偷家
詹士 Alex 发自 凹非寺
量子位 | 大众号 QbitAI
英伟达的软件护城河正在逐步隐没。
跟着 PyTorch反对更多GPU厂商,再加之OpenAI的 Triton搅局,英伟达手中的利器 CUDA 逐步锋铓再也不。
上述观念来自Semi Analysis首席剖析师Dylan Patel,相干文章已诱发一波业内关注。
1t2hkptima1.jpg
有网友看后评估:
英伟达沦落到此种地步,只由于了眼前利益,保持翻新。
英伟达沦落到此种地步,只由于了眼前利益,保持翻新。
Pytorch的作者之一Sasank Chilamkurthy还补刀:
当英伟达以前提出要收购Arm时,我就对潜伏的垄断感到十分不安。所以我开始做 任何正一般人都会做的事:让CUDA从的当先AI框架中被除名。
当英伟达以前提出要收购Arm时,我就对潜伏的垄断感到十分不安。所以我开始做 任何正一般人都会做的事:让CUDA从的当先AI框架中被除名。
jciuzhcnk2p.jpg
展开全文 上面展开谈一谈Patel提到的这些面前缘故。
PyTorch成AI开发框架赢家,将反对更多GPU
这里先来简略说说CUDA往日的光辉故事。
CUDA是英伟达推出的并行计算框架。
CUDA之于英伟达,堪称 历史的转机点,它的泛起,让英伟达在AI芯片畛域疾速腾飞。
在CUDA以前,英伟达的GPU只是一个担任在屏幕上绘制图象的“图形处置单元”。
而CUDA不只能够调用GPU计算,还能够 调用GPU硬件减速,让GPU具有理解决繁杂计算问题的才能,能够帮忙客户为不同的工作对处置器进行编程。
4wh0z1lzf4l.jpg
除了常见的PC机,无人车、机器人、超级计算机、VR头盔等多种抢手的装备都有GPU;而 在很长一段时间内,只要英伟达的GPU,能力疾速处置各种繁杂的AI工作。
xnc5iatvf4s.jpg
那末风光有限的CUDA,起初怎么就位置不稳了?
这还得从AI开发框架之争聊起,尤为是 PyTorch VS TensorFlow。
假如把PyTorch这些框架比做 车,那CUDA就是 变速箱——它能够减速机器学习框架的计算进程,当在英伟达GPU上运转PyTorch等时,能够更快地训练、运转深度学习模型。
TensorFlow发育早,也是谷歌门下利器,但奈何近两年其势头逐步被PyTorch超出。几大顶会上,PyTorch框架使用的比例也显著下跌:
j0qykbxjbcd.jpg
△图源:The Gradient,几大顶会中专门提到PyTorch的论文占比
还有TensorFlow深度使用者现身说法:“当初我改用PyTorch了。”
PyTorch能胜出,一个症结要素在于它比TensorFlow更灵敏易用。
这一方面得益于PyTorch的eager模式,反对在C++运转环境下修正模型,还能够当即看到每一个步操作的后果。虽然TensorFlow当初也有eager模式,但大少数大型科技公司曾经在环抱着PyTorch开发解决计划。 (扎心了……)
另外一方面,虽然用这两者都写Python,但用的PyTorch的温馨度更胜一筹。
另外,PyTorch可用的模型更多,生态更丰硕,据统计,在HuggingFace中,85%的大模型都是用PyTorch框架完成的。
过来,虽然各大AI开发框架之间打得炽热,但更底层的并行计算架构CUDA可算独霸一方。
但时过境迁,在AI框架的角逐中,PyTorch终究赢过此前领跑的TensorFlow,位置临时稳了,而后就开始搞事件。
近年PyTorch在拓展反对更多GPU,行将公布的PyTorch2.0首个不乱版也会对其余各家GPU和减速器反对进行完美,包罗AMD、英特尔、特斯拉、谷歌、亚马逊、微软、Meta等等。
也就是说,英伟达GPU再也不是阿谁独一了
不外这面前其实也还有CUDA本身的问题。
内存墙是个问题
后面提到,CUDA突起与机器学习浪潮彼此增进,双赢成长,但有个景象值得关注:
近年,领头羊英伟达硬件的FLOPS不停进步,但其 内存晋升却非常无限。以2018年训练BERT的V100为例,作为最早进GPU,其在FLOPS上增长一个数量级,但内存减少其实不多。
zwtvh3eyjkr.jpg
△图源:semianalysis
在实际AI模型训练中,跟着模型愈来愈大,内存需要也愈来愈大。
好比百度和Meta,在部署出产保举网络时,需求数十TB内存来存储海量的embedding table。
放训练及推理中,少量时间实际上并未花在矩阵乘法计算上,而是在等候数据抵达计算资源。
那为何不搞更多内存?
简而言之, 钞才能缺乏。
xqbitug3zdy.jpg
个别来讲,内存零碎按照数据使用需要,遵照从“又近又快”到“又慢又廉价”的构造支配资源。通常,比来的同享内存池在同一块芯片上,个别由SRAM构成。
在机器学习中,一些ASIC试图用一个微小的SRAM来保留模型权重,这类办法遇到动辄100B+的模型权重就不敷了。毕竟,即使是价值约500万美元的晶圆级芯片,也只要40GB的SRAM空间。
放英伟达的GPU上,内存就更小了:A100仅40MB,下一代的H100是50MB,要按量产产品价钱算,关于一块芯片每GB的SRAM内存本钱高达100美元。
账还没算完。目前来讲,片上SRAM本钱并没随摩尔定律工艺晋升而大幅升高,若采取台积电下一代3nm制程工艺,一样的1GB,反而本钱更高。
比拟SRAM,DRAM倒是本钱低得多,但提早高一个数量级,且20十二年来DRAM的本钱也简直没有显著压降。
跟着AI持续向前开展,对内存的需要,还会减少,内存墙问题就是这么降生的。
目前DRAM已占办事器总本钱的50%。好比英伟达2016年的P100,比起最新的H100,FB16机能晋升46倍,但内存容量只减少了5倍。
scbwldxyf31.jpg
△NVIDIA H100 Tensor Core GPU
另外一个问题也与内存无关,即带宽。
计算过程当中,减少内存带宽是经过并行性获取的,为此,英伟达使用了HBM内存 (High Bandwidth Memor),这是一种3D重叠的DRAM层组成的构造,封装更贵,让经费浮夸的使用者们只无能努目。
后面提到,PyTorch的一大劣势在于:Eager模式让AI训练推理更灵敏易用。但其内存带宽需要量也非常肥硕。
算子融会,即解决上述问题的次要办法。其要义在于“融会”,不将每个两头计算后果写入内存,而是一次传递,计算多个函数,这样就将内存读写质变少。
liylzzjfbpx.jpg
△算子融会 图源:horace.io/brrr_intro.html
要落地“算子融会”,要编写自定义CUDA内核,要用到C++言语。
这时候CUDA的优势就浮现出来了:比起写Python脚本,编写CUDA之于得多人真是难太多了……
比拟下,PyTorch 2.0工具就可以大幅升高这个门坎。其内置英伟达和内部库,无需专门学习CUDA,间接用PyTorch就可以减少运算符,对炼丹师们来讲,天然敌对得多。
固然,这也致使PyTorch在近年少量减少运算符,一度超过2000个 (手动狗头)。
zpp0lbldxmi.jpg
2022年末,刚公布的降级款PyTorch2.0更是大举发力,瞄准编译。
因添加了一个面向图象履行模型的编译解决计划,该框架在A100上训练机能晋升86%,CPU推感性能也晋升26%。
另外,PyTorch 2.0依托PrimTorch技术,将原来2000多个算子缩到250个,让更多非英伟达的后端更容易于拜候;还采取了TorchInductor技术,可为多个减速器和后端自动生成疾速代码。
并且PyTorch2.0还能更好反对数据并行、分片、管道并行和张量并行,让散布式训练更丝滑。
恰是上述技术,再结合对英伟达以外厂商GPU和减速器的反对,原先CUDA为英伟达构筑的软件城墙就显得没那末遥不可及了。
rz2r15yshcq.jpg
身后还有代替者
这边英伟达本身内存晋升速度没跟上,那边还有PyTorch2.0搞事,但还没完——
Open AI推出了个“简化版CUDA”: Triton。 (间接偷家)
zcu5130bm5y.jpg
Tirton是种新的言语和编译器。它的操作难度比CUDA低,但机能却可与后者媲美。
OpenAI宣称:
Triton只有25行代码,就可以在FP16矩阵乘法shang上达到与cuBLAS至关的机能。
Triton只有25行代码,就可以在FP16矩阵乘法shang上达到与cuBLAS至关的机能。
OpenAI的钻研人员曾经使用Triton,生成为了比等同Torch效力高出1倍的内核。
虽然Triton目前只正式反对英伟达GPU,但之后这个架构也会反对多家硬件供给商。
还有值得一提的是,Triton是开源的,比起闭源的CUDA,其余硬件减速器能间接集成到Triton中,大大增加了为新硬件建设AI编译器栈的时间。
不外话说回来,也有人感觉CUDA的垄断位置还远不算被打破。好比PyTorch的另外一位作者、Meta出色工程师Soumith Chintala就感觉:
(剖析师Patel写的)这篇文章夸张了理想,CUDA将持续是PyTorch依赖的症结架构。
Tirton并非第一个 (优化)编译器,目前大少数仍是把留意力放在XLA编译器下面的。
(剖析师Patel写的)这篇文章夸张了理想,CUDA将持续是PyTorch依赖的症结架构。
Tirton并非第一个 (优化)编译器,目前大少数仍是把留意力放在XLA编译器下面的。
b4lgcdlzpe4.jpg
他表现,当初尚不分明Tirton是不是会缓缓被大家承受,这还得靠时间来验证。总之,Triton并无对CUDA构成太大要挟。
文章作者Patel自己也看到了这条评论,而后回复称:
我可没说 (CUDA的垄断位置)曾经没了 (Broken),而是说正在退化 (Breaking)。
并且目前Triton还只正式反对英伟达GPU (没在别的GPU测试机能),假如XLA在英伟达GPU上的表示不占劣势,那它恐怕不如Triton。
我可没说 (CUDA的垄断位置)曾经没了 (Broken),而是说正在退化 (Breaking)。
并且目前Triton还只正式反对英伟达GPU (没在别的GPU测试机能),假如XLA在英伟达GPU上的表示不占劣势,那它恐怕不如Triton。
0zlsjclslnr.jpg
但Soumith Chintala辩驳道,就算说CUDA的位置正在下滑也不当。由于Tirton要在硬件上推行的话,还有得多危险,还有很长的路要走。
k3xd4kajqk3.jpg
有网友和这位PyTorch作者站在同一边:
我也但愿垄断被打破,但目前CUDA仍是最顶的,没了它,得多人构建的软件和零碎基本玩不转。
我也但愿垄断被打破,但目前CUDA仍是最顶的,没了它,得多人构建的软件和零碎基本玩不转。
那末,你感觉当初CUDA境况如何?
— 完—
百度钻研院、阿里达摩院、量子位智库
年度十大科技讲演
总结2022,预见2023。来自百度钻研院、阿里达摩院和量子位智库的年度十大科技讲演均已公布, 点击下方图片便可跳转查看。
百度钻研院
阿里达摩院
量子位智库
点这里 ?关注我,记得标星哦~
一键三连「分享」、「点赞」和「在看」
科技前沿停顿日日相见 ~ |
|