AI芯片-算力相关介绍

一、参考资料

TOPS(处理器运算能力单位)
芯片的算力到底有什么用?算力是怎么评估的?
NPU架构与算力分析

二、相关介绍

1. FLOPS

FLOPS(floating-point operations per second)表示“每秒所执行的浮点运算次数”。它常被用来估算电脑的执行效能,尤其是在使用到大量浮点运算的科学计算领域中。正因为FLOPS字尾的那个S,代表秒,而不是复数,所以不能省略掉。

1.1 FLOPS换算

1PFLOPS=1024TFLOPS

1TFLOPS=1024GFLOPS

1GFLOPS=1024MFLOPS

一个MFLOPS(megaFLOPS)等于每秒一百万(=10^6)次的浮点运算;

一个GFLOPS(gigaFLOPS)等于每秒十亿(=10^9)次的浮点运算;

一个TFLOPS(teraFLOPS)等于每秒一万亿(=10^12)次的浮点运算;

一个PFLOPS(petaFLOPS)等于每秒一千万亿(=10^15)次的浮点运算;

2. TOPS

TOPS(Tera Operations Per Second)表示”每秒操作次数“,1TOPS代表处理器每秒钟可进行一万亿次(10^12)操作。

3. OPS与FLOPS

OPS与FLOPS类似,只不过OPS一个是操作次数,FLOPS一个是浮点操作次数。OPS是操作数量,FLOPS为浮点操作数量,通常情况下,FLOPS比OPS稍大。如果按照FP16衡量标准,两者可近似于相等。

传统的GPU采用GFLOPS,NPU的时代为了支持AI计算,采用TOPS。
在这里插入图片描述

4. 算力

算力是芯片单位时间里处理数据的能力,算力越高,单位时间里处理的数据量越大。简单理解,算力就是芯片解决某一个领域问题时单位时间内所能计算的次数。

第一是是算力可以用客观的数据去衡量,比如说常见的 GFLOPS 也就是每秒十亿/十亿(109)次的浮点运算) , TFLOPS 则是等于每秒一兆/一万亿(1012)次的浮点运算,PFLOPS(petaFLOPS)等于每秒一千兆/一千万亿(1015)次的浮点运算;

第二则是算力限定了领域,不同类型的芯片有自己侧重的场景,没必要跨领域对比,不同测试方法的结果也不太能直接横向对比。

所以要确定不同精度算力的性能,需通过各自领域内的专用测试程序来测试:比如说测超算有 Linpack 主要考察平台的双精度浮点算力;测人工智能应用性能的 Resnet-50 更看重的是半精度算力。

4.1 AI芯片算力

低标准下的高算力是比不上高标准下的低算力的,比如INT4标准下的100TOPS算力是要远弱于INT8标准下的90TOPS的。高标准下高算力,才能称之为强算力芯片。

评估AI芯片算力的常见单位是OPS,意为每秒执行的操作(operation)数量。不同于CPU和GPU等通用处理器,在单个时钟周期下的可执行操作数量很低;AI芯片通过设计特殊的计算单元,实现了超高的操作数量。

例如谷歌的初代TPU,其256x256的脉动阵列,在单个时钟周期下可执行65536个操作数量。由于其乘法单元是8bit的,主频700MHz,故算力为int8@65536x(1+1)700MHz=92Tops。其中1+1分别代表1次加法操作和1次乘法操作。

4.2 自动驾驶领域的算力

在这里插入图片描述
在这里插入图片描述
Orin芯片

蔚来汽车,其首款轿车ET7宣布,该车型搭载4颗英伟达Orin芯片,其制造工艺竟然达到7nm,总算力甚至高达1016TOPS。蔚来CEO李斌还断言,未来高端智能电动汽车新的定义标准为马力和算力。

而当下热门特斯拉FSD ,采用的制造工艺为14nm,其算力为144TOPS。两家主机厂不同产品的算法相差接近10倍,可想而知算力的竞赛有多激烈。蔚来CEO李斌还断言,未来高端智能电动汽车新的定义标准为马力算力

华山二号A1000芯片

