历史上的今天
返回首页

历史上的今天

今天是:2025年01月29日(星期三)

2018年01月29日 | 如何设计一款适用于终端的AI芯片

2018-01-29 来源:21IC中国电子网

2017年,人工智能最火的风口一定是AI芯片。AI芯片的出现,与深度学习技术的成熟及应用密不可分。深度学习的过程可以简化理解为利用大量标注的数据进行训练,训练出一个行之有效的模型,再将这一模型运用于新数据的推断。


这个耳熟能详的爆款算法是建立在多层大规模神经网络之上的,后者本质上是包含了矩阵乘积和卷积操作的大运算量函数。往往需要先定义一个包含回归问题的方差、分类时的交叉熵的代价函数,再数据分批传递进网络,根据参数求导出代价函数值,从而更新整个网络模型。这通常意味着至少几百万次的相乘处理,计算量巨大。通俗来说,包含了数百万次A*B+C的计算,算力消耗巨大。


为解决这一问题,AI芯片应运而生。2017年开始,围绕AI芯片,半导体行业,战事升级,赛场上新老玩家暗潮涌动,连横合众,大有“AI芯片太多,设备都不够用了”之势。


时间进入2018年,备受关注的大小公司都将正式推出自研AI芯片。这些芯片也都被业界寄予厚望,是否能解决或者部分解决终端计算难题?什么样的芯片才能够真正适应终端智能的需求?


这些都是我们十分好奇且关注的问题。于是也与一些创业者进行了交流。本文即是其中的一篇,来自于与探境科技CEO鲁勇的访谈。目前探境科技正研发适用于终端的AI芯片,在创业前鲁勇曾在芯片厂商Marvell任高管,从事过存储芯片的相关工作,而存储正是计算之外所有芯片另一核心。基于过往的经历、经验与观察,鲁勇认为,做适用于终端的AI芯片,除了要在计算方面提升,存储优化同样至关重要。



AI算法在芯片实现时遇到的核心问题不是计算资源而是存储问题,强如GPU提供众多的计算资源,而实际计算能力与计算资源大为降低。


概括来说,存储问题分为两个部分,一个是带宽问题,一个是功耗问题,这两个问题的解决其实也是耦合在一起的。


具体来说,深度学习算法使用大量存储资源,即包括静态模型参数,也包括网络层之间的动态数据。对于静态模型参数权重,动辄几十兆上百兆样本数量,无法在片上SRAM保存,因此需要存入外部DRAM。DRAM与AI计算芯片间带宽有限,如果芯片上计算资源很大,但受存储带宽的瓶颈限制,实际计算力大为下降。


打比方来说,负责存储的DRAM和与负责计算的芯片就像是位于河两岸的仓库,整个运算的过程可以类比从存储的仓库搬取数据、搬运过桥,将数据搬入计算的单元进行处理,并高速循环往复。而当前的AI芯片技术重点提升将数据搬入计算单元后的处理速度,但因为搬出数据、过桥的过程基本未发送变化,因此整体的效率提升还相对有限。


与之对应的方法即是克服存储带宽的手段:一是减少数据量,降低所需数据带宽,就是说想办法只要从仓库搬出少量数据,就可以达到同样的效果;二是更科学的调度数据使用,提升调度的效率。


(1)减少数据容量


如果数据量降低了,这将总体上减少对DRAM的访问,在DRAM物理带宽保持不变的前提下,降低了DRAM的依赖性,提高了整体性能,同时减少DRAM访问也将大幅减少系统功耗开销。因此首先需要解决的问题是减少静态参数权重的大小。通常的解决办法包括参数定点化,将每个32bit浮点数减少为16bit以下的定点数,至少能降低50%甚至75%的存储容量,也同样幅度的降低了存储带宽的需求。实践证明16bit定点化可以采用线性量化的方式,而16bit以下定点化根据模型的不同,有些需要采用非线性量化才可以达到维持模型性能的目的。


