深度学习的未来在光子 ——光计算可以大幅减少神经网络的能源需求
时间:2021-07-31 阅读:1944
作者:Ryan Hamerly;来源:IEEE Spectrum;编译:昕甬智测实验室
说到人工智能,你会想到什么呢?图像识别、语音识别、语言翻译、医疗诊断和自动驾驶?这些任务在不久以前仍然依靠人类大脑,现在大多可以由计算机完成。
图一 如今,复杂的人脸识别已经可以由人工智能完成 | Pixabay
促成这些惊人发展的技术称为深度学习(deep learning),指的是被称为“人工神经网络(artificial neural network)”的数学模型。 深度学习是机器学习的一个子领域,其概念是将复杂模型与数据拟合。
虽然机器学习已经存在了很长时间,但由于对计算能力有更高的要求,深度学习的发展较为缓慢。这促使工程师开发专门针对深度学习的电子硬件加速器,张量处理单元(Tensor Processing Unit, TPU)就是一例。
神经网络计算的需求与挑战
首先,我们先来大致了解一下神经网络计算。人工神经元是使用在某种数字电子计算机上运行的特殊软件构建的。该软件为给定的神经元提供多个输入和一个输出。每个神经元的状态取决于其输入的加权和,而这些输入是由非线性函数(称为激活函数)决定的。然后这个神经元的输出再成为各种其他神经元的输入。
图二 实现深度学习的神经网络计算
为了计算效率,这些神经元被分组到层中,神经元只连接到相邻层的神经元。这些运算仰赖大量的线性代数计算(矩阵乘法),并且数学技巧的以被应用来加速计算。随着网络规模的增长,这些计算是深度学习中计算要求最高的部分。
现代计算机硬件已经针对矩阵运算进行了很好的优化。我们可以将深度学习的相关矩阵计算归结为大量的乘法和加法运算,就是将成对的数字相乘并将它们的乘积相加。过去二十多年来,深度学习需要越来越多的乘法累加运算,计算机的性能也基本遵循摩尔定律大幅增长。然而,随着半导体工艺发展到临近极限,摩尔定律已经失去动力,继续保持成长趋势是一个极大的挑战。
并且,训练当今的大型神经网络通常会产生显著的环境影响。例如,2019 年的一项研究发现,训练某个深度神经网络进行自然语言处理所产生的二氧化碳排放量,是一辆汽车在其“使用寿命”内产生的二氧化碳排放量的五倍。
图三 深度神经网络计算造成的碳排放不容小觑
光学可以解决问题吗?
数字电子计算机的改进使深度学习得以蓬勃发展。但这并不意味着进行神经网络计算的方法就是使用此类机器。几十年前,当数字计算机还相对原始时,一些工程师使用模拟计算机来解决困难的计算。随着数字电子技术的改进,那些模拟计算机被淘汰了。但现在可能是再次采用该策略的时候了,特别是当模拟计算可以通过光学方式完成时。
光纤可以支持比电线高得多的数据速率。如今光数据链路取代了铜线,光数据通信速度更快,功耗更低。
图四 光纤通信速度快,功耗低
光学计算具备同样的优势。但是通信数据和计算之间有很大的区别。这就是模拟光学方法遇到障碍的地方。传统计算机基于晶体管,晶体管是非线性的电路元件——它们的输出不仅与输入成正比,其非线性特性可以决定什么时候让晶体管打开和关闭,因此被塑造成逻辑门。但是光子遵循麦克斯韦方程,因此光学设备的输出通常与其输入成正比。
利用光学来做线性代数
为了说明如何做到这一点,我将在这里描述一个光子设备,当它与一些简单的模拟电子设备耦合时,可以将两个矩阵相乘。我和我的麻省理工学院同事发表了一篇相关的论文,我们现在正在努力构建这样一个光学矩阵乘法器。
图五 麻省理工学院提出的光学矩阵乘法器
该设备中的基本计算单元是一个分束器(BS,beam splitter)。从侧面向其中发送一束光,分束器将允许一半光直接穿过它,而另一半则从有角度的镜子反射,使其与入射光束成90度反弹.
现在将第二束光垂直于第一束光照射到该分束器中,使其照射到镜子的另一侧。该第二光束的一半将类似地以90度角透射和反射。两个输出光束将与第一个光束的两个输出组合。所以这个分束器BS有两个输入和两个输出。
要使用此设备进行矩阵乘法,需要生成两个光束,其电场强度x和y与要相乘的两个数字成正比。将这两束光照射到分束器中产生两个输出,其电场值为 (x + y)/√2 和 (x − y)/√2。
然后我们还需要两个简单的电子元件——光电探测器——来测量两个输出光束。他们测量光束的功率,该功率与其电场强度的平方成正比。你会得到 (x2 + 2xy + y2)/2 和 (x2 − 2xy + y2)/2 ,相减后得到 2xy ,是一个与两个数字的乘积成正比的信号。由此,我们可以构建一个输出信号与两个输入信号乘积成正比的光学计算单元。
光学计算如何节省能耗?
上述实验中的光束并不需要保持稳定。事实上,两个输入可以为脉冲光束,并且我们可以将输出信号馈送到电容器中,然后只要输入脉冲持续,电容就会积累电荷。这样的操作便实现了乘法累加运算。
以这种方式使用脉冲光可以快速顺序执行许多此类操作。其中最耗能的部分是读取该电容器上的电压,这需要一个模数转换器。但是你不必在每个脉冲之后都这样做——你可以等到一系列的结束,比如 N 个脉冲。这意味着该设备可以使用相同的能量执行 N 次乘法累加运算,以读取 N 是小还是大的答案。这里,N 对应于神经网络中每层的神经元数量,很容易达到数千个。所以这个策略消耗的能量很少。
我们也可以考虑在输入端节省能源。这是因为相同的值经常被用作多个神经元的输入。与其将这个数字多次转换为光——每次都消耗能量——它可以只转换一次,产生的光束可以分成许多通道。通过这种方式,输入转换的能源成本可以在许多操作中分摊。
其他光学计算相关工作
将一束光束分成多个通道不需要比透镜更复杂的事情,但将透镜放在芯片上可能很棘手。因此,我们正在开发的以光学方式执行神经网络计算的设备,很可能最终成为一种混合体,它将高度集成的光子芯片与单独的光学元件结合在一起。
我在这里概述了麻省理工一直在追求的策略,但还有其他类似的工作。另一个很有前景的方案是基于一种叫做马赫-曾德干涉仪(MZ干涉仪)的东西,它结合了两个分束器和两个全反射镜。它也可用于以光学方式进行矩阵乘法。两家麻省理工学院的初创公司 Lightmatter 和 Lightelligence 正在开发基于这种方法的光学神经网络加速器。 Lightmatter 已经构建了一个原型,该原型使用其制造的光学芯片。该公司预计将在今年晚些时候开始销售使用该芯片的光加速器板。
另一家使用光学进行计算的初创公司是 Optalysis,它希望复兴一个相当古老的概念。早在 1960 年代,光学计算的*用途之一就是处理合成孔径雷达(synthetic-aperture radar)数据。挑战的一个关键部分是将称为傅立叶变换的数学运算应用于测量数据。当时的数字计算机一直在努力解决这些问题。即使是现在,将傅立叶变换应用于大量数据也可能是计算密集型的。但是傅立叶变换可以在光学上进行,只需要一个镜头,这就是多年来工程师处理合成孔径数据的方式。Optalysis 希望将这种方法更新并更广泛地应用。
还有一家名为 Luminous 的公司,是从普林斯顿大学分拆出来的,该公司正致力于创建基于激光神经元的尖峰(spiking)神经网络。尖峰神经网络更接近地模仿生物神经网络的工作方式,并且像我们自己的大脑一样,能够使用很少的能量进行计算。 Luminous 的硬件仍处于开发的早期阶段,但结合两种节能方法(尖峰和光学)的承诺非常令人兴奋。
光学计算的现实挑战
当然,仍有许多技术挑战需要克服。一是提高模拟光学计算的精度和动态范围,这远不及数字电子设备所能达到的效果。这是因为这些光学处理器受到各种噪声源的影响,而且用于输入和输出数据的数模转换器和模数转换器精度有限。事实上,很难想象一个光学神经网络的运行精度超过 8 到 10 位。虽然存在 8 位电子深度学习硬件就是一个很好的例子),但这个行业需要更高的精度,尤其是神经网络训练。
将光学元件集成到芯片上也存在困难。由于这些组件的尺寸为数十微米,因此无法像晶体管一样紧密地封装,因此所需的芯片面积会迅速增加。麻省理工学院研究人员在 2017 年对这种方法的演示实现在一个边长为 1.5 毫米的芯片上,即使是最大的芯片也不大于几平方厘米,这限制了可以通过这种方式并行处理的矩阵大小。
图六 这张计算机渲染图为作者和他的同事为使用光执行神经网络计算而设计的光子芯片上的图案
光子具有将深度学习加速几个数量级的潜力
光子学研究人员倾向于在计算机架构方面解决许多其他问题。但很清楚的是,至少在理论上,光子学有可能将深度学习加速几个数量级。
基于当前可用于各种组件(光调制器、检测器、放大器、模数转换器)的技术,可以合理地认为神经网络计算的能源效率可以比当今的电子处理器高 1,000 倍。如果对新兴光学技术做出更激进的假设,这个因素可能高达一百万。而且由于电子处理器功率有限,这些能源效率的改进很可能会转化为相应的速度改进。
模拟光学计算中的许多概念已有数十年历史。有些甚至早于硅计算机。 1970 年代展示了光学矩阵乘法,甚至是光学神经网络的方案。但这种方法并没有流行起来。这次会有所不同吗?可能,出于三个原因。首先,深度学习现在真正有用,而不仅仅是学术上的好奇。其次,我们不能仅仅依靠摩尔定律来继续改进电子产品。最后,我们有了前几代人没有的新技术:集成光子学。这些因素表明,光神经网络这次将真正到来——而且这种计算的未来可能确实是光子的。
作者:
Ryan Hamerly 是 NTT Research 的高级科学家,也是麻省理工学院量子光子学实验室的访问科学家。
译者:
昕甬智测实验室隶属于宁波海尔新光电科技有限公司,专注于中远红外激光光谱检测技术(QCL/ICL+TDLAS),致力推动激光光谱技术的产业化应用,以激光之精,见世界之美。