黑芝麻智能发布的华山二号A1000系列,这款自动驾驶计算芯片已经正式通过AEC-Q100 Grade 2级别的车规认证。
在这里插入图片描述
黑芝麻智能发布的华山二号A1000系列,这款自动驾驶计算芯片已经正式通过AEC-Q100 Grade 2级别的车规认证。

4.3 手机领域的算力

在这里插入图片描述

芯片名称 芯片类型 衡量标准 算力
华为麒麟980 4.2TOPS
华为麒麟970 1.92TOPS
芯片名称 芯片类型 衡量标准 算力
OPPO MariSilicon X NPU INT8 18TOPS
芯片名称 芯片类型 衡量标准 算力
苹果A15 INT8 15.8TOPS
苹果A14 INT8 11TOPS
苹果A13 INT8 6TOPS
苹果A12 INT8 5TOPS
芯片名称 芯片类型 衡量标准 算力
骁龙888 INT8 26TOPFS
骁龙870 INT8 15TOPFS
骁龙865 INT8 15TOPFS
骁龙855 INT8 7TOPFS
骁龙8 Gen1芯片 INT8 6TOPFS
芯片名称 芯片类型 衡量标准 算力
联发科天玑1200 15TOPFS
联发科天玑1000 4.5TOPFS

骁龙888、苹果A15都是系统级的芯片。

除开自动驾驶,深度学习在手机拍照方面先行者Google也有很多探索,Google在2017年的Pixel 2就加入了Pixel Visual Core,PVC严格的说只能算是特殊领域专属架构(Domain-Specific Architecture)的ISP,但还不能算是NPU(Neural Processing Unit 神经网络处理器),直到2019年的Pixel 4搭载的Pixel Neural Core才能算是真正的神经网络处理器。

OPPO的马里亚纳X(MariSillicon X)是全球首个移动端6nm影像专用NPU,拥有出色的AI算力和超高的能效比,在INT8标准下,MariSilicon X的算力达到了18TOPS,超过了苹果A15芯片,是目前已经公布的INT8量化标准下的手机NPU算力最高的,是行业共识的INT8标准下的的第一算力。而应用到实际场景下的能效,每瓦性能也达到了11.6TOPS,这基本也是手机NPU能效的里程碑了。

马里亚纳X不同于骁龙Gen 1或者天机9000那样SoC片上内置NPU ,而是一个整合NPU和ISP(Image Signal Processor 图像信号处理器)功能的独立芯片。和Pixel Neural Core比较类似,这个芯片位于SoC的前端,在CMOS和SoC之间,这样图片数据在进入SoC之前就可以进行预处理。
在这里插入图片描述
马里亚纳X的ISP部分率先支持20bit的超高动态范围,而高通骁龙8 Gen 1和天玑9000都仅能支持18Bit,20Bit相比18Bit有更高的画面宽容度,此外Find X5 Pro的RGBW像素传感器的RGB和W分隔处理也是由ISP完成。

ISP初步处理好的数据再通过NPU进行降噪和HDR处理,提升画面的高感和宽容度表现(具体的方式应该和前面提及Google HDR算法差不多)。并且进行这个HDR处理的并不只是针对的单帧照片,不能等待拍摄完再慢悠悠转圈圈,而是需要实时处理4K30的超高清视频,有更高的实时性需求。
在这里插入图片描述
骁龙888的内置NPU 4K处理性能只有2FPS,基本是幻灯片级别。而在使用马里亚纳X的NPU之后,40FPS的性能就可以满足实时处理4K30视频HDR的性能需要。
在这里插入图片描述

能够实现4K30的实时HDR处理,是需要由马里亚纳X高达18 TOPS的INT8精度的算力来支撑的。
在这里插入图片描述
马里亚纳X有18TOPS的INT8算力,是明显高于前面介绍Google Tensor的5.7 TOPS,也要高于iPhone 13搭载A15的15.8 TOPS,骁龙8 Gen1和天玑9000的INT 8性能数据官方并没明确说明,这里就不做比较。但马里亚纳X同SoC内的NPU并不是抢占或者排他关系,而是可以分工负责流程处理不同的阶段,达成合作共赢。

