根据《中国算力发展指数白皮书》中的定义,算力是设备通过处理数据,实现特定结果输出的计算能力。
算力实现的核心是CPU、GPU等各类计算芯片,并由计算机、服务器和各类智能终端等承载,海量数据处理和各种数字化应用都离不开算力的加工和计算。
那么,不同的算力芯片分别适用于何种应用场景,不同的算力芯片又有哪些区别?
小至耳机、手机、PC,大到汽车、互联网、人工智能、数据中心、超级计算机、航天火箭等,“算力”都在其中发挥着核心作用,而不同的算力场景,对芯片的要求也各不同。
不同终端对应的算力要求不同
数据中心作为数字时代的核心基础设施,承载着大量的数据处理、存储和传输任务。因此,它们需要强大的算力来应对各种复杂的计算需求。数据中心和超算需要高于1000TOPS的高算力芯片。当前,超算中心算力已经进入E级算力(百亿亿次运算每秒)时代,并正在向Z(千E)级算力发展。数据中心对于芯片的低功耗、低成本、可靠性以及通用性的要求都极高。
智能自动驾驶涉及人机交互、视觉处理、智能决策等众多方面,车载传感器(激光雷达、摄像头、毫米波雷达等)的不断增加,数据处理的实时性、复杂性和准确性要求不断提高,都对车载算力提出了更高的要求。
通常,业内认为实现L2级自动辅助驾驶需要的算力在10TOPS以下,L3级需要30~60TOPS,L4级需要超过300TOPS,L5级需要超过1000TOPS,甚至4000+TOPS。所以自动驾驶领域的车载算力是远远大于生活中常见的手机、电脑的计算能力。在智能驾驶中,安全至关重要,因此该场景对算力芯片的可靠性有着极高的要求,对于芯片通用性的要求也较高,对于功耗和成本的要求就相对没有那么苛刻。
为了应对当前视频处理、人脸识别以及异常检测等复杂任务的挑战,同时确保系统在未来技术升级和拓展时拥有充足的计算资源。智能安防系统需要大约4-20TOPS的算力,这一数值虽然相较数据中心要小得多,但是也足以保障智能安防系统的高效稳定运作。随着AI安防进入下半场,算力的重要性愈发凸显,这一数值也在不断上涨。智能安防对低成本和可靠性的需求比较高,功耗和通用性的要求则相对中等。
在智能移动终端中,可穿戴设备等小型产品对算力的需求相对不高,但智能手机、笔记本电脑等产品对算力的需求正在大幅提升。智能移动终端也是一个对低功耗和低成本有着高要求的应用场景,对可靠性的要求相对较高,对通用性则没有太多的限制。
当下的基础算力主要由基于CPU芯片的服务器提供,面向基础通用计算。智能算力主要基于GPU、FPGA、ASIC等芯片的加速计算平台提供,面向人工智能计算。高性能计算算力主要基于融合CPU芯片和GPU芯片打造的计算集群提供,主要面向科学工程计算等应用场景。
GPU——高性能计算的引领者
GPU,英文为Graphics Processing Unit,又称显示核心、视觉处理器、显示芯片。GPU核心技术包括双重纹理四像素256位渲染引擎、立方环境材质贴图和顶点混合、硬件T&L(几何转换和光照处理)、纹理压缩和凹凸映射贴图。GPU是专门为处理图形数据而创建和调整的处理器。
GPU除作为独立显卡的核心用于个人电脑,为高清视频、大型游戏提供高质量3D图形渲染,基于GPU构建的专业显卡还配置在高端工作站上做复杂的三维设计和工程仿真。但当前GPU最重要的应用场景还是AI计算,支撑AI大模型的训练和推理。那为什么CPU不行,非GPU不可?
前面已经讲过,GPU的推出就是为了接手原本由CPU负责的图形显示处理工作。因而GPU架构有其先天的计算特征,就是完全为3D图形处理而设计,就是在CPU的控制指令下,为大量的实时的图形图像显示提供计算。由于是听候CPU安排,因此GPU的控制单元比较少,计算单元却非常多,CPU和GPU的架构如下图所示。如果CPU是孤胆英雄,能独当一面,那么GPU就是无数的小兵,靠规模致胜。
由于CPU指令相对复杂,它需要做好资源的调度和控制,支持操作系统的中断处理、内存管理、I/O处理等,运算过程需要大量的逻辑控制,因此内部的控制单元较多,极大挤压了计算单元数量,使计算性能受到很大限制,还需要预留空间为数据建立多级缓存;GPU运算就不需要考虑这些,也无需太多的控制单元,芯片上大部分空间都留给了计算单元,因此适合并行计算任务和大规模数据访问,通常具有更高的带宽和更低的延迟。
试想一下,有个计算任务需要进行1000个加减运算,你说是一个人做快呢,还是让1000个人每个人算一个加减运算快呢,结果很显然。如何理解GPU所做的功?再举个例子:
现在电脑显示器的分辨率越来越高,以4K显示器来说,分辨率就达到了3840*2160,就是829万4400个像素点,按照RGB三色显示,单个像素的字节位就达到了24bit,也就是显示器刷新一次就要处理高达1.99亿个bit。如果再乘以显示器刷新率,一般高端显示器刷新率最低也在120Hz,一秒钟仅GPU就得处理240亿个bit。
可见,仅图形显示处理就对计算性能要求很高。如果全部依赖CPU来处理,即使性能再强也会不堪重负,并严重拖慢正常软件应用的计算效率。当然现在的CPU也发展出了多核心和多线程,英特尔最新发布的至强处理器就有64核心128线程,但比起英伟达H100的18432个CUDA核心,仍然是小巫见大巫。
随着人工智能应用的不断深入,为AI大模型提供训练和推理运算已成为当前及未来一段时间高性能计算发展的主流。由于英伟达早在十多年前就开启人工智能计算布局,GPU已成为各大AI应用的首选。而CPU受限于架构问题,在这场人工智能竞争中已经成为协助角色,但尽管GPU风光无限,却仍然存在强大的竞争者,而它就是ASIC!
ASIC——GPU面临最强竞争
去年12月,谷歌官宣了多模态大模型Gemini,包含了三个版本,其中Gemini Ultra版本甚至在大部分测试中完全击败了OpenAI的GPT-4。同时还丢出另一个重磅炸弹——TPU v5p,号称是现在最强大的AI自研芯片。
TPU,全称Tensor Processing Unit,即张量处理单元。所谓“张量(tensor)”,是一个包含多个数字(多维数组)的数学实体。目前,几乎所有的机器学习系统,都使用张量作为基本数据结构。所以,张量处理单元,我们可以简单理解为“AI处理单元”。
谷歌TPU就是基于ASIC专用芯片开发,为了某种特定的需求而专门定制的芯片。ASIC芯片的计算能力和计算效率都可以根据算法需要进行定制,所以ASIC与通用芯片相比,具有以下几个方面的优越性:体积小、功耗低、计算性能高、计算效率高、芯片出货量越大成本越低。但ASIC芯片的算法是固定的,一旦算法变化就可能无法使用。
随着人工智能算法不断涌现,ASIC专用芯片如何做到适应各种算法是最个大问题,如果像GPU那样,通过架构来适应各种算法,那ASIC专用芯片就变成了同CPU、GPU一样的通用芯片,在性能和功耗上就没有优势了。这意味着玩AISC芯片需要强大实力,包括雄厚的资金,强大的技术实力和丰富的应用场景。
这里请注意,谷歌去年发布TPU v5p的时候,一同发布了多模态大模型Gemini,该模型在图像、音频、视频和文本领域拥有强大的功能。与英伟达开放GPU购买策略不同,谷歌高端TPU主要供自家产品和服务运用,这才是关键。换句话说,谷歌高端TPU是基于自家多模态大模型Gemini开发的专用AI芯片,在自家的产品和服务上做到最优,性能表现丝毫不输GPU。
公开的信息显示,TPU v5p每个模块有8960颗芯片,较之上代v4的4096有所提升,且每块架构内的总浮点运算次数(FLOPs)增加至原来的四倍,吞吐能力达到惊人的4800Gbps。新型架构在内存及带宽方面更为出色,高达95GB的高带宽内存(HBM)远超TPU v4的32GB。
根据官方数据显示,谷歌的TPU v5p在训练大规模语言模型上性能表现,达到了A100 GPU四倍,比起英伟达的顶配H100显卡性能也丝毫不落下风。当然这只是谷歌基于自身的Gemini模型做的测试,肯定在研发阶段就做了优化和匹配。但足见TPU v5p性能之强,同时也可以说明,ASIC芯片在AI大模型应用方面有着丝毫不输GPU的优势。
截至目前,谷歌、英特尔、英伟达都相继发布TPU、DPU等ASIC芯片,国内ICG、寒武纪、比特大陆、地平线、阿里巴巴等也都推出了深度神经网络加速的ASIC芯片。目前GPU应用范围广,市场非常成熟,但并不意味着其他的芯片就没有机会,ASIC的发展势头依然很猛,正在成为GPU最强大的挑战者。
FPGA——CPU智算的最佳伴侣
FPGA全称是可编程逻辑门阵列,内部结构由大量的数字(或模拟)电路组成,可以实现各种功能。FPGA是ASIC的一种,只是ASIC是全定制电路芯片,FPGA是半定制电路芯片,它解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
数据计算包括两种方式:一种是利用CPU或GPU基于指令的架构编写计算所需的软件,另一种是针对特定计算需求设计制造出一套专用的电路,比如ASIC、FPGA。但不同的是,对FPGA进行编程要使用硬件描述语言,硬件描述语言描述的逻辑可以直接被编译为晶体管电路的组合。所以FPGA实际上直接用晶体管电路实现用户的算法,没有通过指令系统的翻译。
相比于CPU 和GPU数据处理需先读取指令和完成指令译码,FPGA不采用指令和软件,是软硬件合一的器件。因而计算效率更高、功耗更低,且更接近IO。
举个例子,假如拿一块主频 3GHz的CPU和一块主频 200MHz的FPGA做运算,若做某个特定运算,CPU需要30个时钟周期,FPGA只需一个,则耗时情况:CPU:30/3GHz =10ns;FPGA:1/200MHz =5ns。就是说,FPGA 做这个特定运算速度比CPU块,能帮助加速。
除了计算效率更高,有机构对FPGA与CPU在执行深度学习算法时的耗能进行了对比。在执行一次深度学习运算,使用 CPU耗能 36 焦,而使用 FPGA只耗能10焦,取得了3.5 倍左右的节能比。通过用FPGA 加速与节能,让深度学习实时计算更容易在移动端运行。
这就是为什么AMD和英特尔不惜重金收购FPGA厂商的原因所在。在智能计算路线布局上,AMD实际上比英特尔更完善。传统CPU时代,AMD得到了英特尔X86架构授权,成为与英特尔并行而立CPU大商,而后通过收购显卡厂商ATI入主GPU赛道,成为英伟达的最大竞争者,到2022年通过收购FPGA领域老大赛灵思,AMD最终完成“CPU+GPU+FPGA”的智能算力战略布局。
而英特尔由于未能在GPU时竞开发出能与英伟达同台竞争的超算产品,只能选择在2015年收购FPGA领域的老二Altera,最终形成“CPU+FPGA”的智能计算组合,虽非优选,但的确开拓了一条新智算发展新路线。
相比CPU和GPU,FPGA 凭借比特级细粒度定制的结构、流水线并行计算的能力和高效的能耗,在深度学习应用中展现出独特的优势,在大规模服务器部署或资源受限的嵌入式应用方面有巨大潜力。
此外,FPGA 架构灵活,使得研究者能够在诸如GPU的固定架构之外进行模型优化探究。特别是在采用FPGA后,即便芯片产品已经制造出来,但依然可以对其重新编程或进行功能升级。
中国高算力芯片发展仍落后于算力产业发展
根据2022年《中国算力白皮书》,2022年中国整体算力达到150 EOPS,占全球总算力的31%,在全世界仅落后于美国(36%),中国算力产业发展对高算力芯片需求强劲。一方面,高算力芯片作为底层算力池,赋能万千行业和新兴产业,市场发展造成了对高算力芯片的强劲需求;另一方面,国家布局和政策引导也推动了高算力芯片的需求。除了“东数西算”工程外,“十四五”规划和2035年远景目标纲要明确提出要“建设若干国家枢纽节点和大数据中心集群,建设E级和10E级超算计算中心”,国家发展和改革委员会也出台了一系列政策文件,全国多个地区进行数据中心建设和布局。市场发展和政策实施都对大力发展高算力芯片技术提出需求。
然而,中国高算力芯片的发展从知识产权、市场占有率与自主制造角度依然面临严峻挑战。浪潮、华为、新华三、联想等国产服务器品牌位居中国服务器市场前5名,整体份额达到74%,然而底层的通用高算力芯片却严重依赖进口。在以中央处理器(CPU)为核心的通用数据中心产业,仍以美国英特尔和AMD主导的x86架构CPU主导,市场占比超过96%。华为鲲鹏系列服务器芯片是中国自主研发的基于ARM指令集的高性能芯片,但是高度依赖先进制造工艺。在智能芯片领域,GPU仍是智能数据中心的主流算力芯片,2020年中国智能数据中心约95%的市场份额由美国英伟达的芯片占据。近年来,中国涌现了壁仞、天数智芯、沐曦、摩尔线程等国产GPU产品以及华为昇腾、寒武纪思元、百度昆仑芯、燧原等自主人工智能(Artificial Intelligence, AI)芯片产品,但都过度依靠国内尚无法自主可控的先进制造工艺。
因此,亟须探索符合国情的高算力芯片的创新发展途径,保障中国产业战略布局实施,助推数字经济发展。