在全连接层中进行批量数据并行执行
在全连接网络中,为了增加并发性并减少权重的负载,可以同时处理一批图像(来自多个视频通道),如图11-31所示。
图11-31 增加并发性并减少权重的负载,可以同时处理一批图像
11.2.6 特征缓存
在流处理中,对输入和结果使用双缓冲区。对于下一次循环,只需切换这些缓冲区的使用(使用输入缓冲区作为输出,反之亦然),这就避免了需要将数据保存到芯片外存储器中,如图11-32所示。
图11-32 在流处理中,对输入和结果使用双缓冲区
11.2.7 滤波器缓存
可以使用双缓冲区,其中一个缓冲区存储当前卷积的权重,而另一个缓冲区用于预取下一个卷积的权重,以提高并发性,如图11-33所示。
图11-33 一个缓冲区存储权重,而另一个缓冲区预取下一个权重,以提高并发性
11.2.8 低精度
作为AI硬件设计的普遍趋势,供应商正在探索在推理中使用具有相同范围覆盖的低精度数据,例如下面的FP11将具有FP16相同的范围,但由于尾数较小,精度较低。在FPGA中用于推理的数据类型是可配置的,并且FPGA在创建不同数据大小的算术电路方面提供了很大的灵活性。如图11-34所示。
图11-34 FPGA中用于推理的数据类型是可配置的
11.3 详解FPGA AI算力芯片(下)
11.3.1 英特尔Stratix 10 NX FPGA(用于AI推理)
英特尔Stratix 10 NX FPGA是专门为AI设计的,具有AI张量块。这些块包含密集的低精度乘法器阵列,针对矩阵和向量乘法进行了调整,可执行INT4、INT8、Block FP12或Block FP16操作。此外,这些张量块可以级联在一起,支持大型矩阵。如图11-35所示。
图11-35 英特尔Stratix 10 NX FPGA是专门为AI设计的,具有AI张量块
AI张量块包含30个乘法器和30个累加器,而不是DSP块中的两个。此FPGA还包括集成的HBM2存储器和高速收发器。