资讯详情

ADS-NPU芯片架构设计的五大挑战

作者 | Dr. Luo

简介:东南大学工程博士,布里斯托大学博士后,复瑞微电子英国研发中心GRUK首席AI常驻英国剑桥的科学家。Dr. Luo长期从事科学研究和先进的机器视觉产品开发ICT作为机器视觉的首席科学家。

1)可支持多模传感器感知集成和多任务共享的统一空间,同时提高计算效率有限,确保信息提取中极端恶劣场景(雨雪雾、低照度、高屏蔽、部分传感器故障、主动或被动场景攻击等)的算法模型,减少对标记数据和高清地图的过度依赖;

2)预测与规划、离线与在线学习、监督与自我监督学习相结合,处理不确定性下的安全驾驶和有效决策,提供认知决策行为的可解释性问题,通过持续学习解决新场景问题。

当前,对应于ADS感知决策算法多样化的演变趋势,ADS计算能力需求和芯片加速能力呈现出持续高增长趋势(十倍速/几年)。ADS领域大算力NPU芯片目前的发展现状真的可以说是:在计算能力大的时代,用感知策,四两拨千斤;疯狂洗牌战局,只快应变,一力降十会。

图1. DNN任务比例分析: CNN vs Transformer (图表分析来自文献1)

如图1 所示,ADS算法从Compute-bound向Memory-bound演进。ADS通过“ ,通用大计算能力提供一个前进兼容的解决方案NPU解决算法未来1) 底层结构的演变:从存算分离到近内存计算,最终到内存计算; 2) 数据通道与模型:高速数据接口 数据压缩 模型压缩 低精度逼近计算 稀疏计算加速; 3) 并行顶层结构:模型-硬件联合设计,可配置硬设计 硬件调度 软运行可编程调度引擎。

老子曾说:合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。 老子又曰 天下难事必易;天下大事必细致。从易入手,致力于远大目标,从微着力处理困难问题。ADS-NPU芯片的架构设计还需要解决异构计算、稀疏计算、接近计算、内存计算等常见问题和挑战的能力。

1. 设计挑战异构计算

图2. 脉动阵列架构(图表分析来自文献1)

图3. 脉动阵列架构可配置 (图表分析来自文献1)

对比CPU并行处理单元和100级GPU数万级并行处理单位,NPU可采用数百万并行计算单元Spatial实现加速器架构,即Spatial PE通过空间单元阵列NoC,数据总线,或跨PE实现矩阵乘运算(全卷积计算或全连接)FC计算)、数据流高速交互和运算数据共享。

可配置粗粒度框架结构CGRA是Spatial可以配置加速器的形式PE Array可以通过纳秒级或微秒级配置Interconnect可支持配置驱动或数据流驱动运行。

如图2和图3所示,脉动Systolic加速器架构也是如此Spatial通过1D或2D计算单元定向固定数据流处理最终输出累计计算结果DNN输出可以动态调整硬件计算逻辑和数据通道,但存在的问题很难支持压缩模型稀疏计算的加速处理。

NPU的第二类计算单元是Vector矢量加速器架构,面向矢量Element-wise Sum、Conv1x1卷积、Batch Normalization、可通过可配置的矢量核实实现激活函数处理等操作,行业常用的设计是标量 矢量 应用阵列加速器的组合ADS多种传感器的不同预处理要求和多种算法模型流水线并行处理的存算混合要求。

NPU SoC也可采用多核架构技术,即提供数千级加速器物理核包装和组件Chiplet电影上的互联网提供了更高程度的平行度,特别是在大计算能力下的高并行数据负载,这需要底部硬件调度与上部软件调度的结合,以及分布式硬件计算资源的细粒度运行态调用。

NPU另一个内存处理器进化PIM架构,即通过将计算靠近存储的方式来降低数据搬移能耗和提升内存带宽。可以分成近内存计算与内存计算两种类型。近内存计算将计算引擎靠近传统的DRAM或者SRAM cell,保持其设计特点。