除开马里亚纳X,其他手机或者独立芯片设计公司发布的NPU或ISP也都会宣告算力数据。无论是开发人员还是用户,面对算力数据的时候要有量化指标,一般是INT8或者INT16,少部分会使用INT4,实际上我们看全球大多数芯片公司的宣发,绝大多数会采用INT8或者INT16量作为指标。因为INT4算正负标识只能表示-8到7的整数,不算则是0-15的整数,能够实现的精度和范围太低,在神经网络中使用有比较大的限制,即使可以转到更小的神经网络也会有性能损失。

手机同车机的NPU虽然在架构方面差不多,但在具体需求上还是有不同:车机的NPU由于供电和散热都有更大冗余,对于功耗控制就没有敏感,就可以用相对落后的工艺,比如前面说的Tesla的FSD和海思的MC810都是采用的14/16nm工艺;而手机对于功耗也更为敏感,在马里亚纳X是采用的台积电先进6nm工艺。TSMC N6是N7节点的改良工艺,相比14/16nm在相同性能的情况,功耗大概要低上2/3。
在这里插入图片描述
N6先进工艺加持再加上专用电路的效率优势,使用马里亚纳X功耗仅为传统芯片的47%,再考虑20倍的性能差距,马里亚纳X有接近骁龙888的内置NPU的50倍效能比。更高的 FPS可以提供更为流畅的预览和拍摄性能,更高的效能比可以大幅降低手机拍摄时候的发热和电力消耗,这些改变都是可以大幅提升用户拍摄时候的使用体验的。

流片

OPPO的产品经理曾经介绍马里亚纳X的台积电6nm工艺流片费用超过人民币一亿元,流片的意思是将芯片生产全要素流程完整走一遍的试生产,如果不顺利需要反复调整这个成本还会更高,之前华为海思9000作为5nm首发试验的流片费用传说更是高达3亿。所以OPPO刚刚宣布要给TSMC下1000万片的订单,有效降低单片成本。而且马里亚纳X并不像有些厂商的“自主研发芯片”更像是贴牌冠名,马里亚纳X从芯片IP设计到算法,都是依靠自己组建的团队完全自主一步一步踏踏实实的走出来的,再加上量产封装测试的成本,马里亚纳X早期成本是非常贵的。另外,之前和他们聊的时候,听说早期他们本来采用的是12nm工艺的方案,后来觉得没啥用,做出来的时候SOC都可能进化到4nm甚至更先进了,所以下决心直接从6nm出发。

马里亚纳X的定位是影像专用NPU,特殊领域专属架构DSA使得其比较封闭,第三方应用是很难调用的,这样并不利于整体生态的发展。因此欧加集团的自研路线应该会和Google从Pixel Visual Core到Google Tensor的路线相近,先从马里亚纳X这样的特殊领域专属架构开始,在研发和运营过程中积累经验/培养团队,后续的最终目标还是作为Fabless(无晶圆生产能力的设计公司)研发独立设计的整体SoC,并形成完整的从硬到软的生态。

UV域与RAW域

在马里亚纳芯片加入后,OPPO做了另一件很重要的事儿,把计算摄影从UV域提前到了RAW域。
在这里插入图片描述
手机图片的处理,一般会经历三个过程:原始的RAW文件采集,转成RGB信号,再转成YuV信号编码,目前主流的手机HDR算法都是在YuV上进行的。

熟悉摄影的朋友应该知道,我们一般使用的图片是JEPG格式的,但如果是需要后期修图,则一般是用RAW文件,它能够记录更多的原始信息,图片后期处理本质就是算法,而算法输出结果和记录的原始信息是息息相关的,这就相当于极度保鲜的食材,越好的食材,越能够做出美味。

越是前端原始素材,它的细节保留越多,在处理的时候,能够用的信息就越多,OPPO在SoC的前端直接在RAW上做HDR,效果一定是最好的。

5. FP32与IN8

在这里插入图片描述

5.1 FP32

FP32是32位的二进制数,除开第一位(蓝色)是标明正负,除开后23位尾数(黄色),还有8位指数位(绿色)来提升数值范围和精度。传统以图像渲染为目标任务的GPU就是主要针对FP32来设计,流处理器的结构就十分复杂。

上面的图表我有写明具体转换算法,有兴趣的话,大家可以用下面链接的浮点转换器试试,就可以有更为深刻的理解:

浮点转换器:IEEE-754 Floating Point Converter

