如何通过DLP FPGA实现低延时高性能的深度学习处理器设计呢?

描述

图像识别和分析对于产品创新至关重要,但需要高工作负载,对服务质量要求严格。解决方案如GPU无法满足低延迟和高性能要求。DLP FPGA是一种可行的选择,本文将探讨如何实现这种技术。

图像识别和分析在各种产品创新中具有重要作用。然而,这些应用通常涉及高工作负载,对服务质量有严格要求。目前的解决方案,如GPU,无法同时兼顾低延迟和高性能要求。

为了在应用深度学习的同时提供良好的用户体验,可以在FPGA上架构一个超低延迟和高性能的DLP(深度学习处理器)。

DLP FPGA可以同时支持稀疏卷积和低精度数据计算,同时定义了一个定制的ISA(指令集架构),以满足对灵活性和用户体验的要求。使用Resnet18(稀疏内核)的延迟测试结果显示,FPGA的延迟只有0.174ms。

在本文中,我们将简要讨论如何通过新的DLP FPGA实现这样的结果。

1 架构

新开发的DLP有4种模块,根据其功能进行分类:

计算:卷积、批量归一化、激活和其他计算

数据路径:数据存储、移动和重塑

参数:存储权重和其他参数,解码

指令:指令单元和全局控制

处理器

DLP中的Protocal Engine(PE)可以支持:

Int4数据类型输入。

Int32数据类型输出。

Int16量化

这种PE能提供超过90%的效率。此外,DLP的重量加载支持CSR解码器和数据预取。

2 训练

需要重新训练来开发一个高精确度的模型。下面有4个主要步骤来获得稀疏权重和低精度数据特征图。

处理器

我们用一种有效的方法将Resnet18模型训练到稀疏和低精度(1707.09870)。我们方法中的关键部分是离散化。我们专注于压缩和加速深度模型,其网络权重由非常小的比特数表示,被称为极低比特神经网络。然后我们将这个问题建模为一个离散约束的优化问题。

借用乘法交替方向法(ADMM)的思想,我们将连续参数与网络的离散约束解耦,并将原来的硬问题铸成几个子问题。我们建议使用梯度外算法和迭代量化算法来解决这些子问题,与传统的优化方法相比,这些算法会导致更快的收敛。

在图像识别和物体检测方面的大量实验证明,当涉及到极低比特的神经网络时,所提出的算法比最先进的方法更有效。

3 ISA/编译器

如前所述,对于大多数在线服务和使用场景,仅有低延迟是不够的,因为算法模型会经常变化。正如我们所知,FPGA的开发周期非常长;通常需要几周或几个月的时间来完成一个定制的设计。为了解决这一挑战,我们设计了工业标准架构(ISA)和编译器,以减少模型升级的时间,使之仅为几分钟。

处理器

SW-HW共同开发平台由以下项目组成:

编译器:模型图分析和指令生成。

API/驱动:CPU-FPGA DMA图片重塑,重量压缩。

ISA控制器:指令解码、任务调度、多线程流水线管理。

4 硬件卡

DLP是在FPGA卡上实现的,它有PCIe和DDR4内存。DLP与该FPGA卡相结合,可以使在线图片搜索等应用场景更高效用户体验更好。

5 结果

处理器

使用Resnet18的FPGA测试结果表明,我们的设计实现了超低水平的延迟,同时在低于70W的芯片功率下保持了非常高的性能。

处理器










审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分