各种机器学习ML型号有许多硬件加速器。以机智,瑞萨提出了基于三元SRAM的系统,以加速卷积 - 神经网络(CNN)计算。CNN是一类深神经网络(DNN)模型的机器学习类。
ML的挑战之一是移动输入和输出数据以及计算中涉及的权重。已经使用了各种方法来优化数据移动。例如,Flex Logix的NMAX保持当地记忆中的重量。
三进制方法使用两个单位存储单元将1.5位信息编码为-1、0或1(图。1)。处理内存(PIM)方法利用三元值。
1.瑞萨的硬件可以利用三元存储单元,存储值为-1、0或1。
基本的三元存储可以组合成多位解。块可以组合为不同的精度,允许用户优化精度和功耗之间的平衡(图2)。
2.硬件可以将三元计算组合成多BiBIT操作。
传统存储器使用模数转换器(ADC)读取内容。这是一种强大的方法,但它需要ADC和电源的空间。瑞萨组合了一个带有副本单元的1位读出放大器比较器,其中可以灵活地控制电流以开发高精度内存数据读出电路(图3)。在检测到MAC结果等于零时,开发了“零检测器”以停止比较器的操作。
3.在检测到MAC结果等于零时,开发了“零检测器”以停止比较器的操作。
这种策略利用了一个事实,即被神经网络操作激活的节点(神经元)数量非常少,约1%,并且通过停止未被激活的节点(神经元)的读出电路的操作,实现更低的功率操作。因此,在保持精度的同时,功率显著降低。
不使用ADC的一个缺点是存储不起作用。部分问题源于芯片制造过程中的过程变化。瑞萨实现了多个SRAM计算块,其具有最小的制造变化,以解决由于制造变化而导致的计算误差(图4)。通常,只将激活少量所有节点。节点被选择性地分配给SRAM计算电路块,其具有最小的制造过程变化以执行计算。这允许将计算错误减少到基本上可以忽略的级别。
4.具有最小制造变化的多个SRAM计算块被实现为因这些变化而导致的计算误差。
瑞萨工程师创建了一个芯片来展示三元PIM方法(图5)。12-NM技术芯片包含四个集群,每个群体包含PIM和逻辑以及传统的SRAM存储。每个群集都可以独立运行;因此,系统能够一次管理多达四个CNN模型。芯片最多可处理128个CNN层。PIM存储是4.74 MB,SRAM存储12.58 MB。1-W芯片可以提供8.8顶部。
瑞萨工程师创建了一个芯片,以展示具有四个集群的三元PIM方法。每个群集都可以在不同的ML模型上运行。
芯片已被用于执行许多模型,包括识别手写字符的模型。它保持了超过99%的识别准确性。该芯片只是一种原型,但它强调了ML加速的不同方法如何提供更高的性能,同时降低电源要求。