NPU大算力技术分析

Posted 吴建明

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NPU大算力技术分析相关的知识,希望对你有一定的参考价值。

NPU大算力技术分析

GPT-4发布,NPU大时代来临?

 

 

 近日,继爆火的ChatGPT之后,人工智能实验室OpenAI又震撼发布了大型多模态模型GPT-4,该自然语言模型相较于ChatGPT发布时采用的GPT-3.5模型实现了人工智能技术的又一升级,可以接受图像和文本输入,提供文本输出。

 

 

 据悉,如果拍一张照片上传给GPT-4,

它就可以立马生成网站的HTML代码!

ChatGPT本质上是一种深度神经网络模型,属于深度学习框架。基于Transformer技术,有着大量复杂计算需求,算力消耗非常巨大,需要强大的AI芯片提供算力基础。

在计算机领域中CPU作为核心领导部件可谓元老级别,它可以进行多任务管理,擅长逻辑控制,但事儿多总有力不从心的时候,它的计算能力并不强。GPU虽然在并行计算上尽显优势,但是随着性能提高,它的体积、功耗和价格也随之增长,对于一些小型设备来说无法使用。

在人工智能兴起的当下,专门为AI应用所定制的计算平台— NPU应运而生,它不仅体积小、功耗低、而且计算性能和效率都比GPU高。目前广泛用于加速AI任务的性能,如图像识别分类、语音识别、智能驾驶等。

与NPU技术相关的前情提要

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 左右滑动查看更多

人工智能场景下

对NPU的需求不断提升

市场需求

NPU易于开发、低成本、高性能和低功耗优势随着人工智能应用场景的落地将逐渐凸显。IDC预测,到2025年中国加速服务器市场规模将达到108.6亿美元,其中包括NPU在内的非GPU服务器市场规模将达到25.6亿美元。

人工智能应用场景的各种特殊功能也更加清晰,我们可以看到不同场景对于算力、功耗、成本和可靠性的不同需求。

 

 图源:中国科技信息

行业需求

智能驾驶:目前自动驾驶系统按照高低分为L1-L5级别,逐步从解放双脚、解放双手、解放双眼、解放大脑到最终的无人驾驶状态。级别越高,数据采集量和传输量也就越大,对芯片计算能力以及实际应用性能要求提高。

智能机器人:智能机器人的需求繁杂,需要结合应用场景做出准确的判断。因此,机器视觉需要在极短时间内处理大量信息来进行复杂的物体识别和分类,不断对算力提出更高需求,同时还要实现高性能、低功耗、低延时的目标。

智能安防:公共场所中摄像头已无处不在,无论是新装的智能化摄像头还是用来改造升级的AI计算盒子,针对摄像头采集的人、车、物及行为识别等大量图像/视频信息都需要NPU来支持相关算法的处理分析。

酷芯NPU如何解决?

 

 

 最高支持128Tops算力 

满足多场景应用

酷芯NPU支持1-128Tops算力范围,覆盖智能安防、智能机器人、智能驾驶等多场景。

在汽车领域中,随着各种摄像头、毫米波雷达、激光雷达等传感器上车,由此采集的大量信息需要被快速建模处理,从而实时感知周围的环境做出决策。酷芯NPU Gen 4将提供高达128Tops的算力,为自动驾驶提供更高阶的安全支持。

多核更灵活  响应更多需求

算法、算力和数据是人工智能的三要素,算法的创新、算力的增强和数据的累积三者形成正循环,从而决定人工智能的智力不断突破。

算力作为算法的支撑,酷芯NPU Gen4支持多核NPU,可以支持比单核更复杂的算法,适合在大算力下高并行负载。多核神经网络处理器主要由多个单核NPU构成,它们之间通过专用内部互联系统连接。

 

 

 多精度覆盖  量化能力更强

酷芯NPU从Gen1支持8bit/16bit/浮点三种精度,到Gen 2可支持8bit/16bit混合精度,目前Gen 4拓展至更低精度2bit/4bit。精度的降低意味着可以将原本较高精度占用的存储空间在进行量化后大量减少对内存的使用,同时也降低对带宽的占用率。

另外很多层级中的计算其实并不需要高精度。减少计算所需要的数据精度,可以实现只需要较低精度就可以完成高质量的量化,以此降低能耗,提高能效比。并且还可以动态切换计算精度,对应的神经网络的计算能力可以满足大多数应用的需求。

 

 

 酷芯NPU计算效率对比

支持稀疏计算  提高MAC利用率