目前主要有模型剪枝、设计适于终端设备的简化网络两种实现方式。模型剪枝作为进一步降低模型容量和存储带宽的方式,是基于神经网络模型存在大量冗余信息的基础,而另一种从源头开始重新设计适于终端设备的简化网络的方式也在逐渐兴起,从同样规模的网络性能来看,新设计的网络可能比旧网络通过剪枝再训练的方式更为简单快捷,性能也更好。


(2)更科学的调度数据使用


深度学习的计算大量使用乘累加,即完成AXB+C的工作,这种乘累加单元(MAC)每次运算需要三个输入,完成一个输出。参与运算的数据包括事先准备好的权重参数和网络层产生的中间数据。每个乘累加完成后的输出通常也会作为下一次运算的输入,因此如何调度这些数据成为关键。


功耗角度来说,从DRAM获取数据所消耗的功耗最大,从SRAM中获取数据其次,从本地寄存器中获取数据消耗功耗最低,但从成本角度考虑刚好相反,因此这三个不同层次的存储器的使用非常关键,我们希望尽可能减少DRAM的访问,最理想的结果是仅从DRAM中读取一次事先存好的模型参数,而不依赖DRAM做任何其他工作。


从宏观上看,整个深度学习运算计算一次,进入MAC的总数据量远大于静态数据的容量,因为无论是模型参数还是中间数据都多次被重复使用,因此实际所需的数据带宽非常大,并且当所有这些数据都仅通过DRAM被缓存使用时,其功耗开销也是惊人的,因此充分利用各级缓存的特性非常重要,设计一个合理的数据流,将多次被重复使用的数据放在离计算资源较近的地方,少量读取的数据放在DRAM中,将提高计算性能,降低系统功耗。



那么问题来了,如何才能设计一款真正适用于终端的AI芯片。


简单的设计一个卷积加速器并不能带来深度学习计算性能上的提高,合格的计算架构需要结合对存储问题的分析来设计,不仅要考虑计算架构,也要考虑存储的数据流控制,因此深度学习的计算特点并非是一个简单粗暴的并行计算问题。


首先还是要考虑浮点和定点计算的问题,8 位的整数乘法比IEEE 754标准下16位浮点乘法降低 6 倍的能耗,占用的芯片面积也少 6 倍;而整数加法的差异是13倍的能耗与38倍的面积,因此终端AI芯片采用定点计算将获得巨大收益。当定点成为设计目标的时候,要充分考虑软硬件的结合,不同网络对定点位数的影响程度是不一样的,数据量化的具体方式也有差异,有线性量化也有非线性量化的方法,因此针对应用场景结合软件协同设计非常有必要。


其次深度学习不是简单粗暴的并行计算但仍然有明显的并行计算特征,因此考虑存储问题后放入更多的计算资源会大幅提高计算性能。首先将最多被重复使用的数据放在接近计算资源的地方,这符合较为流行的In Memory Computing(存储计算一体化)的思想,并且考虑到当前工业水平,这更为实际,而通过重新设计包括计算单元的存储单元或采用ReRAM等方式是未来的 发展方向。


第三要考虑到深度学习数据的另一重要特性,即数据稀疏化特性,也就是说在参与运算的数据中有大量的零值数据存在,这些零值数据即可以在存储中被压缩存放,降低存储容量和带宽需求,也可以在计算中被进一步调度,减少运算压力,提高运算的有效性能。这些零值数据不仅存在于模型参数中,也大量存在于神经网络各层运算的中间数据中,这两方面都需要进行考虑。稀疏数据在多核心并行计算中的调度是个复杂的问题,而不同网络结构也会带来不同的影响,因此将软硬件协同设计,动态调度的调度器是非常复杂的设计难点。


最后要考虑针对不同网络的资源有效利用率问题,由于神经网络差异化较大,如果希望针对不同网络都有较高的资源有效利用率,则需要在较细的颗粒度上进行优化,进一步加深了数据流调度器的复杂度。

