集微网 · 2021年05月10日

【专利解密】赛灵思神经网络加速库 实现FPGA高效深度学习运算

【嘉勤点评】赛灵思发明的用于神经网络加速的机器学习运行库,在主机中配置了专门用于神经网络训练的运行库,以在库中将任务进行分组,并行地交由FPGA处理器进行运算,由此实现了高效率的神经网络计算

集微网消息,不久前,AMD和FPGA大厂赛灵思的股东以压倒性多数批准AMD以350亿美元收购赛灵思,这则消息引起了无数“电子人”的关注,要知道,这将是目前芯片行业最大规模的交易之一,上一回还要追溯到英伟达收购ARM。

在电子行业,赛灵思的FPGA芯片一直被行业所推崇,而随着机器学习、深度学习的兴起,也有许多研究者开始将这些智能算法应用在FPGA芯片上。

机器学习是使计算系统无需明确编程即可采取行动的科学,传统机器学习包括各种聚类和分类技术,包括K-means聚类、线性和逻辑回归、随机梯度下降、关联规则学习等。而深度学习则是机器学习中较为前沿的内容,通常依赖于人工神经网络来实现。人工神经网络(CNN)非常适合处理图像或视频数据,其衍生以及变体网络,例如DNN、RNN等,也非常适合处理语音和文本数据。

为了能在FPGA上执行神经网络任务,以达到和GPU中相同的运行效率,就需要提高FPGA的利用率以及提高针对于神经网络的运行效率,这样才能提高神经网络应用在FPGA上的性能。然而,就目前的技术而言,还缺少充分利用FPGA性能进行人工智能算法运算的技术。

为此,赛灵思在18年9月26日申请了一项名为“用于神经网络加速的机器学习运行时库”的发明专利(申请号:201880067685.8),申请人为赛灵思公司。

根据目前该专利公开的相关资料,让我们一起来看看这项用于神经网络加速的机器学习运行库方案吧。

image

如上图,为该专利中发明的用于使神经网络加速器与神经网络应用结合的系统,该系统主要包括主机105和FPGA 150,主机包括处理器110和存储器115,在存储器中配置有神经网络应用120,用于处理存储在存储器中或者来自外部的数据。例如,主机可以与门户网站相耦合,门户网站接收用户提交的图像,然后交由神经网络处理。

而在FPGA中,存储器中的神经网络也可以耦合于其中的神经网络加速器165,以改善神经网络的性能。神经网络通常包含多个网络层,不同层有不同的操作运算,可以通过FPGA对网络的性能进行改善,而不是仅仅依赖于处理器。

此外,在主机中配置有另一个重要的模块:神经网络库130,其可以提供将神经网络应用通信地耦合到神经网络加速器的方法和操作,库中存储器映射140和流水线式阶段135。存储器映射将神经网络应用分配的存储器块映射到FPGA中,为FPGA运算提供数据;流水线式阶段对要由神经网络加速器完成的任务进行提交,以此并行处理不同阶段的多个任务。

image

如上图,为用于流水线化从神经网络应用接收的任务以用于在神经网络加速器中执行的流程图,首先,由主机中的库从神经网络应用中接收新任务,库中的存储器映射存储指针将主机中分配的存储器子块映射到执行神经网络加速器的FPGA中的对应存储器块。因此,存储器映射可以使分配给神经网络应用的主机中的存储器与分配给神经网络加速的FPGA中的存储器同步。

其次,库生成第一数据分组,包含由流水线式阶段用于执行任务的信息,库使用与流水线中的每个阶段相对应的线程来处理第一数据分组。也就是说,因为分组是独立的,所以流水线可以并行地处理来自于不同数据源的分组,通过不同的分组并行地计算任务,由此可以实现神经网络加速的目的。

以上就是赛灵思发明的用于神经网络加速的机器学习运行库,该方案在主机中配置了专门用于神经网络训练的运行库,以在库中将任务进行分组,并行地交由FPGA处理器进行运算,相比于传统未分块、分组的数据传输方式,这种方案无疑较好的实现了高效率的神经网络计算。

关于嘉勤

image

深圳市嘉勤知识产权代理有限公司由曾在华为等世界500强企业工作多年的知识产权专家、律师、专利代理人组成,熟悉中欧美知识产权法律理论和实务,在全球知识产权申请、布局、诉讼、许可谈判、交易、运营、标准专利协同创造、专利池建设、展会知识产权、跨境电商知识产权、知识产权海关保护等方面拥有丰富的经验。

(校对/holly)

推荐阅读
关注数
12686
内容数
1029
从专利出发,浅析一切关于柔性屏、折叠屏、10倍光学变焦技术等有趣的前沿技术
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息