用光子构建高性能AI计算架构
以下文章来源于爱光学 ,作者有理想
浙江大学杨建义教授课题组在《激光与光电子学进展》发表的综述“光学神经网络及其应用”被选为60卷第6期的封面文章。论文详细介绍了光学神经网络(PNN)中关键光子器件的工作原理和特点,并汇总分析了PNN系统的架构特征与应用场景,最后讨论了PNN在系统实现上所面临的挑战及未来发展趋势。
封面解读:本封面展示了一种基于片上集成芯片的光学神经网络架构,多输入多输出的模拟光计算发挥了高通量、高速、低延时的优势,实现了“传输即计算”,可广泛应用于图像识别、音视频解码、光通信解调等领域。
研究背景
不同架构的人工神经网络(ANN)算法由多种基本计算单元通过多样的连接方式组合而成,其中最常用的基本算子有矩阵-向量乘的线性矩阵计算、卷积计算、非线性激活函数、池化等等。光学神经网络的提出,目标在于:用光子作为物理载体构建ANN算法中的基本计算单元,充分发挥其高速、低功耗、低延时、高通量等特点,从而实现高性能的AI计算架构,并将其应用于实际问题的解决。
本文将从面向光学神经网络的关键光子器件、系统架构与应用两方面进行梳理,跟踪国内外研究进展,分析光学神经网系统实现中所面临的挑战及其发展趋势。
线性矩阵计算的研究现状和发展趋势
线性矩阵计算作为ANN的基本算子,占据了大部分的计算任务。例如对于GoogleNet和OverFeat模型来说,线性矩阵计算的计算量超过了80%。因而,提高线性矩阵计算的性能是新型AI计算硬件架构的必要需求之一。相较于电子架构,光学线性矩阵计算在计算速度、信号延时、计算密度和功耗等方面展示了更大优势。
图1 基于(a)空间光结构、(b)片上相干原理和(c)WDM技术的光学线性矩阵计算
光学线性矩阵计算主要是为了实现矩阵-向量乘法,即Y=W×X,如图1所示。其中,W 为权重矩阵,X 为输入向量,Y 为输出向量。按照其工作原理和实现方式,主要可以分为三类:(1)基于空间光结构的光学线性矩阵计算;(2)基于片上相干原理的光学线性矩阵计算;(3)基于波分复用(WDM)技术的光学线性矩阵计算。
表1 不同光学线性矩阵计算实现方式的对比
论文对这三类实现方式进行了详细综述。在这里,简单比较与分析了这三类实现方式,如表1所示。
基于空间光结构的光学线性矩阵计算充分利用其光学三维互连能力,发挥了光在自由空间中的高度并行性,进而通过不同的空间介质实现对光场的幅度和相位调制。但这一类实现方式也存在着构成元件加工精度限制、不易集成、部分方案不可编程控制等问题,并在成本和电子CMOS(如内存存储、带宽等)的协同上面临着巨大挑战。
基于片上相干原理和WDM技术的架构方案具有可高度集成、可编程控制、硬件可拓展和可重构等特点。基于片上相干原理的光学线性矩阵计算依赖于矩阵分解,其误差会随着MZI拓扑级联而累积,且在大规模集成拓展中受到晶圆尺寸的限制。
另外,基于WDM的架构方案可以实现光学物理单元和权重矩阵元素、输入向量元素之间的一一对应,对算法辅助的依赖较低。但是,其在控制和配置上需要光学物理单元的多波长对齐,这使得该架构在大规模拓展时控制难度急剧增加。
正是由于不同实现方式的架构均存在各自的优缺点,当前光神经网络的技术路线百花齐放。
非线性激活器的研究现状和发展趋势
对于不含任何非线性激活函数的ANN来说,即使物理上存在着多层线性变换,由于多个线性矩阵乘的结果仍是单一的矩阵,其有效的计算也只等价于单层。为了让ANN具备完善的计算和信号处理能力,非线性函数是其中不可缺少的基本算子。为了实现全光神经网络,非线性激活器的光学实现同样必不可少。
然而,在目前报道的光学神经网络架构研究中,非线性函数通常是在电上实现,如CPU或DSP上,这需要额外引入数模/模数转换器件、光电/电光转换器件以及其他外围驱动电路等等,无疑会增加系统的复杂度、时延以及功耗。因此,如何实现低功耗、低非线性产生阈值、高响应速率的片上集成、全光非线性激活器,成为了光学神经网络研究中极具挑战的问题之一。
图2 基于光-电-光转换的光学非线性激活器
图3 全光非线性激活器
系统架构与应用的研究现状和发展趋势
图4 光学神经网络系统的完整设计流程
本文进一步梳理了光学神经网络系统的完整设计流程,如图4所示。光学神经网络系统的设计与实现,覆盖了底层的光学元器件、光学大规模阵列架构、光电混合或全光系统架构、软硬件协同乃至目标应用场景的全流程设计与实现。
按照从应用层出发,逐渐延展至物理层的设计逻辑,其自上而下可分为目标应用确定、数据集标定、网络参数训练与性能评估、硬件参数确定与性能评估、硬件架构设计、基本光学算子实现这六个方面。其中,每一方面所需考虑的要素都整理并归纳于图4中,可为后续光神经网络系统的设计与实现提供方法论上的指导。
光学神经网络作为一种新型的AI计算硬件架构,其应用场景也正在从图像领域逐渐拓展到更广泛的领域中去,如图5所示。其中,图5(a)-(e)展示了光学神经网络在图像领域中的一些典型应用,围绕图像的处理和识别,分别为MNIST手写数字识别、图像边缘检测、鸢尾花(Iris)识别、图像非线性分类、医疗图像恢复。另外,图5(f)-(i)也展示了光学神经网络在元音识别、轨道角动量(OAM)的复用和解复用、光学逻辑门计算以及光纤的非线性补偿中的应用。这些应用充分展示并验证了:当前不断涌现的光学神经网络架构在人工智能的特定应用上,其处理速度能达到数量级的提升,同时也在计算功耗上带来数量级的降低。
图5 光学神经网络的典型应用。包括(a)-(e)图像处理和图像识别;(f)元音识别;(g)OAM的复用与解复用;(h)逻辑门运算;(i)光纤非线性补偿
存在的问题
尽管如此,目前已报道的光计算及光神经网络系统大多仍以光电混合框架的形式存在。而在综合评估光电混合的计算架构性能时,其整机系统在处理速度、功耗、计算量等性能参数上,相较于理想的全光计算架构来说,均有所下降。因此,无论学术界还是工业界仍长期致力于研究并制备出全光的计算系统,以充分发挥光传输所具备的高通量、低延迟、低能耗等优势,为新型的高性能计算硬件处理器提供高速、可靠、可行、灵活的方案。而对于光计算以及光神经网络系统来说,全光架构仍面临着巨大挑战,也存在着诸多待解决的问题,比如:如何实现低功耗、低非线性产生阈值、高响应速度的片上集成全光非线性计算单元;如何在模拟的全光计算中实现高精度数值控制;如何将不同功能的光学算子集成到单芯片中;如何在芯片中实现低功耗、灵活可重构的高速光学算子等等。
总结与展望
光神经网络已成为光电子学、微电子学、数学、算法以及计算机系统等深度融合的交叉学科研究方向,其主要研究内容包括了光计算及光神经网络的架构创新、关键光学算子(如光学线性矩阵计算、光学卷积、光学非线性激活等)的实现、片上训练、物理层适配的光计算算法革新、系统应用探索以及相关软件与生态构建等等。对于模拟运算的光计算及光神经网络来说,其天然存在着系统噪声,在精度上存在物理器件的限制,如何在低精度和噪声累积的条件下实现高准确率的计算成为挑战。同时,在探索具有高性能的光电混合计算硬件系统或全光计算硬件系统的架构创新上,两者需并驾齐驱。另外,针对系统的实际能效提升,需在同一种应用下用统一维度对光电系统进行公平的能效对比。随着交叉学科中不同领域研究者的共同努力,相信光计算及光神经网络在未来能实现更为广泛的应用。