其他
【强基固本】DNN加速器性能分析
“强基固本,行稳致远”,科学研究离不开理论基础,人工智能学科更是需要数学、物理、神经科学等基础学科提供有力支撑,为了紧扣时代脉搏,我们推出“强基固本”专栏,讲解AI领域的基础知识,为你的科研学习提供助力,夯实理论基础,提升原始创新能力,敬请关注。
地址:https://www.zhihu.com/people/he-yu-kun-10
01
定义
影响因素分析
02
定义
影响因素分析
03
定义
影响因素分析
04
定义
影响因素分析
加速器器件的开销。
维持运行的开销:包括冷却系统、供电费用等。
设计开发的开销:占据开销分析的主要部分,决定了设计是否具有商业可行性(能否盈利),需考虑更细致的因素,如市场的体量。
芯片面积:直接相关。
片外存储带宽:决定了片外存储的数量、复杂程度、器件工艺等开销相关因素。
分析方法:
开销和吞吐量/能效的tradeoff。
05
定义
可支持不同模型的功能
不同模型中硬件仍要维持同一量级的性能(high throughput等)。
影响因素分析
和性能之间的tradeoff
和开销之间的tradeoff
日益增加的重要性:减轻部署不同模型的重复开发负担
施加不同的模型,分别记录加速器的运行效率 同一种模型的不同架构,例如不同量化精度和稀疏网络结构的使用。 同一种网络层的不同配置参数,例如卷积核的尺寸。
06
定义
影响因素分析
理想情况下性能随着PE的数量线性等比例地缩放。 问题尺寸不变,资源缩放可以带来性能缩放。 问题尺寸变化,同样也要求缩放带来性能的控制。 为了分析scalability,需要分别统计系统在不同PE和存储大小下的性能。
07
定义
影响因素分析
08
Metrics for DNN Algorithm Accuracy:表现性能 。 Network Architecture:包括层数、卷积核尺寸和数量、特征图尺寸等 。 Number of Weights:非零权重 。 Number of MACs:非零乘法累加操作 。 Metrics for DNN Hardware Energy Efficiency:pJ每非零计算。 External Memory Bandwidth:DRAM访问每非零计算。 Area Efficiency:芯片面积,需考虑片上存储. MACs-based energy and DRAM accessing:考虑非零MACs相关的能量和内存访问情况,同样需考虑权重和激活函数稀疏性带来的影响。 不同器件考量: ASICs vs FPGA:采用不同指标分析,例如面积能效比、LUTs、DSP数量等。
09
定义
operational intensity: 计算强度,每字节DRAM搬移可进行的运算操作,定义为 。 表示了三者的关系:浮点性能,计算强度,内存性能 X-axis:计算强度,单位GFlops/byte,对数轴。 Y-axis:可达到的最大性能,单位GFlops/sec,对数轴,其定义为:
分析方法
根据系统峰值计算性能,绘制水平区域(flat part)。 根据内存带宽确定斜率,以及对应计算强度下的计算性能点,绘制45度倾斜区域(slanted part)。 形成的封闭区域的下方即为整个系统可能处于的性能区域。 优化方向确认: 计算性能瓶颈:确定若干种可能的计算性能瓶颈和优化手段,依次绘制不同的水平区域,如原文中下图(a)所示。 带宽瓶颈:确定若干种可能的带宽性能瓶颈和优化手段,依次绘制倾斜区域,如原文中图(b)所示。 联合两种瓶颈,考察系统所处于的区域,如图(c)。当系统处于黄色区域(峰值计算性能瓶颈),因此仅考虑带宽优化,即向左上方移动;蓝色区域(带宽性能瓶颈),仅考虑采用更多计算性能优化手段,即向上移动;而无任何限制的绿色区域即可同时使用两种手段。
10
网络参数:输入输出维度、所需的操作类型。 硬件架构描述:计算单元、硬件结构、内存的访问方式、带宽、内部拓扑连接结构等 映射约束:使用了mapspace contraints的一种数据流约束概念来描述。
数据分块:建立层级式的数据分块,用于描述数据块的访问和传输方式,并测量传输代价。 硬件单元:根据步骤1中的数据分块模式导出硬件单元的访问模式和代价。 能耗和面积:选择能耗和面积评估模型,并实施于当前的映射结构完成估算。
11
Accuracy: 网络的准确率,表明完成给定任务的质量。 Throughput:给定时间内处理的数据总量,和有效操作占比有关。 Power Consumption and Energy Efficiency:在给定能量下可以处理的数据总量,除有效操作外,需考虑内存访问、重复数据等产生的无效功耗。 Cost:构建一个加速器系统的全部开销,除器件本身外还需考虑宏观开销。 Flexibility:DNN处理器可以支持的DNN模型范围。 Scalability:支持简单地增加资源来获得更好的性能。 Sparse Operations:用于衡量网络中有效权重的占比。
Roofline Model:用于对处理器性能和片外存储访问效率的关系进行性能瓶颈分析。 Timeloop:可完成最优化模型结构搜索,并对功耗性能评价建模评估。
参考文献
本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。
“强基固本”历史文章
如何通俗易懂地让女朋友明白什么是语言模型?
深度学习从入门到放飞自我:完全解析triplet loss
卡尔曼滤波器
Reinforcement learning入门:从马尔可夫,动态规划到强化学习
算法工程师应该了解的浮点数知识
神经网络量化简介
样本量极少如何机器学习?Few-Shot Learning概述
我们真的需要深度图神经网络吗?
深度强化学习(Deep Reinforcement Learning)入门
伪标签(Pseudo-Labelling)——锋利的匕首
基础算法:使用numpy实现逻辑回归随机梯度下降(附代码)
脉冲神经网络(SNN)
分享、点赞、在看,给个三连击呗!