Binary Neural Networks (BNNs) are increasingly preferred over full-precision Convolutional Neural Networks(CNNs) to reduce the memory and computational requirements of inference processing with minimal accuracy drop. BNNs convert CNN model parameters to 1-bit precision, allowing inference of BNNs to be processed with simple XNOR and bitcount operations. This makes BNNs amenable to hardware acceleration. Several photonic integrated circuits (PICs) based BNN accelerators have been proposed. Although these accelerators provide remarkably higher throughput and energy efficiency than their electronic counterparts, the utilized XNOR and bitcount circuits in these accelerators need to be further enhanced to improve their area, energy efficiency, and throughput. This paper aims to fulfill this need. For that, we invent a single-MRR-based optical XNOR gate (OXG). Moreover, we present a novel design of bitcount circuit which we refer to as Photo-Charge Accumulator (PCA). We employ multiple OXGs in a cascaded manner using dense wavelength division multiplexing (DWDM) and connect them to the PCA, to forge a novel Optical XNOR-Bitcount based Binary Neural Network Accelerator (OXBNN). Our evaluation for the inference of four modern BNNs indicates that OXBNN provides improvements of up to 62x and 7.6x in frames-per-second (FPS) and FPS/W (energy efficiency), respectively, on geometric mean over two PIC-based BNN accelerators from prior work. We developed a transaction-level, event-driven python-based simulator for evaluation of accelerators (https://github.com/uky-UCAT/B_ONN_SIM).
翻译:二值神经网络(BNN)因能以极低精度损失降低推理处理的内存和计算需求,正日益成为全精度卷积神经网络(CNN)的首选替代方案。BNN将CNN模型参数转换为1比特精度,使得BNN推理可通过简单的XNOR和比特计数操作实现,这使其适用于硬件加速。目前已有多款基于光子集成电路(PIC)的BNN加速器被提出。尽管这些加速器相比电子同类器件展现出显著更高的吞吐量和能效,但其采用的XNOR和比特计数电路仍需进一步优化以提升面积效率、能效和吞吐量。本文旨在满足这一需求。为此,我们发明了一种基于单微环谐振器(MRR)的光学XNOR门(OXG)。此外,我们提出了一种名为光电荷累加器(PCA)的新型比特计数电路设计。通过密集波分复用(DWDM)技术级联多个OXG并与PCA连接,我们构建了一种新型光学XNOR-比特计数二值神经网络加速器(OXBNN)。对四种现代BNN推理的评估表明,相比现有两种基于PIC的BNN加速器,OXBNN在几何平均上分别实现了高达62倍和7.6倍的帧率(FPS)和能效(FPS/W)提升。我们开发了一个基于事务级事件驱动的Python模拟器用于加速器评估(https://github.com/uky-UCAT/B_ONN_SIM)。