中文 英语
18.luck新利
的意见

不要让你的ML加速器供应商告诉你“f字”

为什么撤退是个肮脏的词。

受欢迎程度

设备中的机器学习(ML)推理正在风靡。几乎每一个用于移动电话、平板电脑、智能安全摄像头、汽车应用程序、无线系统等的新的片上系统(SoC)设计都需要大量的片上ML功能。这使得硅设计团队争相寻找ML处理能力,将其添加到现有的处理引擎菜单(cpu、dsp、gpu)中,加入到他们的设计技巧包中。

芯片设计团队寻找新解决方案的原因是,ML工作负载与现有构建块最初优化的工作负载有很大不同。cpu被设计为同时运行随机控制代码的多个线程,并进行随机内存访问。图形处理器被设计用来在图形应用程序中绘制多边形。dsp被设计用来处理一维和二维数据数组中的矢量数学。但是ML推理工作负载主要由n维张量数据上的矩阵计算(卷积)主导。新的计算挑战并不完全适用于旧的计算架构。

大多数设计团队——以及大多数商业IP处理器供应商——已经采取的解决新的ML矩阵计算问题的方法是试图将新的计算工作负载强制适应到旧的平台上。这些IP供应商分析了现有的ML基准测试,以确定ML工作负载中最频繁出现的主要计算操作符,并构建了卸载引擎(加速器),以有效地执行那些选定的计算构建块。这种策略的基本理论是:如果10或20个最常见的ML图操作符代表了95-98%的计算工作负载,那么从现有的CPU或DSP上卸载这20个图操作符,就可以让完全灵活的CPU或DSP来协调剩余的图执行,包括ML图中罕见或不寻常的操作符。IP供应商将这种分工称为“操作员回退”——其中绝大多数计算运行在不可编程的ML加速器上,但程序在需要时“回退”到完全可编程的CPU或DSP上。

这种方法的阿喀琉斯之踵(致命的缺陷)是假定回退是罕见的,并且不是性能关键型的。但仔细观察这种方法就会发现,Fallback是一个不雅的词——一个无论如何都要避免的新F词。考虑一个具有大型通用应用级CPU的SoC的例子,一个为视觉处理调优的矢量DSP引擎和一个4 TOP/s ML加速器。各引擎可使用的计算资源如下表所示:

在加速器上运行的矩阵运算速度很快——充分利用了加速器中所有的2048个乘法累加单元。但是相同或类似的运算符在DSP上运行要慢32倍!CPU的速度慢了128倍。即使不需要高级机器学习数学学位,也可以看出,即使机器学习工作负载中只有5%的计算需要回退到CPU上,这一小5%突然成为整个推理执行的性能瓶颈。如果98%的计算在加速器上快速进行,而复杂的SoftMax图的最后一层在CPU上的执行速度慢了100倍或1000倍,那么整个推断时间都被缓慢的CPU性能所支配。

随着时间的推移,撤退只会变得更糟。机器学习正在迅速发展。2022年或2023年的参考模型肯定会在2025年或2026年被更新、更精确、更复杂的ML模型所取代,就像今天设计的硅进入量产一样。这些新的ML模型在三年内可能会有新的运营商变体或新的网络拓扑——需要更多的回退到灵活但速度较慢的CPU或DSP上。在多核、异构加速器架构上的总体性能将进一步下降,导致芯片设计严重不佳,甚至完全不适合这项任务。那些失败芯片的设计者在哀叹“后退”的失败时,会低声咒骂。后退(Fallback)将是他们的贬义词。

另一个选择是什么?

有一个替代方案。加速器本身需要像CPU或DSP一样可编程。而且它必须可以用c++编程,这样工程师就可以很容易地随着机器学习任务的发展而添加新的操作。

来自Quadric的Chimera通用NPU (GPNPU)-可提供1 TOPS, 4 TOPS和16 TOPS变体-提供矩阵优化性能,您期望从ml优化的计算引擎,同时也完全由软件开发人员c++编程。新的ML操作符可以像Quadric工程师编写的“本地”操作符一样快速编写和运行。有了Chimera可编程加速器,就没有退步,只有快速执行——无论未来带来什么新形式的运算符或图形。对于Quadric, F字都是好词——Fast, Future-Proof, Fantastic!



留下回复


(注:此名称将公开显示)

Baidu