有效利用NPU的一个重要挑战是实现高资源利用率,减少非必要的运算,酷芯NPU支持结构化/非结构化稀疏计算,可以裁剪计算中的0值或模型中最不重要部分的冗余,就可以保证降低不必要的存储和计算,提升机器学习模型部署时的性能。

 除此之外,酷芯NPU支持多种深度学习框架以及上百种算子,具备更强的平台兼容性和网络适配性。

 

 

 在人工智能领域,GPU在大模型运算方面极具优势,而NPU以其低功耗、高算力将深度学习系统做到小型化,使人工智能在嵌入式机器视觉应用中大放异彩。随着未来对高性能计算领域的更高要求,NPU具有巨大的发展潜力。

AI大算力场景加速发展,NPU如何破局?

 

 

 ChatGPT和GPT-4等大规模语言模型的走红,迅速点燃了舆论对人工智能的热情,也让人工智能芯片受到产业界的强烈关注。相比CPU、GPU等通用芯片,NPU(神经网络处理器)能够以更简单的控制流、更高的效率、更低的功耗处理AI工作负载。随着人工智能技术栈和行业应用的发展,NPU一方面支持越来越多的模型,包括GPT-4采用的Transformer模型;另一方面,也从AIoT走向消费电子、自动驾驶等更多领域。

3 月 28 日,安谋科技发布了最新一代NPU产品“周易”X2,将配合此前宣布的“周易”NPU软件开源计划,为人工智能的应用创新——尤其是面向自动驾驶等大算力、高精度、强实时场景提供软硬件支持。

 

 “周易”X2 NPU主要功能升级

多核心、大算力、多精度,助力AI多场景落地

随着摩尔定律放缓,通用处理器架构难以满足人工智能的密集型计算需求。数据显示,2000-2004年,每一美元能获取的芯片性能以每年48%的速度提升,而2008年以后已不足10%。在这种趋势下,专用芯片成为面向特定需求提升算力和能效比的新思路。

其中,NPU是面向机器学习和人工智能领域的专用加速芯片。相比CPU、GPU等通用芯片,NPU在电路层模拟了人类神经元和突触,针对AI计算涉及的大量神经网络模型进行特殊优化,能够以更高的效率、更低的能耗处理人工神经网络、随机森林等机器学习算法和深度学习模型。

如今,苹果、三星、oppo等多家手机厂商搭载了NPU,用于面部识别、拍摄物体及环境识别、影像处理等,为消费者带来3D动画表情、人脸解锁、AI场景识别、无损实时RAW计算等一系列新体验。随着人工智能向平板电脑、台式机等更多终端,家居、汽车等更多领域渗透,“万物智联”时代拉开序幕,这不仅考验着NPU的算力和精度,也对NPU架构的灵活性和兼容性提出了更高的要求。

此次安谋科技推出的“周易”X2 NPU聚焦综合性能的提升,兼顾了多终端、跨领域应用对大算力、高精度、灵活性、兼容性的需求。

在算力层面,“周易”X2 NPU不仅提升了单核性能,还引入了多核、多集群架构,能够支持高达320TOPS的大算力方案。相比采用单核架构的“周易”X1和“周易”Z系列,“周易”X2引入了由多个NPU核组成的Cluster(集群),较单核实现了算力的成倍提升。多个Cluster又构成了子系统,较单个Cluster进一步实现算力的成本提升,可支持320TOPS大算力产品的交付。

在精度层面,“周易”X2 NPU支持混合精度计算,支持整型的4bit、8bit、12bit、16bit、32bit以及浮点的16bit、32bit计算,可以更好地平衡功耗、算力密度和计算精度。

在灵活性层面,“周易”X2 NPU 的任务调度速度达到100纳秒。据安谋科技产品总监杨磊介绍,安谋科技为“周易”X2设计了硬件级别的任务调度加速单元,以支持多核或者多个计算单元的实时任务调度。

“当我的车有10个摄像头,有10路数据进来。任务调度器发现哪个NPU核是空闲的,就可以把任务立刻调度给那个核做计算,构建动态、实时的调度解决方案。”杨磊说。

在兼容性方面,“周易”X2 NPU支持自定义算子,满足各种模型部署需求,并针对ADAS、智能座舱、平板电脑、台式机和手机等应用场景提供了配置方案和专门优化。

面向消费级终端,“周易”X2 NPU则针对AI去噪、超分辨率、插帧等面向拍照、录像和视频会议的场景进行了优化。

面向自动驾驶等场景,“周易”X2 NPU可提供大算力配置方案。首先,专门的硬件加速任务调度器,能够更好地支持汽车判断前方目标并实时响应的需求。其次,对混合精度的支持,顺应了汽车场景对更高计算精度的追求。此外,安谋科技面向车载算法专门优化了Transformer模型的性能,在算力相等的情况下,Transformer的性能较上一代的“周易” Z2提升了10倍。

