当前位置:首页 > 智能硬件 > 人工智能AI
[导读]    对于内存而言,辨别内存带宽是一件相当简单的事情,因为SDRAM、DDR、RDRAM这三种内存在外观上有着很大的差别,唯一需要去辨认的便是不同频率的DDR内存。  

   对于内存而言,辨别内存带宽是一件相当简单的事情,因为SDRAM、DDR、RDRAM这三种内存在外观上有着很大的差别,唯一需要去辨认的便是不同频率的DDR内存。

      随着深度学习的不断发展,计算能力得到了深度学习社区越来越多的注意。任何深度学习模型,归根到底都是需要跑在设备上的,而模型对设备性能的要求越低,则能得到越多的运用——千万不能让硬件成为模型普及的瓶颈!

  说到模型对于硬件的要求,大家第一个想到的就是计算量,即一个深度学习模型需要多少次计算才能完成一次前馈。然而,除了运算量之外,模型对于内存带宽的需求也是影响实际计算所需要时间的重要参数。我们下面会看到,在内存带宽有限的情况下,仅仅缩小计算量并不能让计算时间等比例下降!

  内存带宽对于硬件系统的性能影响如上图所示。如果把内存比做瓶子,运算单元比作杯子,那么数据就是瓶子里的各色颗粒,而内存接口就是瓶口,通过瓶口数据才能进入杯子被消费(处理)掉。而内存带宽就是瓶口的宽度了。瓶口宽度越窄,则数据需要越多时间才能进入杯子(处理单元)。正所谓「巧妇难为无米之炊」,如果带宽有限,那么即使处理单元无限快,在大多数时候也是处理单元在空等数据,造成了计算力的浪费。

  深度学习网络与 Roofline 模型

  对于工程师来说,定性分析并不够,我们还需要能定量分析算法对于内存带宽的需求,以及对于计算性能的影响。

  算法对于内存带宽的需求通常使用「运算强度 (operaTIonal intensity,或称 arithmeTIc intensity)」这个量来表示,单位是 OPs/byte。这个量的意思是,在算法中平均每读入单位数据,能支持多少次运算操作。运算强度越大,则表示单位数据能支持更多次运算,也就是说算法对于内存带宽的要求越低。所以,运算强度大是好事!

  我们来举一个例子。对于步长(stride)为 1 的 3x3 卷积运算,假设输入数据平面大小为 64x64。简单起见,假设输入和输出 feature 都为 1。这时候,总共需要进行 62x62 次卷积运算,每次卷积需要做 3x3=9 次乘加运算,所以总共的计算次数为 34596,而数据量为(假设数据和卷积核都用单精度浮点数 2byte):64x64x2(输入数据)+ 3x3x2(卷积核数据)= 8210 byte,所以运算强度为 34596/8210=4.21。如果我们换成 1x1 卷积,那么总的计算次数变成了 64x64=4096,而所需的数据量为 64x64x2 + 1x1x2=8194。显然,切换为 1x1 卷积可以把计算量降低接近 9 倍,但是运算强度也降低为 0.5,即对于内存带宽的需求也上升了接近 9 倍。因此,如果内存带宽无法满足 1x1 卷积计算,那么切换成 1x1 卷积计算虽然降低了接近 9 倍计算量,但是无法把计算速度提升 9 倍。

  这里,我们可以看到,深度学习计算设备存在两个瓶颈,一个是处理器计算能力,另一个是计算带宽。如何分析究竟是哪一个限制了计算性能呢?可以使用 Roofline 模型。

  典型的 Roofline 曲线模型如上图所示,坐标轴分别是计算性能(纵轴)和算法的运算强度(横轴)。Roofline 曲线分成了两部分:左边的上升区,以及右边的饱和区。当算法的运算强度较小时,曲线处于上升区,即计算性能实际被内存带宽所限制,有很多计算处理单元是闲置的。随着算法运算强度上升,即在相同数量的数据下算法可以完成更多运算,于是闲置的运算单元越来越少,这时候计算性能就会上升。然后,随着运算强度越来越高,闲置的计算单元越来越少,最后所有计算单元都被用上了,Roofline 曲线就进入了饱和区,此时运算强度再变大也没有更多的计算单元可用了,于是计算性能不再上升,或者说计算性能遇到了由计算能力(而非内存带宽)决定的「屋顶」(roof)。拿之前 3x3 和 1x1 卷积的例子来说,3x3 卷积可能在 roofline 曲线右边的饱和区,而 1x1 卷积由于运算强度下降,有可能到了 roofline 左边的上升区,这样 1x1 卷积在计算时的计算性能就会下降无法到达峰值性能。虽然 1x1 卷积的计算量下降了接近 9 倍,但是由于计算性能下降,因此实际的计算时间并不是 3x3 卷积的九分之一。

  显然,一个计算系统的内存带宽如果很宽,则算法不需要运算强度很大也能轻易碰到计算能力上限决定的「屋顶」。在下图中,计算能力不变,而随着内存带宽的上升,达到计算力屋顶所需的运算强度也越低。

  Roofline 模型在算法-硬件协同设计中非常有用,可以确定算法和硬件优化的方向:到底应该增加内存带宽/减小内存带宽需求,还是提升计算能力/降低计算量?如果算法在 roofline 曲线的上升区,那么我们应该增加内存带宽/减小内存带宽需求,提升计算能力/降低计算量对于这类情况并没有帮助。反之亦然。

  我们来看一个实际的例子,比较一下各种机器学习算法在 roofline 模型上所处的位置。下图取自 Google 的 TPU 论文《In-Datacenter Performance Analysis of a Tensor Processing Unit》。由图中可见,LSTM 算法的运算强度最低,所以被卡在了 roofline 模型的上升区中间的地方,即 TPU 在执行 LSTM 算法的时候,由于内存带宽限制所以性能只有 3TOPS 左右,仅为峰值性能(90TOPS)的三十分之一。经典全联接神经网络(mulTI-layer perceptrons, MLP)的运算强度略好于 LSTM,也被卡在 roofline 曲线的上升区,实际执行性能大约在 10TOPS 左右。而卷积神经网络模型,尤其是 CNN0,由于卷积神经网络中能实现卷积核复用,因此运算强度非常高,于是可以非常接近 TPU roofline 曲线的屋顶(86 TOPS)。CNN1 模型虽然运算强度也很高,但是由于种种其他原因(论文中表示是由于 CNN1 模型的特征深度较浅无法完全利用 TPU 的计算单元)无法到达屋顶。这个例子又让我们看到了硬件-算法协同设计时的另一个要点:除了内存带宽之外还有「其他原因」可能让算法无法到达屋顶,我们要尽量减小这些「其他因素」!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

