【嘉德点评】地平线发明的卷积处理引擎及控制方法,采用多个缓冲存储器串联的方式进行数据的传输,能有效降低AI芯片的硬件设计复杂度和成本以及提高芯片的处理效率。
集微网消息,早在2017年,在“AI芯时代”发布会上,地平线就发布了中国首款全球领先的嵌入式人工智能芯片面向智能驾驶的征程(Journey)1.0处理器和面向智能摄像头的旭日(Sunrise)1.0处理器,同步发布的还有针对智能驾驶、智能城市和智能商业三大应用场景的人工智能解决方案。
地平线发布的“旭日 1.0”和“征程 1.0”是完全由地平线自主研发的人工智能芯片,具有全球领先的性能。我们知道,人工智能芯片及其使用的卷积神经网络算法已经成功地应用于图像处理、自动驾驶等诸多领域。
随着应用需求的不断发展,卷积神经网络中涉及的乘加运算的运算量越来越多,对于用于卷积神经网络运算的卷积神经网络加速器的处理性能也提出越来越高的要求。但是,随着数据量和运算量的增加,卷积神经网络加速器消耗在存取数据上的时间急剧增加,并且在很多情况下成为制约卷积神经网络加速器的处理性能的主要因素之一。
因此, 为实现AI芯片的高性能,地平线在18年11月6日申请了一项名为“卷积处理引擎及控制方法和相应的卷积神经网络加速器”的发明专利(申请号:201811323140.7),申请人为地平线(上海)人工智能技术有限公司。
根据该专利目前公开的资料,让我们一起来看看地平线的这项AI芯片技术吧。
如上图,为该专利中发明的卷积处理引擎示意图,为了提高卷积处理引擎的处理效率,该方案在卷积处理引擎中设置了多个高速缓冲存储器(C1-Cn):用于缓存输入数据的输入高速缓冲存储器和用于缓存输出数据的输出高速缓冲存储器。
并且这些缓冲存储器两两之间相互耦合,如下图所示,例如C1的输出端藕接到高速缓冲存储器C2的输入端,串联在最开始位置处的存储器C1将接收和缓存来自于卷积处理引擎外部的数据,并且最末尾的存储器将缓存的数据传送到引擎的外部,也就是运算后的结果数据。
这样尽管有多个缓冲器,但是与外部数据进行交换的始终只有两个,从而保证了数据的安全性以及简化了芯片内部结构的设计。而与存储器配合的是运算电路OC,运算电路中的乘法累加器阵列可以耦合到每个高速缓冲存储器的输入端,连接方式有直接互连和间接互连两种。
如上图,为该卷积处理引擎中的运算电路OC的结构示意图,可以看到高速缓冲存储器布置在其最顶部,通过共同的交叉开关或者单独的交叉开关耦接到高速缓冲存储器的输出段。
值得一提的是,该专利发明的卷积处理引擎CE,不需要针对运算电路OC分别设置输入和输出高速缓冲存储器,只有一个存储器接收外部数据,也仅有一个存储器向外输出数据。因此,这种设计方案能够简化每个存储器与处理引擎中其他部件之间的连线,同时简化了数据传输的控制逻辑,从而能够极大地降低硬件设置的复杂度和软件控制复杂度,并且有利于降低功耗。
下面我们再来看看上面这种处理引擎在整个AI芯片中的整体布置示意图。
可以看到,卷积神经网络加速器包括两个片外存储器DDR1和DDR2以及四个卷积处理引擎CE1-CE4。每个卷积处理引擎包括运算电路、单独的用于缓存运算参数的高速缓冲存储器以及三个串联在一起的高速缓冲存储器,其中高速缓冲存储器的输入端还耦合到高速缓冲存储器的输出端。
另外,交叉开关CB跨越四个卷积处理引擎,因此能够被每个卷积处理引擎中的串联的三个缓冲存储器所共用,这样的配置可以允许一个卷积处理器引擎使用另一个卷积处理器引擎的高速缓冲存储器。
最后,我们再来看看可以用于控制上述这种硬件结构中卷积处理引擎的方法,首先可以确定待处理的卷积神经网络中连续的两层中串联在一起的高速缓冲存储器的对应关系,也就是确定每层的输入特征数与高速缓冲存储器之间的对应关系。
其次,可以从卷积处理引擎外部接收输入特征数据并存储到高速缓冲存储器的对应部分中,最后在执行操作中,控制卷积处理引擎中的运算电路执行第一操作。
以上就是地平线发明的卷积处理引擎及控制方法,这种卷积处理引擎采用多个缓冲存储器串联的方式进行数据的传输,每层中获得的特征数据可以存储在对应高速缓冲存储器的对应部分。因此,这样的设计方案可以以很低的硬件设计复杂度、控制复杂度、成本以及功耗来高效率地实现卷积运算。
(校对/holly)
- 上一篇: 11位科幻作家参与,首次AI人机共创写作实验启动
- 下一篇: AI数字人,给直播行业开拓新的流量场域