在边缘终端和自动驾驶等领域的基础上,“周易”系列还将向更高性能的场景拓展。

“过去几年里,‘周易’系列产品应用已经从AIoT领域,到现在的汽车、边缘智能终端等领域,未来会向更高性能的云侧和服务侧发展。我们希望‘周易’涵盖不同的应用场景,通过不同的配置,与更多领域、更加多样的系统结合。”安谋科技执行副总裁、产品研发负责人刘澍表示。

软件开源解决开发痛点,助力本土NPU生态构建

在面向更多行业、更多场景的落地过程中,NPU的应用开发也出现了一些痛点。由于缺乏统一的工具链,NPU在推理侧出现了硬件碎片化,增加了应用开发创新的代价和周期。另一方面,NPU处理AI模型的训练、推理时,涉及或产生大量数据,开发者对白盒软件、工具链的诉求越发迫切。

针对以上痛点,安谋科技发起了“周易”NPU软件开源计划,通过开放源码,满足客户更自主、灵活的算法移植需求。按照计划,安谋科技率先对外开放NPU中间表示层规范、模型解析器、模型优化器、驱动等,并提供免费的软件工具链,包括软件模拟器、调试器、C编译器。

 

 

 安谋科技“周易”NPU软件开源计划

“我们收集到很多用户反馈,最典型的是汽车应用场景。一方面,Tier1在实际应用过程中产生的算法和数据都是很宝贵的资源,如果在移植开发中遇到问题,Tier1希望在自己那侧解决,独立进行白盒的开发和调试。另一方面,客户有很多自定义算子的需求,这也对白盒化的软件和工具链有很强的诉求。基于这样的市场反馈,我们选择这个时间点推出开源计划。”杨磊在接受《中国电子报》采访时表示。

目前,安谋科技已开源“周易”NPU软件工具Compass的前端,并在开源计划的第一阶段开放了Compass解析器、NPU Linux驱动、Compass集成和模型仓库。

同时,安谋科技最新的一代V3架构为免费授权。根据安谋科技研发团队测算,如果开发者在软件参与“周易”的NPU开源项目,在硬件上兼容“周易”架构,无论在硬件开发还是在软件开发上,大概能节省超过50%的工作量。

后续,安谋科技还将逐步开放更多资源,例如模型量化、算子实现等源代码。

软件的开源不仅能提升开发效率,而且能够持续吸纳开发者在使用过程中的反馈,有利于行业生态的良性循环。一方面,NPU的软件开源可以提升用户开发效率,减少上市时间,并提升系统的能效表现。另一方面,开源有利于NPU在更多场合发挥更大作用,也令NPU IP厂商能够触达上下游企业,共同反哺本地化的NPU生态。

“NPU有很强的软件属性,并不是一个纯粹的硬件加速器,因为用户要在上面跑各种各样的应用或算法。每一个算法在硬件上的部署或移植,都会为生态贡献了一份力量。”杨磊说。

目前,安谋科技已分别在代码托管平台Gitee、GitHub上建立NPU软件的开源库,并吸引了来自AIoT、智能汽车、智能操作系统等领域的第一批合作伙伴“入驻”。据安谋科技透露,以上合作伙伴均表示将基于NPU开源计划与安谋科技深化合作,加速构建本地化的智能计算生态“朋友圈”。

Arm底蕴与本土化创新结合,强化芯片设计“弹药库”

自1990年Arm公司成立以来,基于Arm架构出货的芯片已经达到2500亿颗。IP授权这一商业模式,也随着Arm的发展深入人心,成为芯片设计垂直分工的重要环节。

安谋科技作为独立运营、中资控股的合资公司,在吸纳和发挥Arm技术和生态优势的同时,立足并结合本地化需求,形成了“自研IP技术的创新发展与Arm IP相配合”的经营策略。据安谋科技介绍,其成立时与Arm签订了交叉许可协议,一方面可以向总部设在中国的合作伙伴开展集成电路IP的授权与技术服务;另一方面,也拥有独立的自主研发权力,可以结合中国市场需求自研基于Arm技术的IP与标准,本土团队研发的自研IP产权归安谋科技所有。

 

 

 安谋科技自研IP产品矩阵及相关服务

以“周易”NPU为例,安谋科技在自研其硬件IP和软件工具的同时,也吸引和培养了本地化的NPU工程师团队,为公司研发和用户开发提供本地化的支持。

