
为了描述神经网络加速器,也称为“ AI加速器”,我们首先需要定义一个神经网络。简而言之,“神经网络”只是一组算法的奇特名称,这些算法在机器学习应用程序中执行数据的聚类和分类。之所以命名,是因为许多年前有人对人脑中神经元的工作方式进行了比较。
神经网络加速器是专门为处理神经网络工作负载而优化的处理器。顾名思义,它非常有效地完成了数据获取,聚类和分类的工作。
工程师的中央处理器(CPU)通常很慢且耗电,工程师们发现,经过完全优化的仅针对特定任务集进行了优化的处理器可以在低功耗下极快地运行,并有助于使某些算法更快地运行。
示例包括图形处理单元(GPU),它们在游戏,图形和DSP中起步,它们经过了优化,可以快速,高效地进行信号处理。
用于神经网络加速器的理论和技术已经存在了数十年,但是直到最近五年,经济学才使该技术商业化。处理从云到边缘再到嵌入式设备的迁移,这转化为对本地级别对重型计算能力的更高需求,也正在推动市场增长。
当涉及到神经网络加速器时,没有一种适合所有人。许多设备是为特定的垂直应用和应用定制的,并且可能具有许多不同类型的加速器,包括DSP和GPU以及神经网络加速器,它们都在同一芯片上。
芯片制造商还必须考虑外围设备(数据如何进入和流出芯片的手段),以避免潜在的瓶颈或处理延迟。外围设备通常会因垂直方向而异。
最后,为什么涉及神经网络的处理速度如此重要?
以对象检测,分类和跟踪的“处理流水线”为例,这是自动驾驶汽车避免碰撞方面最具挑战性的任务之一。数据是通过摄像头传感器,GPS,LiDAR,惯性传感器等收集的。信息可能会通过一些视觉处理算法进行增强和过滤,然后发送到神经网络,其中必须足够快地完成必要的计算,才能避免潜在的碰撞-在车辆以每小时60英里的速度行驶时。
对于被认为是安全的使用机器学习的自动驾驶汽车,它需要“体验”成千上万种不同的场景,以对软件进行足够的“培训”,以便在驾驶时能够识别多种不同的场景。尽管可以使用仿真,建模等方法来加快速度,但实际上,许多操作实际上是在交通中操作车辆,并通过不断体验来让ML随着时间的推移而不断改进。