文献阅读(1):fpgaConvNet

该文提出fpgaConvNet,一个针对FPGA的端到端框架,用于高效映射卷积神经网络。通过同步数据流(SDF)模型进行设计空间探索,优化包括Inception-based, residual, dense等各类神经网络的吞吐量、延迟和多目标标准。fpgaConvNet利用FPGA的可编程性和低功耗特性,实现卷积模型的自动化映射,包括图划分、折叠和权重重装等转换策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、简介

1.题目:

2.时间:

3.来源:

4.摘要:

5.论文主要贡献:

二、相关名词

三、相关背景知识

1.FPGA

2.卷积神经网络

3.同步数据流(SDF)

4.设计空间探索(DSE)

四、处理流程概述

1.用一组参数元组表示卷积模型,如卷积层表示方法:

2.用R表示目标fpga的资源预算:

3.使用SDFG表示ConvNets

4.fpgaConvNets架构空间设计中的四种类型转换

(1)graph partitioning with reconfiguration(带有重构的图划分)

(2)coarse-grained folding(粗粒度折叠)

(3)fine-grained folding(细粒度折叠)

(4)weights reloading(权重重装)

 


一、简介

1.题目:

fpgaConvNet: Mapping Regular and Irregular Convolutional Neural Networks on FPGAs

2.时间:

2019.02

3.来源:

IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS

4.摘要:

由于现如今的人工智能模型越来越大,参数量不断上升,如何低功耗、高性能的进行模型部署成为了重点关注方向。人工智能框架Caffe\Torch等运行在昂贵的GPU加速平台上,而另一选项ASIC芯片的功能在制造后功能固定,缺少灵活性。此时,FPGA由于其强大的计算能力、低功耗性、可定制性以及可重构性等成为了加速深度学习的可选平台。此文章提出的fpgaConvNet,是一种用于在fpga上优化卷积神经网络映射的端到端框架,实现了ConvNets在FPGA上的自动化映射。

5.论文主要贡献:

1.通过提出的SDF模型来形式化执行DSE任务。

2.生成的设计对于吞吐量、延迟以及多目标标准等都进行了优化。

3.是第一个针对三大神经网络(Inception-based, residual, and dense)通用的框架。


二、相关名词

FPGA:field-programmable gate array,现场可编程门阵列

ConVNets:convoluntional neural network,卷积神经网络

SDF:synchronous dataflow,同步数据流

DSE:design space exploration,设计空间探索

MOO:multiobjective optimization,多目标优化

DAG:directed acyclic graph,有向无环图


三、相关背景知识

1.FPGA

是一个可以通过编程来改变内部结构的芯片,作为专用集成电路(ASIC)领域中的一种半定制电路而出现的。FPGA功能实现:需要通过编程即设计硬件描述语言,经过EDA工具编译、综合、布局布线后转换为可烧录的文件,最后加载到FPGA器件中。主要应用于大数据量运算以及大数据并行通信。

2.卷积神经网络

CNN 是深度学习主要算法之一,其余还有DNN(深度神经网络)和RNN(循环神经网络等)。卷积神经网络模型一般分为特征提取(卷积层、非线性层、池化层)和分类(全连接层)两部分,其中特征提取部分计算量大,主导了ConvNets的计算成本。

3.同步数据流(SDF)

一种用于并行系统分析和设计的计算模型,硬件或软件计算系统被描述为有向图,称为同步数据流图(SDFG),节点代表计算,并用弧表示它们之间的数据流。

4.设计空间探索(DSE)

本文中DSE 任务为约束优化问题,目的是优化感兴趣的性能指标。通过 SDF 变换遍历设计空间,直到获得优化目标的设计点。


四、处理流程概述

1.用一组参数元组表示卷积模型,如卷积层表示方法:

<Kh , Kw, Sh , Sw, P, N>

 Kh 和 Kw 是filter的高度和宽度,Sh 和 Sw 是确定沿特征图高度和宽度的连续窗口之间的步幅,P是零填充,N是filter的个数

2.用R表示目标fpga的资源预算:

 Rfpga = {DSP, LUT, FF, BRAM}  FPAG包含的一组异构资源

Rmem = {Bmem,Cmem}   片外存储器的带宽和容量

R = Rfpga ∪ Rmem

3.使用SDFG表示ConvNets

将SDFG使用拓扑矩阵表示,并分解为S(streams matrix)、C(channels matrix)、R(rates matrix)做Hadamard乘积,并允许矩阵中包含实数。

4.fpgaConvNets架构空间设计中的四种类型转换

(1)graph partitioning with reconfiguration(带有重构的图划分)

将原始SDFG按深度分割为若干子图,每个子图都映射到一个独特的硬件架构,专门针对特定的子图进行优化,可以有效利用FPGA资源。在每个子图中,片上存储器用于存储权重和构建块之间的缓冲特征映射。此外,与片外存储器的通信被最小化,只包含子图的输入和输出流。此外,为了避免输入子图时都要重复配置整个fpga,采用将多个输入作为批处理的方式,这样重新配置的开销可以摊销。

 

(2)coarse-grained folding(粗粒度折叠)

(3)fine-grained folding(细粒度折叠)

(4)weights reloading(权重重装)

权重重新加载转换旨在解决两个问题:(1)提供一种执行多个子图的机制,而不会因FPGA重新配置而造成延迟惩罚;(2)启用具有超过FPGA片上内存容量的权重层的目标,这是通过输入特征映射折叠来处理的。类似于带重构的图划分,这种转换将给定的SDFG沿深度划分为几个子图。但是,不是为每个子图生成不同的体系结构,而是派生出一个单一的灵活的体系结构,可以通过在不同模式下操作来执行所有结果子图的工作负载。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值