“经过5年的努力,我们已经在北京、上海、深圳吸引和培养了很多工程师,整个团队拥有超过130位工程师从事NPU的软硬件全栈研发。我们已经开发了三代NPU产品和架构,也专注于IP和SDK开发,以及对国内客户的服务和支持。”安谋科技NPU研发高级总监孙锦鸿表示。

时至今日,安谋科技在国内的授权客户超过370家,累计芯片出货量突破300亿片。除了“周易”NPU,安谋科技还自研并推出了“星辰”CPU、“山海”SPU、“玲珑”ISP与“玲珑”VPU等本地化IP,而包含CPU、NPU、信息安全、多媒体的IP矩阵,为芯片企业打造异构集成方案提供了“弹药库”,并有利于提升芯片设计的灵活性。例如博通2022年推出的两款Wi-Fi蓝牙双模SoC芯片,就集成了“星辰”处理器和“山海”的信息安全核心模块。

本次“周易”NPU软件开源及相应的生态合作措施,也是对安谋科技“生态伙伴计划”的承袭和补充。该计划发起于2022年7月,依托Arm技术生态与自研IP产品矩阵,与生态伙伴共建上下游产业生态,共同推动各领域的软硬件、解决方案、工具链、行业标准以及社区联盟等生态环节的发展。截至目前,已有多家芯片设计公司、解决方案提供商、系统平台公司等加入生态伙伴计划。

 

 

 安谋科技生态伙伴计划

IP作为硬件设计的核心资产,不仅在芯片设计和产品定义中发挥了重要作用,也对芯片产业的底层创新具有深远意义。而IP的迭代与创新,需要与芯片、软件、生态乃至标准等产业链关键节点的发展趋势与共性问题耦合,才能推动芯片产业的螺旋上升。

“对产业来说一个,IP公司的意义和作用就在于,它首先看到了生态和技术的发展趋势,帮助客户和合作伙伴解决一些重复投入的问题。通常来说,我们解决了底层的技术问题和创新问题以后,可以帮助客户合作伙伴节省1到2年的开发周期。客户利用这些IP,能够更高效地推出可量产的芯片,达到应用级创新的目的,这是IP作为基石帮助客户走向成功的定位和角色。”刘澍说。

 

 

参考文献链接

https://mp.weixin.qq.com/s/NHrTBbLNrPEiJwjbuYZNNg

https://mp.weixin.qq.com/s/vrlQHkamPZbfDNzqYDxOCA

参考资料:
1. 深度学习模型量化(低精度推理)大总结 
https://blog.csdn.net/zlgahu/article/details/104662203

2. 诞生七年的NPU 
http://www.360doc.com/content/20/1105/19/71489558_944287387.shtml

3. ADS NPU的稀疏计算 
https://blog.csdn.net/GGAI_AI/article/details/126359057

4. NPU架构分析与应用
https://zhuanlan.zhihu.com/p/552358604

5. NPU架构与算力分析 
https://zhuanlan.zhihu.com/p/551893185

6. NPU的发展概况 
https://blog.csdn.net/CHAO_bismarck/article/details/106651814

7. 低比特模型量化
https://blog.csdn.net/qq_29788741

8. 单精度、双精度、多精度和混合精度计算的区别是什么?-面包板社区
https://www.eet-china.com/mp/a32433.html

9. 关于自动驾驶芯片算力那点事
https://baijiahao.baidu.com/s?id=1704329592285301569

10. 大数据“引爆”算力需求 “算力芯片”能否乘风起航?https://www.thepaper.cn/newsDetail_forward_21660257

11. ChatGPT爆火,开启AI竞争新赛道 
https://www.thepaper.cn/newsDetail_forward_21989989

12. NPU的性能参数分解 
https://blog.csdn.net/qq_45763093/article/details/118519790

 

「AI芯片/GPU/NPU/DSP专用处理器」技术特征比较分析最新2022综述论文

点上方人工智能算法与Python大数据获取更多干货

在右上方 ··· 设为星标 ★,第一时间获取资源

仅做学术分享,如有侵权,联系删除

转载于 :专知

微处理器是现代信息系统的核心基础设施. 大数据、人工智能、5G 等技术的快速发展催生了数据量的爆发性增长, 随之对数据处理能力的需求也急剧增长. 专用计算技术被广泛认为是后摩尔时代的计算机体系结构演化的重要方向. 专用处理器技术的发展一直伴生着通用处理器的发展, 数字信号处理技术甚至早于传统意义上的通用处理器. 通用处理器技术的发展, 不仅在商业上取得了巨大的成功, 很多关键技术也被专用处理器吸收借鉴用于提升专用计算的性能、优化可编程性等. 本文主要分析了数字信号处理器(DSP)、图像处理器(GPU)、深度学习处理器(AI 芯片)和网络处理器(NPU)的关键技术特征, 并进一步对专用计算架构未来发展可能涉及的关键点作出了简要的评述.