内存计算需要内存cell添加数据计算逻辑,使用更多ReRAM或者STT-MRAM目前采用模拟或数字设计的新工艺可以实现>100TOPS/Watt的PPA但技术问题是如何在运行状态下动态刷新大模型参数,实现过程也可能落后于市场预期。

图4. AI算法模型负载的算子分布统计(图表分析来自文献2)

图5. nVidia A100的TensorCore架构与UPCYCLE 对比融合架构的计算效率 (图表分析来自文献2)

当前市场主流AI芯片,常用的架构有以下形式:1) GEMM加速架构(TensorCore from nVidia, Matrix Core from AMD); 2) CGRA (初创公司); 3) Systolic Array (Google TPU); 4) Dataflow (Wave, Graphcore,初创公司); 4) Spatial Dataflow (Samba Nova, Groq); 5) Sparse架构 (Inferentia)。

如图4和图5所示,ADS-NPU设计的挑战之一是计算效率低。异构计算架构的主要目的之一是在设计方法上找到硬设计时优化可配置与软运行时动态可编程的平衡点,从而提供覆盖整个设计空间的通用方案。

另外值得一提的是,UPCYCLE 一体化结构案例涉及SIMD/Short Vector, Matrix Multiply, Caching, Synchronization等多核优化策略,本案例仅通过短矢量处理 传统的内存缓存 结合传统的同步策略方法,不使用标量 矢量 在阵列的微架构组合条件下,7仍可从顶层软件架构层面进行优化(指令集和工具链优化策略、模型-硬件联合优化).7x提高整体计算性能和23x提高功耗效率。

2. 设计挑战稀疏计算

ADS-NPU从微架构设计领域可以涉及低效计算:1) 稀疏数据(稀疏DNN网络,或稀疏输入输出数据PE无效计算大量零值数据;2)PE由于软件硬件调度算法效率低,PE相互依赖造成的延迟问题;3)数据通道与计算通道峰值能力不匹配造成的数据等待问题。

上述问题2和问题3可以从顶层结构和存算微结构设计中有效解决。问题1可以压缩稀疏数据,有效改进微架构计算单元PE的效率。如图6和图7所示,稀疏数据图编码的案例可以有效提高数据存储空间和对数据通道的影响,计算单元基于非零数据NZVL以添加简单的逻辑单元为代价,对分布图进行有效的筛选和计算PE计算效率提高到95%,数据带宽降低40%。

图6. 稀疏计算微架构案例(图表分析来自文献3)

图7. 稀疏数据图编码案例(图表分析来自文献3)

3. 设计挑战接近计算

图8. 算法模型与量化表征的关系案例(图表分析来自文献6)

如图8所示,算法模型与量化表征之间的关系案例可以通过算法模型的低比特参数示。 量化后训练的方式,在不降低算法模型精度的情况下,通过时间和空间复用的方式,等效增加低比特MAC PE单元。

接近计算的另一个优点是它可以与稀疏计算相结合。低比特表征会增加数据的稀疏性,类似ReLU激活函数和池化计算也会产生大量的零值数据。此外,如果使用浮点值bit-slices也会有大量的高位零比特征进行表征。

零值输出数据意味着大量的卷积计算可以通过预计算直接跳过。如图9所示,简单bit-slice通过数据分解表征可以产生偏置分布Signed Bit-Slice解决方法,从而将PPA有效提高性能(x4能耗,x5性能,x4面积)。

图9. Signed Bit-Slice和RLE游程编码案例 (图表分析来自文献4)

4. 设计挑战内存计算

ADS-NPU设计中的一个挑战是能耗墙的数据墙问题,即计算单元PE存算分离设计导致数据重复移动,数据共享困难,数据通道与计算通道峰值能力不匹配PE的低效率和SRAM/DRAM高能耗。

图10. MRAM取代SRAM案例 (图表分析来自文献5)