推荐阅读

史海拾趣

FCI [First Components International]公司的发展小趣事

在电子行业中,FCI(First Components International)公司作为一家知名的连接器和互联系统制造商,其发展历程中确实有许多值得分享的故事。以下是关于FCI公司的五个发展故事:

  1. FCI的气体流量计与传感器技术突破

FCI作为一家全球性的气体流量计、气体和液体流量开关以及液位开关的制造商,其产品广泛应用于各种工业领域。为了满足不断增长的市场需求,FCI投入大量研发资源,成功开发出高精度、高可靠性的气体流量计和传感器。这些产品在化工、能源、环保等多个领域得到了广泛应用,为FCI赢得了良好的市场口碑。随着技术的不断创新和产品质量的持续提升,FCI逐渐成为了行业内的佼佼者。

  1. FCI中国分公司的成立与服务升级

随着中国市场的快速发展,FCI看到了在中国市场发展的巨大潜力。为了更好地服务中国客户,FCI决定在中国成立分公司。分公司的成立,不仅为FCI提供了更贴近本地市场的服务平台,还为其在中国市场的业务拓展提供了有力支持。分公司雇佣了一批在过程仪表和测量控制方面经验丰富的员工,并新增了数条经过认证的高精度流体标定台,以提供专业的服务和技术支持。这一举措显著提升了FCI在中国市场的竞争力和品牌影响力。

  1. FCI的AirMax VS高速背板连接器技术革新

为了满足未来高速数据传输的需求,FCI投入巨资研发新一代的高速背板连接器技术。经过多年的努力,FCI成功开发出了先进的AirMax VS高速背板连接器技术,为未来传输速率达到40Gb/s的设计奠定了基础。这一技术的推出,不仅巩固了FCI在连接器行业的领先地位,还为其在高速数据传输领域的发展打开了新的市场空间。

  1. FCI与航空领域的深度合作

随着航空技术的不断发展,对高精度传感器和流量计的需求也日益增长。FCI凭借其在气体流量计和传感器方面的技术优势,成功打入了航空领域市场。公司与多家知名航空企业建立了深度合作关系,为其提供定制化的产品和解决方案。这些产品在航空器的燃油系统、液压系统以及环境控制系统中发挥着重要作用,为航空安全提供了有力保障。

  1. FCI的全球化战略布局

为了适应全球化的市场趋势,FCI积极拓展其国际业务。公司通过并购、合资等方式,在全球范围内建立了多个生产基地和销售网络。这些举措不仅提高了FCI的生产效率和响应速度,还使其能够更好地服务全球客户。同时,FCI也加大了对新兴市场的投入,通过与当地合作伙伴的紧密合作,成功打入了多个具有潜力的市场领域。

以上五个故事展示了FCI在电子行业发展中的关键里程碑和重大成就。从技术创新到市场拓展,再到全球化布局,FCI始终保持着敏锐的市场洞察力和强大的竞争力,不断推动着电子行业的发展进步。

GC Electronics公司的发展小趣事
如温度、湿度等环境因素的变化,有时也可能对传感器的工作产生影响,导致误报。
DSMI Electronics SA公司的发展小趣事

DSMI Electronics SA公司始于20世纪90年代末,由一群志同道合的电子工程师和科研人员创立。在创业初期,公司就明确了自己的技术定位:专注于电子元件和模块的研发与生产,特别是针对嵌入式系统和工业自动化领域。他们凭借深厚的技术积累和不懈的努力,成功开发出了一系列性能稳定、质量可靠的电子元件,赢得了市场的初步认可。

Erocore Enterprise Co Ltd公司的发展小趣事

Erocore Enterprise Co Ltd公司自XXXX年在电子行业中创立之初,就专注于电子元件的研发和生产。公司创始人深知技术是企业发展的核心,因此投入大量资源用于技术研究和人才引进。在初创期,Erocore通过不断的技术创新,积累了一定的技术储备和行业经验,为其在后续的市场竞争中奠定了坚实的基础。