https://www.sciengine.com/publisher/scp/journal/SSI/52/2/10.1360/SSI-2021-0274?slug=abstract

1 引言 

如果不考虑成本因素, 一颗理想的处理器应该可以像 CPU (central processing unit) 一样通用, 像 DSP (digital signal processor) 一样处理数字信号, 像 GPU (graphics processing unit) 一样处理图像数 据, 像 NPU (network processing unit, 网络处理器, 也简称 NP) 一样处理网络数据包, 像 “矿机” 一样 竞争加密货币共识算力, 像神经网络芯片一样运行深度神经网络训练和推理等. 但是, 实现如此万能的 处理器芯片是不现实的, 至少从经济成本角度不具备可行性, 专用化就成为了发展的必然 [1] . 专用处 理器并不是通用 CPU 完全改弦易辙, 而更像是基于通用处理器技术的一种分化. 所以我们看到现代 DSP、基带处理器、网络处理器的很多成功产品都包含一个甚至多个通用 RISC (reduced instruction set computer) 核来做系统管理、运行操作系统、与主机通信, 将协处理器也变成一个具备自我管理能 力的主动设备. 从时间上看, DSP 可能也是出现最早的计算芯片, 在集成电路发明 (1958 年) 之前, 德 州仪器 (TI) 公司已经在大批量生产硅晶体管器件. TI 公司在 1967 年发明手持计算器, 1971 年研制 了单芯片微型计算机. 在此之前的 “DSP” 只能称为利用分立器件信号处理 (processing), 还不是名副其实的 “processor”. DSP 没有被冠名某个 “PU” 的称呼也许正是由于出现过早, 当时 “PU” 的称呼还 没流行起来. CPU 最早出现在 1971 年, GPU 出现在 1993 年 (虽然当时的名称还不叫 GPU), 网络处 理器 (NPU) 出现在 1999 年. 从这些时间关系上看, 我们大体可以看出人们首先是对信号处理有需求, 然后才扩展到其他更普遍的数据处理需求上, 因此有了对通用 CPU 的需求. 再由于应用的驱动, CPU 难以满足性能要求, 进而发展出了 GPU, NPU 等更专用的计算芯片. 从这个意义上看, 通用 CPU 技 术可以视为处理芯片的基本技术, 在此基础上发展了高性能 CPU、现代高效能 DSP [2]、高吞吐 GPU、 高通量 NPU [3] 等各种 “XPU”. 个人认为分析这些 XPU 的结构特征有助于更深刻地理解 “通用” 和 “专用” 的本质差异.

针对专用处理器有很多关键问题, 包括: 芯片在架构上有什么差异, 各自具备什么样的软件生态, 能否取得商业上的成功的决定性因素是什么等, 而答案也莫衷一是. 本文的重点是试图从架构层面去 看待这些不同类别的专用处理器芯片的差异, 帮助我们预测未来架构的发展趋势, 对于专用处理器技 术未来的发展做了些许开放性的讨论, 抛砖引玉. 其次, 本文主要讨论经典专用处理器的演化, 而把通 用 CPU 的发展作为背景而暂不加以专门讨论. 同时, 本文主要以 DSP、GPU、AI 芯片和 NPU (网络 处理器) 为主要参考对象, 其中 DSP 以 TI 公司的 C6000 系列为主要参考, GPU 以英伟达 (Nvidia) 公司的 Tesla 架构为主要参考 [4] , AI 芯片以寒武纪的 DianNao [5] 深度学习处理器和 Google 公司的 TPU (tensor processing unit) [6] 为主要参考, NPU 以迈络思 (Mellanox) 公司 (已经被 Nvidia 公司收 购) 的 NP-5 和因特尔 (Intel) 的 IXP [3] 为主要参考, 均为各个公司比较有代表性的产品. 限于篇幅, 本文尚未将新出现 DPU (data processing unit) [7] 芯片架构纳入讨论, 相关内容将作为未来工作. 