由日本电子信息技术产业协会(简称:JEITA)主办的“第27届日本电子高新技术博览会(CEATEC 2026)”于10月13日(周二)在日本千叶县幕张展览馆开幕,本届展会的主题为“变革(Transformation)”,...

关键字: 人工智能 人形机器人 半导体

《纽约时报》诉微软和OpenAI版权案最新文件显示,两家公司内部曾警告“人类历史上最大的劳动力窃取”,但生成式AI产品仍全速推进。

关键字: AI 人工智能 微软 OpenAI

以首份美国项目合作意向书拓展全球最大数据中心市场,拟以BRIGHTRAY预制化方案实现一年内交付,支持新一代AI算力部署 新加坡2026年10月14日 /美通社/ -- BUUU Group Limited(纳斯达克股...

关键字: 人工智能 数据中心 BRIGHT AI

10 月 15 日消息,OpenAI 工程师阿卜杜勒拉赫曼・阿尔福赞因涉嫌在高管会议室私装录音设备,于当地时间 10 月 9 日遭到 FBI 逮捕,这名沙特公民还拥有沙特风投 RAED Ventures 风险合伙人的特殊...

关键字: AI 人工智能 OpenAI

10 月 14 日,豆包手机助手《屏幕自动化操作声明协议》(SAEP)30 天公示期落幕,同时披露的一份拒绝操作清单显示,超 150 款应用明确拒绝豆包智能体进行屏幕自动化操作。

关键字: AI 人工智能 App 智能体

在电力需求激增的背景下,先进的 EliteSiC 混合技术助力释放更多可用电能

关键字: 碳化硅 人工智能 逆变器

荷兰菲尔德霍芬,2026年10月14日—阿斯麦(ASML)今日发布2026年第三季度财报。2026年第三季度,ASML实现净销售额117亿欧元,毛利率为57.5%,净利润达50亿欧元。ASML预计2026年第四季度净销售...

关键字: 人工智能 晶圆

北京2026年10月14日 /美通社/ -- 立康生命科技将以赞助商及参展商身份参加10月20日至22日在阿联酋阿布扎比国家展览中心举行的2026阿布扎比未来健康峰会。公司联合创始人兼副董事长张永康将于10月21日出席&...

关键字: 管线 CAN FUTURE 人工智能

研究人员证明新技术能够识别葡萄和葡萄酒中释放的复杂化学特征,从而以比传统方法更快、更经济的方式预测葡萄酒生产中的质量风险。

关键字: 人工智能 机器学习 传感器

以全球最大美妆市场北美为战略支点,VUSSENS旨在加速拓展国际美妆品牌、制造商及零售商客户。 新泽西州李堡和韩国首尔2026年10月12日 /美通社/ -- VUSSENS Inc.,一家全球领先的美妆行业人工智能数...

关键字: SE AI 人工智能 网络
关闭