5.2 INT8

深度学习主要用到的是整型的INT8,甚至是更低精度范围的INT4。INT8除开第一位正负标识,后面的7位就说只能区分2的7次方即128个整数,再加上正负,也就-128到127一共256个数据(如果不算正负,那是0-255,也是256个数据)。但也就是这样的数据范围和精度,对于大多深度学习神经网络而言也是基本够用的。INT8能够更好的兼顾效率和泛用性,行业内的无论是intel的OpenVINO和NVIDIA的TensorRT应用都是以INT8为主。用INT4标注只是算力数值大比较好看而已,INT8的算力数据才是有更大的实用价值。

说明:传统GPU流处理器占大头的FP32部分是针对图像任务设计(Maxwell以前GPU和A100/H100这样的专业卡还有更高精度的FP64),对于大多深度学习任务而言就是多余的,仅仅只用的上少数的INT32。因此用传统GPU跑还不如用更多更小的纯INT计算单元来跑深度学习,这样来的性能更好,效率更高,成本更低,这也就是前面那些车企都不约而同选择专用神经网络处理器的原因。

5.3 INT4

个别场合里可以使用 INT4,个别场合就是指对准确度安全性要求相对较低的情况,毕竟 INT4 在有符号的情况下所能提供的正数数值范围只有 0 到 7、负数范围是 -7 到 -1,无符号时的正数范围是 0 到 15,其数值范围相当有限,当卷积核有负值或者之后归一化的时候,INT4 就会捉襟见肘。

6. INT8是个性能和精度的良好折衷

**目前在学术研究和业界实践中,INT8是个性能和精度的良好折衷。**例如Intel的OpenVINO和Nvidia的TensorRT推理加速框架,以及谷歌的Coral Edge TPU套件,对神经网络模型量化精度都优选了INT8,而且对CNN等常见神经网络模型的实际转换效果可以做到性能近似无损。 也因此,各类人工智能芯片基本都支持INT8。不管是隔壁华为海思,还是Intel家的FPGA,还是寒武纪,还是英伟达,在芯片算力上都标注了INT8。
在这里插入图片描述

模型量化的原理

通过一系列算法将神经网络模型的权值、激活值等从高精度转化成低精度,在定点与浮点等数据类型之间建立一种映射关系,目标是以较小的精度损失代价获得较大的收益:减少内存带宽和存储空间需求、提高系统吞吐量、降低系统延时。但这个操作过程是一种近似算法方法,不可避免的或多或少都会有精度损失,故存在一个全局最优解

7. 算法/算力/数据的逻辑

人工智能的三驾马车 —— 算法、算力、数据,这三者的关系是相互影响、相互支撑的,它们缺一不可。
在这里插入图片描述
算力提升→能运行更强的算法→可以收集更多的信息→需要更强的算法→需要更强的算力→算力提升→能运行更强的算法…… 这就是一个很好的正向循环。 为什么很多自动驾驶的车企卖硬件是不需要花钱,而软件是需要额外付费的,就是因为他们要利用一切可以利用的摄像头来收集尽可能多的信息。 对于手机来说,有个更强的 NPU, 也需要尽可能给更多的产品用上,这样才能均摊成本,收集记录更多信息,反哺算法 目前手机领域最著名的 NPU 之一,肯定就包括 OPPO 的马里亚纳 X, 因此我们有理由相信,它不仅仅只会在顶级旗舰 Find X 系列上搭载,而是会尽可能铺向中高端,如果可以的话,乃至入门的机器也会用上。 到了那个时候,我们就可以期待不仅仅 OPPO 的高端产品能有独特并超出其他竞品的优势,同时中端产品也可以有比采用类似规格 CMOS 和 SoC 的产品更好的表现。

8. 推理芯片

特斯拉FSD、寒武纪NPU、地平线BPU、OPPO的马里亚纳、荣耀使用的AI-ISP。

三、GPU

极智AI | 谈谈 GPU 并行推理的几个方式
极智AI | TensorRT API 构建模型推理流程
GPU硬件的发展与特性分析—Tesla系列汇总

1. TensorRT性能指标

TensorRT8 使用手记(6)性能统计

猜你喜欢

转载自blog.csdn.net/m0_37605642/article/details/129000253