专用计算架构的设计难度不亚于通用 CPU, 核心目标就是 “有条件地” 高性能. 无论是一个 3 W 的 DSP, 还是一个 300 W 的 GPU, 也无论是面向哪一个专用领域定制化的设计, 都追求在给定的功 耗、芯片面积约束下实现高性能. 然而, 这个问题的复杂性在于专用计算并不仅仅是设计几个运算单 元, 配合几条数据通路那么简单, 它涉及到 IO 子系统、操作系统内核、网络协议栈、访问安全、虚拟 化、二次开发的方便程度等层面的问题, 其中任何一个层面的问题的专业性都极强, 要能融汇贯通并 能系统地组织起来是一个巨大的挑战. 挂一漏万, 本文的内容只代表笔者的观点. 

本文余下内容安排如下: 第 2 节阐述了专用处理器的基本概念, 第 3∼6 节分别介绍了数字信号 处理器 (DSP)、图形处理器 (GPU)、AI 芯片和网络处理器 (NPU) 4 类重要的专用处理器的基本特征, 第 7 节表述了笔者对于专用处理器的几点思考, 据此在第 8 节提出了构建专用处理器系统结构的关 键点, 第 9 节总结全文.

专用处理器的基本概念

专用处理器(或专用加速器), 顾名思义, 就是用于处理“特定应用"的处理器, 相对于通用处理器而言, 这类处理器性能更高、功耗更低、通常价格也更便宜, 但是使用范围也相对有限. 计算芯片产业在过去50年的发展历程中, 比较成功的专用处理器门类只有数字信号处理器(DSP)、图形处理器(GPU)和网络处理器(NPU), 这是20世纪90 年代就已经基本定型的格局. 在过去5年中, 用于处理深度学习的神经网络处理器(AI芯片)也开始快速发展, 比较成功的案例包括Google公司的张量处理器TPU [6]、寒武纪公司的DianNao系列深度学习处理器 [5] 等. 专用处理器的最终目标不是替代通用CPU, 而是与现有的通用CPU技术协作, 即将部分CPU运行效率低下的应用卸载(offloading)到专用加速器上运行, 通过构建异构计算平台来高效地处理计算任务. 从产业生态的视角来看, 相比于通用处理器的硬件与软件分离的“水平"模式, 专用加速器更注重软硬协同的“垂直"发展模式.

图1从芯片的效能和适应性两个维度来刻画芯片的特征. 这里效能指的是单位功耗下提供的计算能力, 适应性就是通常意义下的通用性. 业界通常将数据处理芯片大体分为三大类: 处理器芯片、ASIC (application specific integrated circuit)芯片和FPGA (field programmable gate array)芯片. 处理器芯片包括CPU, GPU, DSP等, 是用户可编程的芯片; ASIC是面向特定应用(application-specific)的专用集成电路[8], 通常也称之为全定制芯片, 不可编程; FPGA器件属于专用集成电路中的一种半定制电路, 是可“编程"的逻辑列阵, 利用查找表来实现组合逻辑, 但FPGA的“编程"与处理器芯片的软件编程不同, 主要是配置逻辑, 可以理解为硬件编程. 从相对性能来看, ASIC芯片最好, 处理器芯片最差, FPGA介于二者之间; 但是从应用的适应性来看, 处理器芯片最好, FPGA次之, ASIC芯片最差. 值得注意的是这种分类标准并不是按照电路制造工艺, 例如处理器芯片和ASIC芯片本质上都是全定制的集成电路, 处理器芯片本质也是一种ASIC, 但与通常意义上ASIC的最大差别还在于是否具有指令集, 有指令集的就更类似传统的处理器, 反之就归类为ASIC. 此外, 处理器芯片由于其使用广泛、出货量大, 与软件生态联系尤其紧密, 所以将其独立为一个大的类别.

专用处理器芯片的研发追求达到效能和适应性的一个新的帕累托最优(Pareto optimality): 效能接近ASIC, 但是适应性向处理器芯片靠近. 在效能上, 专用加速器通过定制化实现远高于通用处理器芯片的效能; 在适应性上, 从面向特定应用(application-specific)的ASIC范式进化为面向特定领域(domain-specific)的新范式, 不妨称之为“DSIC (domain-specific integrated cirucuit)". DSIC与处理器芯片相比虽然弱化了通用性, 但与ASIC相比也强化了适应性.