Hengstler GmbH公司的发展小趣事

随着全球化趋势的加速,Erocore开始实施国际化战略。公司积极拓展海外市场,通过建立海外生产基地、设立销售办事处等方式,实现产品的全球布局。同时,Erocore也加强了与国际知名企业的合作与交流,引进先进的技术和管理经验,提升公司的整体竞争力。

Heidenhain Corp公司的发展小趣事

在全球化背景下,海德汉公司不断拓展其国际市场版图。通过参加国际展会、建立海外分支机构等方式,海德汉成功将其高精度数控系统和自动化解决方案推向全球电子市场。特别是在亚洲、欧洲和北美等电子产业发达的地区,海德汉的产品和技术得到了广泛应用和认可。这一市场拓展战略不仅提升了海德汉的品牌知名度和市场份额,也为其在电子行业的长期发展奠定了坚实基础。

需要注意的是,以上故事虽基于事实背景构建,但具体细节和案例可能有所虚构或简化,以符合问题要求和字数限制。

问答坊 | AI 解惑

EP2C8Q208C8N(EP2C5Q208C8N)开发板原理图

EP2C8Q208C8N(EP2C5Q208C8N)开发板原理图 是一个核心板,可以扩展,我正在用,觉得很方便…

查看全部问答>

中囯程序员的下场,人生有多少个十年?

程序员,从20岁开始工作,不知道30岁还在不在这个行业。20岁人人都有一个志向,向管理层发展,但有多少个人真的做得到了?年薪还不是3~10万。 3万的程序一大堆,10年可以得到多少钱?一年3万,10年30万(当中扣除生活杂七杂八的)还有剩下多少呢? ...…

查看全部问答>

vxworks的使用

tornado 里面的 debug菜单下 run task和 attach工具 具体是怎么使用? 他们的对话框里该输入什么 什么作用? 谢谢…

查看全部问答>

EVC下宽字符的宏连接问题

PC:下如此定义可以实行 #define  FILE_NAME(name)  \"D:/file_name/\"#name #define  FILE_1           FILE_NAME(\"file1.bin\") ARM下如此定义不能实行 #define&nb ...…

查看全部问答>

求救:1602使用问题有背光无法显示数据

最近在使用1602,写了几个程序都是只有背光显示,无法显示数据 第一个:RS-P2.0 RW-P2.1 E-P2.7(E通过与74ls00与RD WR相连)如第一个图 LCD_COMW    EQU        8000H    ;写命令字 LCD_DATAW& ...…

查看全部问答>

嵌入式系统中无线网卡驱动问题求教

在一个已经调试成功的嵌入式系统中,如果DSP和操作系统没有更换,仅仅只是更换了无线网卡的话,那么网卡的驱动程序中安装中断的操作是不是可以与原来一样啊?我们更换的新网卡与旧网卡是同一系列的产品。…

查看全部问答>

2440 启动代码 call_linux 参数分析

call_linux(0, 193, buf); 默认的是193! 在网上查了下说是这个参数跟内核有关! 我还以为是和分区有关         {0,                         &n ...…

查看全部问答>

求各位大哥帮忙写下下面的代码,小弟在线等

主程序                  CPU初始化                 A/D初始化(AN0为模拟输入,启动中断)                PWM初始化(载波频率为20KHZ(25us),3路配对PWM s输出,PWM中断元件)       ...…

查看全部问答>

TI的芯片样品好申请么?

TI的芯片没怎么用过,请问申请方便么?…

查看全部问答>

Chronos 个人局域网和传感器节点开发系统

TI最近推出的一套基于chronos手表的无线系统,我想这是在一定程度上去将MSP430应用于满足穿戴式设备 详细技术文档在此获得:http://www.ti.com.cn/tool/cn/tidm-chronos-pan?DCMP=tidesigns-cn&HQS=tidesigns-mcu-msp-chronos-bhp-cn 技术特点 ...…

查看全部问答>