日前,人工智能领域的芯片性能权威榜单MLPerf又有了最新的跑分结果,这次的更新主要在推理部分,尤其是边缘计算推理(MLPerf edge inference)和超低功耗推理(MLPerf tiny)反映了芯片行业新老巨头(如Nvidia,高通和阿里巴巴等)在相关方向的最新成果,本文将为读者详细分析。
MLPerf的背景
随着人工智能的发展,相关芯片对于人工智能相关应用的计算能力也成为了一个重要的芯片性能指标。在人工智能芯片刚刚兴起时,不同的公司往往会展示一个对于自己最有利的性能结果,但是不同家芯片公司之间的数字很难直接比较,例如公司A在1比特量化的ResNet上的延迟结果很难和公司B在32位浮点精度VGGNet的结果直接作比较。
为了解决这个问题,机器学习硬件相关的行业组织ML Commons专门推出了一个MLPerf跑分平台,在这个平台上ML Commons给出了在一系列主流任务上的代表性模型,并且定义了这些模型的各种细节(例如预测精度,量化方法等),各大公司可以在自己的芯片上运行这些模型并且提交结果,而结果经过ML Commons验证后就会正式公布在MLPerf的榜单上面。
目前,MLPerf榜单主要分为几个子榜单:数据中心训练,数据中心推理,边缘推理(MLPerf Edge inference),移动设备推理以及低功耗推理(MLPerf Tiny)。其中,这次我们着重介绍新分数的边缘推理主要是针对边缘服务器高算力的场景(例如自动驾驶),而低功耗推理则是针对物联网应用进行较低功耗人工智能计算(功耗远小于移动设备)的场景。
边缘推理新格局
边缘推理应用在最近两年得到了非常多的关注。边缘计算推出的初衷是针对机器人、5G等需要大算力低延迟应用,而目前得到关注的最主要原因是智能驾驶中需要使用的边缘计算正在走入主流,因此针对智能驾驶的边缘计算可望成为下一个半导体芯片的重要市场,从而吸引了业界各大公司的目光。
从竞争格局来看,针对边缘场景的人工智能计算,Nvidia是布局最久的,几乎从2016年就开始不断推出和迭代相关芯片来保持自己在该领域的领先位置,在MLPerf推出的初期在边缘计算领域常常也是Nvidia一直领跑。然而,从去年开始,我们看到高通凭借其Cloud AI系列适合边缘计算场景的计算加速卡也成为了这个领域的一个重量级竞争者。
在最近刚刚公布的MLPerf最新跑分结果中,我们也看到Nvidia和高通成为了边缘计算结果的最大亮点。首先,Nvidia发布了最新的Orin系列SoC的跑分结果,相对于上一代产品Xavier有了三到五倍的性能提升。Orin SoC是Nvidia针对机器人和自动驾驶等场景量身定制的设计,Orin SoC中包括了CPU、GPU、人工智能加速器(DLA)和其他视觉相关加速器IP,从而能确保该SoC可以高效地执行各类相关任务。在这次公布的MLPerf相关分数中,Nvidia也指出这些模型运行在SoC的GPU和DLA中,而并不是只运行在一个IP中,从而能实现更高的性能。
高通的亮点则主要在于我们看到了越来越多的公司在使用其Cloud AI 100加速卡。自从去年九月高通首先上传了自己使用Cloud AI 100的结果后,在这次我们看到了除了高通之外,还有技嘉、阿里巴巴以及KRAI等公司都提交了使用Cloud AI 100的跑分结果,可见该加速卡已经在慢慢得到各大系统厂商的认可。
那么Nvidia Orin和高通Cloud AI 100相比如何呢?首先,这两款芯片都适合使用在边缘计算场景,Orin的整体系统功耗在15-40W,而高通加速卡的功耗也在15 – 20W(注意Orin是SoC,功耗也包括处理器部分,而高通的加速卡还需搭配主处理器才能工作),可以说总体功耗都很接近。从MLPerf的最新分数上来看,两者的分数也是在伯仲之间。
高通的图像分类任务性能和能效比都很强,在总体系统功耗24W的情况下运行单数据流ResNet可以实现0.84ms的延迟,而Orin则需要更大的功耗(42W)才能实现相近的延迟(0.92ms)。同时在批量处理吞吐量方面,高通的Cloud AI 100也要略胜一筹,24W系统功耗可以每秒处理5849张图像,如果使用36W功耗则可以每秒处理9780张图像;相对来说,Nvidia Orin使用42W功耗只能每秒处理4750张基于ResNet的图像分类任务。
然而,Nvidia在物体检测任务上性能要强于高通,Orin使用SSD模型运行物体检测任务时延迟仅为0.59ms,而Cloud AI 100则需要1.7ms。值得注意的是,Orin和Cloud AI 100在运行批量处理物体检测任务时的吞吐量接近(都是每秒处理5300样本左右)。
我们认为,这样的性能差别来自于Nvidia和高通的架构不同。Nvidia Orin是一个SoC,并且包括了GPU这样能较为高效灵活处理不同算子的能力,而高通的Cloud AI 100是一块专门针对神经网络的加速卡,一些它处理不了的算子需要通过PCIe接口到主处理器上完成运算,这样就带来了延迟。对于图像分类这样几乎所有运算都在神经网络中完成的任务,高通的Cloud AI 100有优势,且可以实现非常高的能效比;但是在物体检测任务中,有一些非标准神经网络算子,这时候能够较为灵活处理各类算子的Nvidia Orin在延迟方面就有较大优势了。
事实上,Nvidia和高通也代表了两种不同的设计思路,即灵活支持各种算子的SoC和为一大类算子做极致优化的加速卡。我们认为,Nvidia会继续这样的思路,凭借其在软件生态上的优势,以网络兼容性强为主要卖点。而随着智能驾驶等对于延迟有高需求应用越来越重要,高通是否会为这类应用也专门推出SoC是非常值得我们关注的。
高通在这方面并不缺乏技术能力,需要的只是为了该市场专门投入资本做SoC的决心(目前Cloud AI 100并不是专门针对边缘计算应用,而是同时针对云端和边缘计算的加速卡)。如果高通也决心做相关的SoC,我们认为将会标志着边缘计算市场的竞争格局进入下一个阶段,即有多家大公司都将在这个领域全力以赴投入大量资源,而这也将从另一个角度反向推动边缘计算领域的发展,因为该领域的芯片计算预计在较为激烈的竞争格局下会更快地迭代进化。
低功耗推理:阿里巴巴展现人工智能实力
除了边缘计算之外,MLperf最新分数中,低功耗推理板块也是一个亮点因为阿里巴巴也提交了他们使用自研玄铁芯片的结果。根据相关结果,阿里巴巴的分数大幅领先其他公司,而我们认为这是阿里巴巴在人工智能领域软硬件结合能力的一个体现。
阿里巴巴提交的分数是基于其玄铁处理器(使用RISC-V指令集架构),该处理器上事实上并不包含专用的人工智能加速器IP,而是由模型直接跑在处理器上。另外,阿里巴巴提交的结果中,并不是对每个任务直接运行标准的模型,而是使用了阿里巴巴针对玄铁处理器优化过的模型(同时确保在每个任务中都能与标准模型有一样的预测准确度),因此我们认为这样的大幅领先是软硬件协同优化的结果。我们认为,在低功耗场景中,只有使用软硬件协同优化才能实现最大程度的能效比提升,而在这个方面拥有强大人工智能研发能力的阿里巴巴就有了很大的优势。同时,由于阿里巴巴掌握玄铁CPU的所有设计细节,因此可以在设计相关的神经网络时候,保证模型中的算子和数据存储都能够最大化效率。这样的结果无疑是令人振奋的,同时我们也希望在未来看到更多中国的芯片公司能够在MLPerf这样的全球舞台上领跑整个领域。
文章来源:内容由公众号半导体行业观察(ID:icbank)原创,作者:李飞。