无论是DSP、GPU、AI芯片、NPU, 还是现在更新的各种“XPU", 都是处理数据的芯片, 最终都需要执行二进制代码的程序来完成计算. 因此专用处理器设计也大都需要涉及如下6方面内容:(1)约定二进制代码的格式, 即指令; (2)需要将指令变换为机器码, 即汇编; (3)为了提高编程方便程度, 需要将高层程序语言转换为汇编语言, 即编译; (4)为了提高编程的效率, 提供了各种编程环境, 即集成开发环境(integrated development environment, IDE); (5)充分复用高度优化的代码, 即应用程序库; (6)为了方便程序调试, 还需要提供各种仿真工具, 即仿真器(emulator). 所以, 从系统抽象层次来看, 与通用处理器几乎没有区别. 但是不同的DSIC侧重点不同, 有些DSIC只提供API (application programming interface)方式的调用, 例如早期的GPU, 将编译、汇编等过程全都凝结在运行时库中, 从用户角度看, 调用过程与使用OpenCL [9]中的“内建核函数(built-in kernels)"类似, 与调用普通的库函数过程相同; 虽弱化的可编程性, 但是强化了用户使用的便利性. 但也有些DSIC, 如DSP, 使用了大量底层编程, 虽编程难度高, 但方便精确地性能调优.

3 DSP: 灵活的数据格式

DSP也许是最早出现的专用集成电路. DSP的使用范围非常广, 从简单的MP3播放器到最新一代的5G通信都有使用场景. 常见的DSP大多带有丰富的外设接口, 例如PCIe、以太网、UART、I2C等, 尤其在很多嵌入式设备中, 丰富的外设接口对于提高系统的集成度、降低成本和功耗都有很大帮助, 所以很多DSP产品也演变成带有丰富外设接口的SoC (system on chip)芯片, 如图2(a)所示. 但是DSP最大的特点还是进行数字信号处理的核. 大多数DSP由于使用场景多为移动设备, 或者只是作为CPU系统的数据输入前端, 在系统中的地位并不高, 通常在功耗、散热等方面都不可能给予太高容限, 所以功耗敏感、计算位宽对DSP很重要, 定点、浮点, 半精度、单精度、双精度, 16位、24位、32位、40 位等各种数据格式规范“五花八门". 在寻址上, DSP对于数据对齐方式也最灵活, 设置了大量专门的指令对数据进行对齐操作.

TI公司是DSP芯片的龙头, 被媒体评为是半导体行业利润率最高的公司. 2019财年营业总收入144亿美金, 税后净利润高达50亿美金, 利润率高达35%. 作为比较, 同期Intel收入720亿美金, 利润率29%; 英伟达总营收110亿美金, 利润率25%. TI公司的DSP主要分为3大系列: C2000系列, 集成了AD转换、Flash存储等, 主要用于控制马达、变频器等工控产品; C5000系列, 16 位定点, 主要用于便携声音、视频、机顶盒等设备; C6000系列, 采用了VLIW (very long instruction word)架构, 每秒执行指令峰值可达百亿条, 主要用于数字通信、图像增强、传输、加密解密等对性能要求更高的场景. 下面就以比较复杂的C6678为例做简要介绍, 其顶层架构如图2所示.

粗略观察DSP核其实与通常的RISC核没有太多区别, 如图2(b)所示: 都包括了取指令、指令分发、译码、寄存器读写、Load/Store、计算执行等环节, 但微体系结构有非常显著的特色. 例如, 普通采用超长指令字(VLIW)架构、突出的浮点处理能力、指令与数据分离等, 分析如下.

4 GPU: 数据并行的典型代表

GPU是专为图形(graphic)处理设计的专用处理器. 随着多媒体可视化需求的爆发, 传统的CPU是无法应对每秒动辄数百兆的视频渲染等任务. 高清图像、视频数据天然具备数据并行的特征, 可以通过高度的并行性来同时计算像素块中所有像素的色度、亮度等数据. 图3显示的是英伟达公司研发的经典Tesla架构的GPU, 之所以经典, 是因为从这一代架构开始, GPU 开始朝着通用GPU (即GPGPU)发展, 为后续GPU在深度学习领域的广泛应用奠定了基础.

5 AI加速器: 大规模张量处理

随着深度学习算法效果在图像处理中取得突破, 深度学习在越来越多的应用领域被应用. 在过去5年中, 用于处理深度学习的神经网络处理器(AI 芯片)快速发展, 其中比较成功的案例包括寒武纪的DianNao系列深度学习处理器[5] (图4)、Google的张量处理器TPU [6] (图5) 等. AI加速器大多针对机器学习中张量运算展开加速, 多基于SIMD方式实现, 单条指令通常可以完成一个矩阵的乘法运算, 因此也称为张量处理器. 除了张量处理之外, 还会伴有一些激活函数处理等非线性操作, 运算量相对较小, 实现起来也相对简单. 此类加速器重在张量处理, 控制相对简单, 通常不会集成通用处理核.

6 NPU: 为网络数据包处理而生

