首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AI芯片最需要解决问题?

AI芯片最需要解决的是宽带问题

2020年备受关注的AI芯片创新峰会上姚颂谈及对行业现状的看法。他说,AI芯片这个词用得特别泛,AI领域本身就特别宽泛,有一小部分才是机器学习,机器学习中的一小部分才是深度学习,深度学习天然切分为训练和推理两个阶段,其中有数不过来的各种神经网络。

一个AI芯片可以指代的东西有很多,因此这是一个很宽泛的概念,按稍严格的分类,它可以分成训练、推理两个阶段,以及云端、终端两个应用场景。大家目前基本不在终端做训练,因此终端的场景象限基本是空的。

▲AI芯片分类:根据AI的阶段与应用场景

AI芯片核心解决的是什么问题?去堆并行算力?实际并不是。

谷歌TPU第一代的论文中写道,其芯片最开始是为了自己设计的GoogLeNet做的优化,CNN0的部分就是谷歌自己设计的Inception network,谷歌设计的峰值性能是每秒92TeraOps,而这个神经网络能跑到86,数值非常高;但是对于谷歌不太擅长的LSTM0,其性能只有3.7,LSTM1的性能只有2.8,原因在于它整个的存储系统的带宽其实不足以支撑跑这样的应用,因而造成了极大的算力浪费。

▲AI芯片最重要解决的是带宽不足的问题

AI芯片最重要解决的问题核心是带宽不足的问题,其中一种最粗暴且奢侈的方式就是用大量的片上SRAM(静态随机存取存储器),比如原来寒武纪用36MB DRAM做DianNao,深鉴科技曾用10.13MB SRAM做EIE,TPU采用过28MB SRAM。

而将这种工程美学发挥到中最“残暴”的公司,叫做Cerebras,它把一整个Wafer只切一片芯片,有18GB的SRAM,所有的数据、模型都存在片上,因此其性能爆棚。

当然这种方式是非常奢侈的,Cerebras要为它单独设计解决制冷、应力等问题,单片芯片的成本就在1百万美元左右,对外一片芯片卖500美元,这一价格非常高昂。因此业内就需要用微架构等其他方式解决这一问题。

业内常用的有两种解决方式:

一是在操作时加一些buffer,因为神经网络是一个虽然并行,但层间又是串行的结构。把前一层的输出buffer住,或把它直接用到下一层作为输入。

二是在操作时做一些切块,因为神经网络规模比较大,每次将它切一小部分,比如16X16,把切出来这一块的计算一次性做完,在做这部分计算的时候同步开始取下一块的数据,让这件事像流水线一样串起来,就可以掩盖掉很多存储、读取的延迟。

现在在数字电路层面,业内更多在做一些架构的更新,根据不同的应用需求做架构的设计。 #AI #芯片

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210301A01SQU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券