有趣的尝试是使用新技术MRAM (STT/SOT/VGSOT-MRAM) 部分或全部替代SRAM, P0方案仅取代算法模型参数缓存和全局参数缓存;P1方案是MRAM全面取代SRAM。对比SRAM-only架构,从图10 案例可见MRAM-P可以有0个解决方案>能耗提高30%,MRAM-P1解决方案有>能耗增加80%,芯片面积减少>30%。

图11. Von Neumann与内存计算的架构对比 (图表分析来自文献6)

图12. 内存计算的模拟墙问题 (图表分析来自文献6)

当前初创公司的内存计算架构策略需要对内存cell添加数据计算逻辑,通过采用ReRAM或者STT-MRAM新型工艺,采用模拟或数字类型的设计来实现。模拟内存计算IMC对打破传统的Von Neumann计算机架构内存墙和能耗墙应该更有优势,但需要同时打破设计中的模拟墙问题,这也是当前数字设计IMC-SRAM或者IMC-MRAM占多数的原因。

如图11和图12所示,IMC的主要问题来自于模数转换ADC/DAC接口和激活函数的接口带来的设计冗余。一种新的实验设计是用基于RRAM的RFIMC微架构(RRAM cells + CLAMP circuits + JQNL-ADCs + DTACs)。每个RRAM cell代表2比特内存数据,4个RAM cell来存储8比特的权重,JQNL-ADC采用8比特浮点数。

从图13可以看出RFIMC的微架构能够部分解决模拟墙的问题,可实现>100TOPS/Watt的PPA性能,但存在的问题是,只支持小规模的全矢量矩阵乘,超大尺寸的矩阵乘,需要将模拟数据进行局部搬移,是否有数据墙的问题仍未知。

图13. RFIMC的性能分解图 (图表分析来自文献6)

5. 算法-硬件之共同设计挑战

ADS算法多样化的演进趋势和对NPU大算力存算的混合需求,需要算法-NPU联合设计来实现模型整体效率。

常用的量化与模型裁剪能够解决一部分问题,模型-硬件联合搜索,可以认为NPU预定义的硬件架构是模板,网络模型ASIC-NAS是一个典型的案例,即在有限硬件计算空间内进行DNN的模型搜索和模型小型化,寻求计算单元的最佳组合模型来提升相同计算复杂度下的等效算力效率。

NPU添加了硬件的可配置和细颗粒可调度,但依旧存在很大的性能约束性。如图14 和图15所示,SkyNet算法与硬件共同设计的案例,是将NPU细颗粒度的PE单元进行Bundle优化封装,其价值在于可以降低NAS架构搜索的高维空间,从而减低对硬件底层架构的依赖关系和优化算法的复杂度。

图14. SkyNet算法与硬件共同设计案例 (图表分析来自文献7)

图15. SkyNet-Bundle-NAS示例 (图表分析来自文献7)

作者 | Dr. L. Luo

【1】J. Kim, and etc., “Exploration of Systolic-Vector Architecture with Resource Scheduling for Dynamic ML Workloads”,

https://arxiv.org/pdf/2206.03060.pdf

【2】M Davies, and etc., “Understanding the limits of Conventional Hardware Architectures for Deep-Learning”,

https://arxiv.org/pdf/2112.02204.pdf

【3】C. Wu, and etc., “Reconfigurable DL accelerator Hardware Architecture Design for Sparse CNN”,

https://ieeexplore.ieee.org/document/9602959

【4】D. Im, and etc., “Energy-efficient Dense DNN Acceleration with Signed Bit-slice Architecture”,

https://arxiv.org/pdf/2203.07679.pdf

【5】V Parmar, and etc., “Memory-Oriented Design-Space Exploration of Edge-AI Hardware for XR Applications”,

https://arxiv.org/pdf/2206.06780.pdf

【6】Z Xuan,and etc., “High-Efficiency Data Conversion Interface for Reconfigurable Function-in-MemoryComputing”,

https://ieeexplore.ieee.org/document/9795103

【7】X Zhang, and etc., “Algorithm/Accelerator Co-Design and Co-Search for Edge AI”,

https://ieeexplore.ieee.org/document/9785599

标签: 复用传感器阵列

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台