计算机网络是计算机系统发展过程中的一个伟大发明, 网络是大规模并行计算、分布式计算的必要条件. IBM于1974年发布SNA (system network architecture)系列网络协议, 主要解决IBM 的大型机与外围节点的通信问题. 这些节点并不是完整的计算机, 而是像用于ASCII图像显示终端的IBM-3174控制器、打印机等设备. 1974年之前程序还写在纸带上, 主要处理模式还是批处理; SNA引入以后, 开启了事务处理的先河, 把网络通信中容错任务交给了网络协议来处理, 并且基于SNA后来发展出了应用程序接口(API)等概念. 随着后续几年越来越多的设备开始采用网络来连接, 不同厂商提供了不同的网络, 为了解决不同网络间的互连互通(internetwork communication), 美国标准化组织于1981年提出了经典了开放系统互连(open systems interconnection, OSI) 7层模型[13], 这个参考模型一直沿用至今, 仍未过时.

网络处理器的出现是网络技术发展的必然. 随着OSI模型的普及和广泛接受, 在2000年前后, NPU还是学术界研究的热点领域. 第1颗网络处理器于1999年问世, 随后得到了许多半导体公司、网络设备厂商的关注, 据不完全统计, 前后有30余家厂商完成了500余款NPU的设计, 和现在的各种“XPU"的多样性相比有过之而无不及. IBM、 因特尔、思科、EZChip (于2015年被Mellanox收购)都推出了相应的系列产品, 典型如Intel的IXP系列和Mellanox的NP系列网络处理器.

各家NPU产品虽然各有差异, 覆盖不同的协议层次, 面向不同的协议内容, 但是它们的结构模块具有相似性, 例如都包含的模块包括通用处理器核、队列管理单元、路由管理、缓存管理、IO接口管理等. 值得一提的是, 最近兴起的DPU架构, 有很多特征借鉴了NPU技术, 特别是在对路由、交换、数据包处理的高效支持上, 相关讨论将作为未来工作开展.

7 关于专用处理器的几点思考

表1对前述的DSP, GPU, AI芯片和NPU从架构特征、编程特点和性能刻画3个维度进行了比较, 概述了这4类专用处理器的主要区别. 分析可以看出, 专用处理器的设计相比于通用CPU而言, 侧重点非常不同. 比如, 不太强调指令集, 也没过多的突出应用生态, 但是非常注重极致的性能优化, 注重与具体计算模式的匹配. 以下是笔者关于专用处理器的本质特征的几点思考, 抛砖引玉.

 结论

采用专用处理器芯片是计算系统提升算力、提高效率的有效手段, 业界对于“XPU"概念的广泛关注反映了人们对新型计算芯片期望. 本文以经典的数字信号处理器DSP、图形处理器GPU、 AI芯片、网络处理器(NPU)作为案例, 以这4类专用处理器的结构特征为分析重点, 总结得出DSP最重要的结构特征是支持灵活的数据格式, 能效比优化极致; GPU 是充分利用数据并行的典型, 并且正在朝着通用化的方向发展; AI芯片围绕大规模张量处理, 支持可变精度来优化性能; NPU聚焦网络数据包处理, 构造高通量的流水线. 笔者发现一些在通用CPU中没有得到成功发展的技术, 如VLIW, 在专用处理器中发挥了重要作用; 而通用处理器体系下最重要维度, 如指令系统, 在专用处理器中反而被弱化了. 这些差异进一步引发了笔者从经典体系结构的角度对专用处理器的几点思考. 最后, 本文讨论构建专用处理器系统结构的4个关键点: 即针对数据平面的架构, 融合新存储、传输、封装等新技术, 面向领域专用语言和充分利用好“专用"这个特征来简化系统设计.

---------♥---------

声明:本内容来源网络,版权属于原作者

图片来源网络,不代表本公众号立场。如有侵权,联系删除

AI博士私人微信,还有少量空位

如何画出漂亮的深度学习模型图?

如何画出漂亮的神经网络图?

一文读懂深度学习中的各种卷积

点个在看支持一下吧

以上是关于NPU大算力技术分析的主要内容,如果未能解决你的问题,请参考以下文章

国内首款百TOPS大算力芯片征程5,Q4将落地车企正式SOP

大算力时代,中国可重构计算架构芯片发展到了哪一步?|量子位·视点 x 清微智能...

基于RK3588人工智能大算力5网口工业交换机

NPU芯片技术与市场发展杂谈

单卡就能运行AI画画模型,小白也能看懂的教程来了,还有100万卡时免费NPU算力可用丨昇思MindSpore...

「AI芯片/GPU/NPU/DSP专用处理器」技术特征比较分析最新2022综述论文