作者|Adi Fuchs
翻译|程浩源、沈佳丽
在深度学习史上,专用化硬件至多在AlexNet和Transformers这两个革命性时刻施展了关键作用,介绍这两种架构的论文都在其摘要中强调了GPU的作用,并具体阐明了它们如何将底层计算并行化到多个GPU中,以放慢计算速度。
之所以要强调这一点,是因为早在AlexNet论文发表的20年前,利用于计算机视觉的深度卷积神经网络就曾经诞生了;同样,早在Transformers论文发表前,利用于自然语言解决的LSTMs、RNNs和自注意力机制(self-attention mechanism)也已存在,这阐明许多算法根底早就曾经有了。
然而,通过展现如何以正当的老本进行大规模计算,论文作者们在上述畛域获得了进一步冲破。究其原因,是他们把握了AI减速的革命性实质:扩大到日用品(Scale-to-Commodity)。
25年来,路由器、有线和无线的网络速率增长了1000倍
尽管进步单位成本的性能始终是计算机科学家和工程师们的长期指标,但在某些状况下,收益会扭转游戏规则,一些过来认为不可能成为日用品的货色会变成日用品。
当芯片性能进步100倍,意味着你在两个小时内就能够运行一个简单的模型,而过来你却得消耗一周工夫,甚至可能须要100个基于CPU的工作站(假如你可能把握所有这些并行化并领取低廉的电费)。
过来20年,因为互联网带宽减少了1000多倍,咱们的生存也产生了天翻地覆的变动。你能设想,以前人们须要期待好几个小时能力下载完本人喜爱的电视剧吗?几乎太煎熬了。
为了放弃AI的革命性实质,咱们须要思考哪些模型能够日用品化以及如何将它们日用品化。
1
AI基准测试的缺点
近年来,咱们见证了MLPerf的衰亡,这是一个旨在对AI硬件和零碎供应商报告的性能数据进行标准化的基准测试组件。它由来自70多家头部科技公司(英伟达、谷歌、AMD和英特尔)、多家初创公司(SambaNova、Cerebras和Graphcore)以及各大学术机构(斯坦福、哈佛和伯克利)等泛滥行业领导者独特发动。
MLPerf基准测试包含ResNet50和BERT等多个AI利用,并就不同版块进行评估,包含数据中心训练、数据中心推理和挪动设施推理等等。每隔几个月,MLPerf就会收到各大公司和机构提交的测试后果(次要波及利用运行工夫),而后他们会把后果推送给相应的畛域。这样,提交者们就能够依据MLPerf比赛评估各自的体现,一些潜在客户也能挑选出更合乎本身需要的AI零碎。
MLPerf有一项雄心勃勃的使命宣言:基于实在的模型、公开的数据集和易于了解的指标,为用户提供标准化和无偏见的性能推理方法,从而推动AI的利用。
随着AI硬件更加遍及,咱们迫切需要更多的行业标准和指标去理解AI硬件的性能。尽管MLPerf在性能评估方面曾经做得不错了,但我还想提三项可扩充其影响力的改良措施。
(1)规范化
AI加速器形形色色,不同用户(业余爱好者、研究生、大型企业等)和零碎(挪动设施、工作站、主动驾驶汽车、HPC/云等)的需要也有很大差别。
此外,构建加速器的办法多种多样,给出一个计算域,你就能够纵情施展本人的想象力和创造力来协同设计硬件和软件(当然,你还得思考市场需求和老本)。因为AI加速器和零碎多种多样,单是比拟不同的减速技术就曾经相当不易,更不用说定义一种偏心、无偏见的加速器比照规范了。
IEEE spectrum曾公布了一篇名为《AI训练正在超过摩尔定律》的文章(https://spectrum.ieee.org/ai-…),该观点基于MLPerf颁布的测试后果。摩尔定律认为,晶体管密度每隔18个月就会减少约2.2倍,但MLPerf颁布的数据却显示,AI训练的后果在18个月内晋升了16-27倍。
于是,马上就有人说,“如果咱们比摩尔定律快这么多,那么大部分的性能晋升必定都不是因为咱们应用了更好的半导体技术,而是因为采纳了更好的减速办法和软件技术。”然而,他们的论断并不牢靠。因为他们没有规范化的规范来掂量性能,所以才漠视了硬件对性能优化所做的奉献。
ResNet50训练后果的逐渐规范化
让咱们深刻解读一下这些数字。以ResNet50的数据中心训练为例,2018年,MLPerf基线后果是应用640个NVIDIA V100 GPU达到的6.2分钟,而在2021年,工夫缩小到了0.23分钟。单从数字来看,速度确实是快了约27倍,但这是因为应用了3456个TPU v4加速器,这意味着加速器的数量减少了5.4倍。因而,如果咱们将这一规范使用到每一个芯片上,理论性能仍会进步5倍,这十分了不起。
另外,一个V100 GPU芯片上有211亿个晶体管,尽管谷歌在TPU规格方面并没有走漏太多,但其与TPUv4竞争的训练芯片(NVIDIA A100、SambaNova SN10、Graphcore mk2 IPU等)的晶体管数量在400-600亿个左右。
因而,咱们能够正当地假如TPUv4也领有这么多晶体管,它能够提供每秒275万亿浮点运算的峰值性能,所以激进预计TPUv4有400亿个晶体管,于是咱们会推出来每一个晶体管性能晋升了2.6倍左右。
最初,V100是应用12纳米CMOS技术制作,而TPUv4很可能是应用7纳米CMOS技术制作的(如TPUv4i)。ITRS和其余学术研究认为,7纳米的电路应该比12纳米的电路快1.5倍。因而,思考到所有这些因素,包含更多的估算,更快和更优的硬件能力,架构帮忙性能晋升大概只有1.7倍左右。
显然,这是一个一阶近似值(first-order approximation),理论性能是由计算半导体技术以外的许多因素决定的,比方内存带宽、缓存、通信带宽和拓扑构造等。更简单的零碎的确须要由更精密和更成熟的软件堆栈来治理,减少芯片或晶体管的数量并不能保障性能有等同倍数的晋升。咱们必须有这样的思维,能力更好地了解规范化,以及通过晶体管实现性能优化。
为什么靠标准晶体管优化性能如此迫切?起因次要以下四点:
1、这就是加速器存在的意义。如果有一天,晶体管技术真的会像随摩尔定律所说的那样进行倒退,将来咱们就只有基于硅基技术陷入停滞的前提下实现性能优化;
2、如果短少偏心的比拟办法,问题就只是数字而已,就像一个骑自行车的人和一个开兰博基尼的人之间的较量毫无意义;
3、芯片的性能不可能无限度地晋升,当加速器供应商开发出系列加速器时,他们须要评估每一代加速器的硬件、软件堆栈,从而找出更新换代可能为性能优化所做的实在奉献。同时,还须要晓得,有时他们将不再为同一问题提出更好的解决方案,并且会遇到芯片专用化回报的递加以及撞上“加速器墙”;
4、试图在一个问题上投入大量资金从而进步性能的做法不可取,MLPerf只有保持本人的减速愿景,并推动AI振兴进入第一阶段——扩大到日用品,能力持续保护本人的价值。
AlexNet和Transformers为应用繁多零碎训练简单模型关上了大门,并引领了新一轮冲破。咱们须要更加器重规范化的性能指标,比方单位功率性能或单晶体管性能。咱们曾经在单位功率性能方面做了些许尝试,然而这样的工作仿佛不太有吸引力。功率测量比拟麻烦,而且在这方面获得冲破也不会像创下新的训练工夫纪录那样引起轰动。
最初,尽管晓得相对性能数字是件坏事,但一般数据科学家真的关怀如何在千万亿级零碎(领有他们累赘不起的数千处理器)上进步执行工夫吗?这引出了咱们后续的探讨。
(2)大众化
MLPerf基准测试波及的利用,次要是2012至2018年间发表的学术研究论文中提到的模型,而GPU作为过后深度学习惟一可行的抉择,那些论文中的数据都是模型在GPU上运行的性能后果。
而且,论文波及的底层架构特色、超参数和架构规模都会依据GPU来配置,模型的长处会与GPU的架构长处相结合,当然,最终的测试后果也会受GPU的毛病所限度。
如此一来,MLPerf比赛实质上其实更相似于“GPU比赛”,也让GPU从此成为了AI硬件的代名词。
不要误会我的意思——咱们都应该器重GPU,因为它是古代AI的开路先锋。如果没有GPU成熟的硬件/软件堆栈,也就基本不会见证AI利用的崛起。但除了GPU,咱们当初还有其余的解决方案,咱们也应该摸索在其余类型的架构上开发的原生模型的属性,它们能够开拓出一些新畛域。
此外,咱们可能也不心愿只有繁多的软件实施方案,或繁多类型的架构,这决定了整个AI应用领域的成绩和局限性。能够假如,如果在2010年就曾经存在TPU和TensorFlow生态系统,那MLPerf的利用范畴也会有不同。
(3)泛化
“When a measure becomes a target, it ceases to be a good measure(当一项指标变成指标,它将不再是一个好的指标。)”-Charles Goodhart
MLPerf须要克服的最初一个挑战是不足利用泛化。大概一年前,我调研了一家业内当先的AI硬件供应商的性能评估。教训通知我,要想达到预期性能并非易事。
过后的状况是,即便在一个新的Docker镜像上装置了所有最新的库,重现加入过MLPerf的模型的跑分也没能靠近他们颁布的分数。只有应用供应商从专门的库中提供的模型版本,并且手动配置文件笼罩掉编译器对模型的决策后,才有可能达到他们颁布的分数。
最初,当我用了另一款模型替换了供应商提供的模型(两款模型的层数和大小简直完全相同),并且进行了雷同的配置后,却发现性能降落了50%左右。我据说,其余敌人在应用别的供应商提供的一些模型时也有过相似经验。
应用基准问题测试“慢动指标”(slow-moving targets)会呈现上述不现实的后果,这并不奇怪。
目前,MLPerf基准测试曾经间断三年应用同一组利用,因而供应商只须要在测试时给这些利用展现一些不符合实际的“一次性”性能,就能跑出不错的问题;大多数的数据科学家也并非真的理解底层硬件、编译器和软件库,所以他们不会破费数周进行性能调优,更不用说创立笼罩编译器决策的手动配置文件了。
AI面临的次要挑战之一是实现“用户到硬件的表白(user-to-hardware-expressiveness)”。AI畛域倒退飞速,每天都有数百篇新钻研论文发表,所以咱们须要对堆栈进行泛化,从而保障它们可能“开箱即用”地运行更多性能良好的用例,而不是仍旧专一于十年前的利用。
MLPerf应该更加器重,数据科学家们须要的是弱小的减速堆栈(acceleration stack),这些减速堆栈能够利用底层硬件来解决空前宏大的工作量。
目前,大多数AI硬件供应商都是优先思考客户模型和需要,而非MLPerf利用。如果MLPerf再不采取更广泛、更大众化的形式,势必会遇到更多竞争对手,并且人们最终也将不再违心将其视为行业级基准。
2
从新思考硬件加速
硬件加速始终是推动AI畛域倒退的关键因素之一,因而理解硬件加速的根本假如、现有概念局限性以及新倒退方向,对于推动AI畛域进一步倒退至关重要。
逾越翻新鸿沟
AI畛域是钻研驱动型的,因而工业界和学术界之间有着严密的共生关系。生产零碎中所应用的最前沿的AI模型及其实践都出自发表在NeurIPS、ICML、CVPR和ICLR等顶级学术会议上的论文,包含AlexNet、ResNet、YOLO、Transformers、BERT、GPT-3、GANs和 Vision Transformers。此外,其中不少论文都是由学术机构与谷歌、脸书、英伟达和微软等公司的钻研实验室单干的成绩。
与AI应用领域相比,工业界在AI加速器畛域始终落后于学术界。尽管ISCA、MICRO、HPCA和ASPLOS等计算机体系结构顶级会议每年都会登载数十篇对于加速器的新论文,但生产中部署的加速器的外围架构思维几十年前就诞生了,包含内存解决、数据流计算、脉动阵列、VLIW等等。
咱们须要积攒更多的想法和翻新,并将其具体化为新的产品。新想法的驳回总是很迟缓,这是因为制作芯片须要数年之久,而且AI硬件畛域竞争强烈,驳回新想法意味着可能须要消耗微小老本扭转现有的一些性能,这样做危险很大。
然而,当初的AI加速器畛域曾经趋于成熟,一些必须的根底曾经奠定,咱们也晓得怎么做才无效。因而,供应商们是时候尝试一些新想法了,通过新的发现来推动AI加速器畛域倒退。要置信,AI加速器畛域仍有翻新空间!
让AI减速真正作用于AI
古代AI曾经激发了咱们的趣味,它让咱们思考将来有限的可能性,并提出了一些对于哲学、社会学和伦理学的问题,这些畛域的大牛们也在强烈探讨:AI能够做什么?AI将来的倒退方向是什么?然而,在咱们开展设想之前,必须留神AI的“鸡和蛋”问题:硬件作为模型的根底,咱们很难设想新模型部署在性能较差的硬件上,也就是说,新模型须要新的硬件。
因为制作新硬件的老本很高,所以须要有正当的理由能力拿到资金开始钻研新硬件。但如果你没有在正当工夫内运行这些新模型的硬件,也就无奈证实这些新模型的价值。接着,因为没能展现新模型的理论性能,AI翻新就会受到现有硬件解决方案的解放。
从AI到深度学习:咱们在减速什么?
值得一提的是,尽管咱们将以后硬件所做的称为“AI减速”,但其实是在言过其实。事实上,它更靠近于“深度学习减速”,或者是联合了基于张量的深度学习和机器学习算法的产物,能够在矩阵乘法引擎上运行良好。
有人可能会说,“好吧,咱们简直都据说过深度学习,它是当今最具价值的‘杀手级利用’”,但这正是关键所在———咱们次要钻研深度学习,因为算法库和硬件都是为深度学习量身定制的,因而深度学习是咱们目前可能摸索的畛域,这是开发减速硬件时须要留神的。
咱们通过协同设计算法和硬件,曾经从构建通用处理器倒退到搭建各种体系结构;然而,咱们将数据门路长度优化为固定大小的变量,因为有固定大小的算法引擎和固定字大小的内存和连贯,并且咱们尽量应用矩阵乘法,因为它领有简略且可预测的控制流。咱们不心愿适度优化硬件导致其性能大幅降落,这会障碍摸索新性能,从而妨碍算法提高。
尽管我不是神经科学家,但我晓得大脑领有许多简单的构造,这些构造以不规则的形式进行通信,所以咱们可能无奈应用矩阵乘法、固定宽度数据门路和非线性函数来模仿它们。
因而,咱们须要思考,这种硬件进化是否让利用硬件协同设计空间中收敛到部分最优?兴许,如果脱离张量密集型模型就能实现“AI减速2.0”,迎来AI硬件的下一波浪潮。
那时,“AI减速2.0”不须要将矩阵相乘,但反对不规则的计算模式,并领有灵便的表征和任意并行化的计算引擎。具备这些个性的加速器(或此类加速器的异构集成)将领有更宽泛的利用范畴,也更靠近真正的AI。
总而言之,咱们须要思考:注意力机制是咱们所需的全副吗?卷积神经网络(CNN)是最终的答案吗?不论答案是什么,卷积神经网络的确凝集了咱们大部分的研究成果,但兴许AI还有更多能够扩大到日用品的货色。
(本文经受权后公布,原文:https://medium.com/@adi.fu7/u…)
欢送下载体验 OneFlow v0.7.0 最新版本:https://github.com/Oneflow-In…