一件光学硬件可执行大规模并行AI计算

2021-01-08 07:43:01

人工智能和机器学习技术已经成为从云计算服务到手机制造商的所有工作的重点。不幸的是,我们现有的处理器与许多这些技术所基于的算法都不匹配,部分原因是它们要求处理器和内存之间频繁往返。为了解决这个瓶颈,研究人员已经弄清楚了如何在内存中执行计算,并设计了芯片,其中每个处理单元都附加了一点内存。

现在,两个不同的研究人员小组找到了一种利用光线进行计算的方法,该方法既可以合并内存又可以进行计算,并且可以实现大规模并行处理。尽管实现上存在差异,但这些团队设计的硬件具有一个共同的特征:它允许同一硬件使用不同的光频率同时执行不同的计算。尽管它们还没有达到某些专用处理器的性能水平,但是该方法可以轻松扩展,并且可以使用片上硬件来实现,这增加了将其用作专用协处理器的前景。

这项新工作依赖于称为频率梳的硬件,该技术为其某些创造者赢得了2005年诺贝尔物理学奖。尽管梳子的工作原理背后有许多有趣的物理学(您可以在此处详细了解),但我们关心的是该物理学的结果。尽管有几种产生频率梳的方法,但它们都产生相同的结果:由均匀间隔的频率组成的光束。因此,可见波长中的频率梳可能由波长为500纳米,510nm,520nm等的光组成。

隐喻是一把梳子(一大排均匀间隔的牙齿),但是隐喻背后的现实是每个牙齿都有不同的光频率。或者,由于频率和波长相关,因此可以将它们视为均匀间隔的波长。

我们已经知道有一段时间可以使用光进行计算了。频率梳的作用是为这些计算提供大规模并行的便利方法。如果上述频率梳是通过操纵可见波长的硬件发送的,则其组成频率中的每个单个频率都将执行相同的计算,从而实质上使其工作大规模并行。它本身并不是特别有用,除非您确实希望确认计算结果。

但是某些类型的频率梳允许独立调整每个波长,从而增加或降低每个牙齿的强度。这样就可以对梳子中的每个齿执行不同的计算,同时保留大量平行的方面。

相对容易地映射到光的计算类型之一是某些AI应用程序大量使用的矩阵乘法。具体地说,它可以用于执行卷积运算,这是一种深层神经网络的一部分,在图像识别方面表现出色,是一种数学运算。这两篇论文最终都使用其光学硬件来完成图像工作,但是他们使用了截然不同的方法来达到目标​​。我们将从最容易理解的一开始。

您如何实际使用光执行图像操作?第一步是数字化图像。从那里,可以在频率梳的特定波长的光强度下编码有关每个像素的详细信息。然后将这些波长发送到相变材料的方格中。相变材料根据光的有序或无序性吸收不同数量的光,因此对光执行操作。取决于光穿过栅格的路径,将吸收不同的量,最终强度是操作的读数,其本质上是矢量的乘积。

至关重要的是,网格可以同时在不同的波长上执行该操作,因此梳子的不同齿可以一次全部馈入硬件。并且由于相变材料是可重新配置的,因此整个事物可以重新配置为随意执行不同的操作。作为这些演示过程的标准,研究人员将硬件设置为使用一组手写数字,这些数字已成为该领域的标准。它能够达到95%以上的精度,这被认为是成功的。

在演示中,每个不同的硬件(激光器,将其转换为频率梳的硬件,相变存储器和光子检测器)都在不同的芯片上。但是,没有什么可以阻止它们集成到单个芯片上的,从而可以将它们用作AI任务的光学协处理器。

对其操作的两个重要限制是频率梳中的齿数和相变材料网格的大小,并且有增加两者的方法。在处理方面更具挑战性的是光学硬件可以运行多快所带来的限制。由于可能存在处理的方法,因此应将硬件的当前操作视为下限。但即使是一个下限,它也能以每秒3.8万亿次操作的速度令人印象深刻。

尽管已经存在专用的AI协处理器,但它们的工作原理与常规处理器相同,这意味着热量和功率也成为他们的问题。这里的主要潜在优势是,这里的发热和功率问题几乎都集中在激光光源上。只要能够解决这些问题,设备就可以全倾斜操作,而无需担心这些问题。

设想一束光子在半反射材料的网格周围乒乓相对相对容易。关于该主题的另一篇论文依赖于光的非常困难且鲜为人知的行为:当光穿过具有很多内部折射的材料时,光传播的速度取决于其波长。

为了利用这一点,研究人员将信息作为矢量编码到频率梳的几个齿中。然后,该光沿着光缆发送,该光缆在不同的波长下产生不同的延迟。但是,电缆另一侧的检测器仅在特定的时间范围内接受输入。如果延迟将输入向量的某些部分移出该时间窗口,则不会将其计入输出。本质上,这会执行称为卷积的数学运算,将数据编码的频率与检测器根据数据到达的时间给定的权重联系起来。

同样,卷积对于用于图像分类的深度神经网络至关重要。 而且,由于光缆可以承载很宽的波长范围,因此许多卷积可以并行执行。 结果,本文中使用的设置每秒可以达到11.3万亿次操作,尽管它在数字识别测试中的性能有些差,准确度为88%。 尽管各个操作速度很快,但设置绝对需要延迟才能正常运行,这意味着它将永远无法提供某些应用程序所需的那种即时响应。 但是它的操作可以使用现成的光学电信设备来完成。 如果将现代电信硬件中使用的所有频段都投入使用,则可以并行执行400多个操作。 而且在诸如光的偏振之类的东西被用来传递信息之前,这可能会将性能提升到每秒四千万次运算的范围。