科技前沿

MIT设计基于光电倍增的大规模光神经网络

  

  对于电子芯片,包括大多数人工智能加速器,有一个理论上的最低能耗限制。最近,MIT的研究人员开始为光神经网络开发光子加速器。这些芯片执行数量级的效率更高,但它们依赖于一些体积庞大的光学元件,这些元件限制了它们在相对较小的神经网络中的使用。

  在《物理评论X》上发表的一篇论文中,MIT的研究人员描述了一种新型光子加速器,它使用更紧凑的光学元件和光信号处理技术,以大幅降低功耗和芯片面积。这使得芯片可以扩展到神经网络,比对应的芯片大几个数量级。

  在传统的光子加速器中,脉冲激光编码了一个层中每个神经元的信息,然后流入波导并通过分束器。产生的光信号被送入一个称为“Mach-Zehnder 干涉仪”的正方形光学元件网格中,该网格被编程为执行矩阵乘法。干涉仪用每个重量的信息进行编码,使用处理光信号和重量值的信号干扰技术来计算每个神经元的输出。但是有一个缩放问题:对于每个神经元,必须有一个波导管,对于每个重量,必须有一个干涉仪。由于重量的数量与神经元的数量成正比,那些干涉仪占用了大量的空间。

  研究人员的芯片依赖于一种更紧凑、节能的“光电”方案,该方案利用光信号对数据进行编码,但使用“平衡零差检测”进行矩阵乘法。这是一种在计算两个光信号的振幅(波高)的乘积后产生可测量电信号的技术。

  光脉冲编码的信息输入和输出神经元的每个神经网络层——用来训练网络——通过一个单一的通道流动。用矩阵乘法表中整行权重信息编码的单独脉冲通过单独的通道流动。将神经元和重量数据传送到零差光电探测器网格的光信号。光电探测器利用信号的振幅来计算每个神经元的输出值。每个检测器将每个神经元的电输出信号输入一个调制器,该调制器将信号转换回光脉冲。光信号成为下一层的输入,以此类推。

  这种设计只需要每个输入和输出神经元一个通道,并且只需要和神经元一样多的零差光电探测器,而不需要重量。因为神经元的数量总是远远少于重量,这就节省了大量的空间,所以芯片能够扩展到每层神经元数量超过一百万的神经网络。

  有了光子加速器,信号中会有不可避免的噪声。注入芯片的光线越多,噪音越小,精确度也越高——但这会变得非常低效。输入光越少,效率越高,但会对神经网络的性能产生负面影响。但是有一个“最佳点”,Bernstein说,它在保持准确度的同时使用最小的光功率。

  人工智能加速器的最佳位置是以执行一次两个数相乘的单一操作(如矩阵相乘)需要多少焦耳来衡量的。现在,传统的加速器是用皮焦(picojoules)或万亿焦耳(joule)来测量的。光子加速器以attojoules测量,效率高出一百万倍。

  在模拟中,研究人员发现他们的光子加速器可以以低于attojoules的效率运行。 “在失去准确性之前,你可以发送一些最小的光功率。我们的芯片的基本限制比传统的加速器低得多......并且低于其他光子加速器,”Bernstein表示。