欧宝nba直播在线直播加入收藏

欧宝nba直播

information

contact us

欧宝odbo官网

欧宝nba直播在线直播-欧宝odbo官网

地址:广西南宁市高新区创新路23号中关村7号楼二层

网址:www.chenyudq.net

邮箱:yinglunxinxi@www.chenyudq.net

电话:0771-2845499

传真:0771-2845499

 

 

欧宝nba直播:ADS-NPU芯片计算架构的产品痛点和设计挑战

作者:欧宝nba直播在线直播 出处:欧宝odbo官网

  :东南大学工学博士,英国布里斯托大学博士后,是复睿微电子英国研发中心GRUK首席AI科学家,常驻英国剑桥。Dr. Luo长期从事科学研究和机器视觉先进产品开发,曾在某500强ICT企业担任机器视觉首席科学家。

  对比CPU几十级的并行处理单元和GPU上万级的并行处理单元,NPU会有百万级以上的并行计算单元,大算力与低功耗的优势非常明显。当前市场上主流AI大算力SoC芯片,常用的NPU计算架构可以简单总结成以下几种形态:

  如图 1所示案例可以看出, 下一代NPU芯片架构设计中一个最主要的挑战是低计算效率问题,除了内存墙、功耗墙原因之外,还有一个最主要原因是ADS算法从Compute-bound(Convolution)向Memory-bound(Matrix Multiply + Data Move)演进,而现有架构多只针对3x3卷积进行优化,现有硬件计算架构难以全方位优化覆盖。对应于ADS传感器负载多样化和融合感知决策算法多样化的演进趋势,ADS的算力需求和芯片加速能力以(十倍速/每几年)的持续高增长态势呈现。对ADS新的存算混合需求,业界有几种主要应对措施:

  o 如图 2所示,通过适量增加计算单元,添加新的张量核心和新的Transformer引擎来解决Memory-bound类算法的低效率问题

  o 在近内存或者内存计算基础上,采用融合架构,将高速数据接口+数据压缩+模型压缩+低精度逼近计算+稀疏计算加速相结合

  o 结合模型-硬件联合设计,通过添加硬设计可配置+硬件调度+软运行可编程调度引擎来提升架构的整体算法计算效率

  典型的CNN(Compute-bound)和Transformer(Memory-bound)的网络架构详细对比如图 3和图 4所示,以Swin Transformer做图像分类的案例,可以看到其中Matrix Multiply占70%计算时间,由于数据复用远低于CNN中最常见的卷积(占CNN任务推理总耗时多数在90%-95%以上)计算,Data Move也需要~29%的耗时。对NPU 硬件计算架构而言, CNN主要的计算算子包括:卷积,池化,激活函数(ReLU等), Batch Normalization,以及全连接Fully-Connected(FC),主要计算是卷积算子,计算耗时占比可以到95%左右或更高,CNN中卷积的复用率要比Transformer高15倍左右。Transformer主要的计算算子包括:卷积Conv1x1 (即FC),Multi-Head Self-Attention(MSA),激活函数(GeLU等), 和Layer Normalization,其中Multi-Layer Perception (MLP)层由FC+GeLU+FC组合而成,Transformer主要计算是FC算子,计算占比可以到90%以上,所用滤波器的数量比CNN的卷积层多6倍左右。应用到ADS的Transformer的不同类别,包括ViT,Swin等众多系列,架构上主要区别是Self-Attention架构的变化,以及Channel数量和CONV尺寸的不同。ADS中众多手工设计的算法架构可以将CNN、Transformer、GNN和RNN等DNN网络的部分子模块重新组合来进行有效的特征提取特征融合和特征重建,同时结合贝叶斯统计和强化学习RL等理论以满足ADS多模感知与融合推理决策需求,所以DNN网络形态目前还没有走向统一,仍呈现多样化态势,模型-硬件的联合设计以及网络架构自动搜索NAS设计方法会加剧这种趋势的发散,这些都是下一代NPU计算先进架构设计所面临的全新挑战。

  当前NPU计算架构主要是Spatial加速器架构,即Spatial PE空间单元阵列通过NoC,数据总线,或跨PE的互联来实现数据流交互。粗颗粒度的可配置架构CGRA是Spatial加速器的一种形态,即可配置的PE Array通过纳秒或微秒级别可配置的Interconnect来对接,可以支持配置驱动或者数据流驱动运行。脉动Systolic加速器架构也是Spatial加速器的一类实现方式,其主要计算是通过1D或2D计算单元对数据流进行定向固定流动处理最终输出累加计算结果。当前脉动阵列依旧是主流架构之一,常用的单元尺寸为32x32,可以通过添加额外的逻辑单元来支撑压缩模型与压缩数据的稀疏计算加速处理以及低比特的逼近计算模式。

  从上所述,NPU计算架构的性能(throughput/Watt, throughput/area)取决于针对DNN网络模型负载与计算阵列的颗粒度匹配度,能否支持动态配置,以及互联interconnect拓扑与模型如何切片tiling相关,目的是确保计算单元的使用效率与数据通道的调度效率。颗粒度可配置是一个选择,同时可以将阵列Array+矢量Vector+标量Scalar计算单元组合来构成异构单元和弹性扩展。另外一个可行的思路是采用不同配置尺寸的脉动阵列multi-Pod混合,来解决不同DNN的负载需求(CONV, FC, Attention)中DNN网络层与阵列维度不匹配问题, 提升并行计算效率。PE计算阵列或者NPU核的互联,包括直连与分布式,需要解决计算单元与片上片间内存的通道竞争与延迟问题。比较有趣的是脉动阵列的multi-Pod组合中,CNN比较适合66x32阵列尺寸,Transformer比较适合20x128尺寸,总体上比32x32尺寸性能会有1.5x以上提升。互联的设计方案中,Crossbar interconnect可以有比较好的二分带宽,但随着挂靠的计算core数量增加,硬件成本成加速度上升趋势,对比而言H-tree interconnect硬件成本也非常高。2D Mesh interconnect比较常用,硬件成本低但难以支撑大的使用模块或者计算core数量。对比Ring interconnect而言,Butterfly interconnect可以做一个比较好的均衡,这里Network-on-Chip (NOC)还会有其它设计选择,本文在这里不打算做深度分析。

  ADS算法的典型系统分层架构一般包括传感层,感知层,定位层,决策层和控制层。DNN在这类认知任务和视觉任务上取得了巨大的进展。DNN网络主要包括CNN、Transformer、GAN、GNN和RNN等几类。本文在这里主要讨论一下CNN卷积核和Transformer完整核心功能模块的硬件设计挑战与加速实现。

  DNN的最核心最底层的计算操作是MAC,即网络参数与量化输入的点积Dot-Product运算,以及累加输出,所以减少点积(即内积)或者累加器数量,可以提升数据复用率,自然可以有效提升能耗比,图 5就是这样一个典型的基于加法树的内积引擎案例。这类实现在脉动阵列架构上是基本可行的。

  FC层的计算主要是动态输入的矢量与参数矩阵的点积。线性量化也就是逼近计算技术,可以压缩模型参数降低计算复杂度。从图 7可以看出一个比较有趣的现象,包括Transformer在内,平均有80%以上的输入在与64个不重复的模型参数进行点积,而且其中约44个参数值在常用8比特量化后不会超过256。这种稀疏特性,与DNN模型检测以及稀疏计算架构非常相似。这意味着在设计中可以考虑用索引来进行参数表征和实现点积运算。如图 8所示。基于索引的实现机制可以进一步压缩模型减少内存带宽使用,可以将点积乘减少33%,参数存储减少20%。这类优化实现在脉动阵列架构上是基本可行的,也可以考虑做为单独的Vector计算单元来设计,与Array计算单元进行异构组合实现。

  如图 6所示,对Transformer网络而言,CONV和Multi-Head Self-Attention (MHSA)层的计算占时不多,都属于矩阵-矩阵的乘计算,而FC层属于矩阵-矢量的乘计算。通常NPU微计算架构将计算单元PE设计成1D或者2D Array,针对CONV 3x3进行优化,对其它卷积尺寸采用可配置设计模式,数据流的设计会相对简单,只是计算效率会低。这里值得一提的是,在Transformer (ViT)的网络架构里,首先采用了CNN来做特征提取,而且ViT采用了CONV4x4,现有NPU硬件计算效率会继续有低于66%的相对下降比例。如图 9所示是一个针对ViT CONV4x4 PE块的设计案例。如图 10所示是一个针对ViT 的NPU顶层架构的设计案例。ViT模型不同层中x7的尺寸比例设置,另外不同层的通道数都是x96的比例,PE4x7的阵列尺寸设置可以和模型对应进行有效匹配来计算卷积,其中每行4个MAC单元,NPU顶层案例采用了12个PE块。在每个PE单元里,每个权值系数从顶到底广播到所有乘法器,每个MAC可以从输入SRAM收到不同的输入来支撑FC层计算,PE乘法器的结果在水平方向累加,可以存到本地缓存便于后续累计。如图 10所示,顶层架构中将PE输出结果在累加器中累加,随后在加法器中求和,其结果会通过Layer Normalizatio进行归一化或Softmax进行计算处理,最终结果输出到片外内存里。对于MHSA的计算,Q(Query)矩阵可以认为是PE单元块的参数输入,K(Key)矩阵可以认为是PE单元块的数据输入,由于矩阵尺寸小与网络其它层类型,8个PE单元模块可以搞定。对于Q矩阵映射,Q矩阵的4个列分配到一个PE单元然后按照行-行模式处理,每行7个时钟时间。K转置矩阵映射,可以安排到7行x 8个PE块进行计算,12个PE块中只用了8 个,硬件利用效率相对只有66%,但MHSA总的FLOPs占比不超过模型的3%,这种效率影响估计不会超过1%。

  如上文所述,Transformer在ADS算法应用中的作用越来越有优势,几乎涵盖感知融合决策控制的每个流程,但Memory-bound的存算需求对设计有更大的挑战,本文的技术讨论和设计思路也是聚焦这个方面。如图 11所示的基于整数的量化逼近计算策略案例,可以通过Integer-only整数操作与bit-shifting位移处理来取代浮点数除法做逼近计算。ViT中的线性运算包括MatMul和Dense(即上述所说的FC)中的MAC,可以采用Integer-only流水线操作+Dyadic Arithmatic二分算术方法。ViT中的非线性运算包括上文所所述的Softmax,GELU, LayerNorm,也可以通过一个轻量级的Integer-only算术方法来进行快速逼近计算,即ShiftMax和ShiftGELU,来提升NPU微架构的整体性能。基于整数的量化逼近计算策略案例,在TVM上的仿线倍推理速度提升,而且图 11所示的INT8量化策略,可以取得与FP相当或更高的性能,参数的INT4表征也可以是NPU设计的一个可行的发力点。

  但Integer-only Softmax可以通过简化逼近来设计硬件逻辑(Li, 2022),首先,对数据分布和动态范围进行平滑操作确保不溢出

  为止,一般10次左右递归就可以收敛(Life,2022),上述公式的除法可以同样采用比特移位和累加器来实现,对硬件的简洁设计也非常有利。

  复睿微电子是世界500强企业复星集团出资设立的先进科技型企业。复睿微电子植根于创新驱动的文化,通过技术创新改变人们的生活、工作、学习和娱乐方式。

  公司成立于2022年1月,目标成为世界领先的智能出行时代的大算力方案提供商,致力于为汽车电子、人工智能、通用计算等领域提供以高性能芯片为基础的解决方案。

  目前主要从事汽车智能座舱、ADS/ADAS芯片研发,以领先的芯片设计能力和人工智能算法,通过底层技术赋能,推动汽车产业的创新发展,提升人们的出行体验。在智能出行的时代,芯片是汽车的大脑。复星智能出行集团已经构建了完善的智能出行生态,复睿微是整个生态的通用大算力和人工智能大算力的基础平台。复睿微以提升客户体验为使命,在后摩尔定律时代持续通过先进封装、先进制程和解决方案提升算力,与合作伙伴共同面对汽车智能化的新时代。



上一篇:调整组织架构后仅4月兴业银行发布五大线上品牌
下一篇:8点1氪 平安银行零售条线降薪;蔚来李斌回应手机业务传闻;阿迪达斯一季度大中华区