算力核算及不同精度的转换

最近一直在研究算力的度量和核算方法,因为涉及到不同的测算口径和计量方式,在统计分析的时候发现没有一个统一的标准,而且数据来源也基本不会标注算力是什么精度,甚至有的数据来源方自己也不知道怎么核算,只能提供有多少芯片、芯片是什么规格型号,需要我们自己核算一遍。

分享一下我自己总结的算力核算方法,以及不同精度的转换关系:

一、什么是算力?

首先,算力毕竟是一个新概念,很多人可能还不太清楚这是什么。

从狭义上看,算力是设备通过处理数据,实现特定结果输出的计算能力。2018年诺贝尔经济学奖获得者William D.Nordhaus 在《计算过程》一文中提出:“算力是设备根据内部状态的改变,每秒可处理的信息数据量”。算力实现的核心是 CPU、GPU、FPGA、ASIC等各类计算芯片,并由计算机、服务器、高性能计算集群和各类智能终端等承载,海量数据处理和各种数字化应用都离不开算力的加工和计算。算力数值越大代表综合计算能力越强,常用的计量单位是每秒执行的浮点数运算次数(Flops,1 EFlops=10^18 Flops)。据测算,1 EFlops 约为5台天河 2A 超级计算机,或者25 万台主流双路服务器,或者 200万台主流笔记本的算力输出。

从广义上看,按照信通院的说法是:从广义上看,算力是数字经济时代新生产力,是支撑数字经济发展的坚实基础。数字经济时代的关键资源是数据、算力和算法。其中数据是新生产资料,算力是新生产力,算法是新生产关系,构成数字经济时代最基本的生产基石。

官方的说法往往是比较隐晦的,按个人的理解,这一轮科技革命和产业变革已经在发生了,新的科技革命会伴随着生产力的变革,生产力的变革又会决定生产关系的变革,就好像之前的工业革命,是机器代替了人力,然后电力又替代了旧能源,这都是随着生产力的发展产生的变化。其实算力这种新质生产力本来大家是没怎么关注的,但是AI的发展一下子就把算力给提上来了,因为大家发现AI的计算太需要一个强大的基础设施,没有高速计算的芯片,就算是再智能的模型也无法顺利运行,就好像一个非常牛的赛车,其他做得再厉害发动机不行也跑不起来。所以nvidia的股价才一升再升,所以nvidia限制了之后,提前囤货了GPU卡的公司大火,他们屯的不是卡,是算力啊。

二、算力分类

算力其实包含很广,如果要衡量一个地区或一个公司的算力水平,其实应该从算力规模、算力环境、算力应用等多个维度,这篇只看算力规模如何测算。
从保障资源利用率的角度出发,按照具体的算力服务场景可分为:基础算力、智能算力和超算算力。基础算力表示以中央处理器(CentalProcessing Unit,CPU)为计算单元的计算能力;智能算力是指以图形处理器(Graphics ProcessingUnit,GPU)、现场可编程逻辑门阵列(Field-Programmable Gate Array,FPGA)、专用集成电路(Application Specific Integrated Circuit, ASIC)等为代表的,具备人工智能(Artificial Intelligence,AI)训练和推理学习能力的加速计算单元的计算能力;超算算力则是反映普遍用于科学计算场景的高性能计算集群的计算能力。

超算比较少见,目前我们测算的资源池内还没有超算,因此只看基础算力和智能算力的测算方式。

三、算力测算方法

算力可以简单理解为性能。从狭义上看,性能是衡量单台计算设备计算能力水平的指标,业界有一个范式可简要表示如下(假设在 I/O 不为瓶颈的情况下):
(单个处理器)性能 = 指令复杂度(单位计算密度)* 频率 * 并行度
从广义上看,算力则是若干处理器性能的集合,与处理单元数量成正比关系。将各种客观存在的内外部影响因素统一定义为利用率,那么算力可表示为:
实际算力 = 指令复杂度(单位计算密度)频率 * 并行度 * 处理器数量 * 利用率
利用率指的是一个处理器或者一个芯片的利用率,通常随着设备的老旧会有一定的利用率变化,但是这个需要供应商提供必要的信息,在难以获取的情况下默认利用率算100%。
另外需要说明,这个算力测算方法不适用于虚拟机,只针对物理服务器的算力。

基础算力

测算方法:单芯片算力=每时钟周期执行单精度浮点运算次数*处理器主频*处理器核数,则

基础算力=SUM(每种型号 CPU 单台颗数*设备数*单芯片算力)TFlops

测算说明:单芯片采用单精度浮点数(FP32)计算能力来衡量算力性能,如果单芯片计算精度非FP32,则采用粗略换算方法:1TOPS(INT8)=2TFlops(FP16)=4TFlops(FP32)=8TFlops(FP64)。参考:

中国信通院《中国算力发展指数白皮书》:基础算力主要是基于 CPU 的存量服务器算力水平,每台服务器采用单精度浮点数(FP32)计算能力来衡量算力性能。

补充说明:因为不同厂商不同规格的CPU芯片可能采用不同的计算精度,建议统一按照《中国算力发展指数白皮书》中的计算精度单精度浮点数(FP32),上述单芯片不同计算精度的换算关系仅为粗略估计,如果采用其他计量精度,应说明与其他计量精度的换算关系。

以Intel4214为例,单精度FP32算力为1.65TFlops,双精度FP64算力为0.83TFlops,两者换算关系为1TFlops(FP32)=2TFlops(FP64)。

但是鲲鹏KP920 5250@2.6Ghz(48core)芯片就不是,浮点算力性能=CPU数量*处理器核数*主频*单周期运算次数,如果按双精度FP64测算,单周期运算次数为4 Flops,双精度浮点算力为1*48*2.6G*4=499 GFlops=0.49TFlops;如果按单精度FP32测算,单周期运算次数为16 Flops,单精度浮点算力为1*48*2.6G*16=1996.8GFlops=1.95TFlops,换算关系近似为1TFlops(FP32)=4TFlops(FP64)。

智能算力

测算方法:单芯片算力=每时钟周期执行单精度浮点运算次数*处理器主频*处理器核数,则

智能算力=SUM(每种型号 GPU 单台颗数*设备数*单芯片算力)+SUM(设备数*单台智算服务器算力)TFlops

测算说明:对于智算芯片,目前用于深度学习中的主流测算方式为半精度浮点算力数(FP16)。参考:

中国信通院《中国算力发展指数白皮书》:智能算力主要是 GPU、FPGA、ASIC 或其他加速器支撑的高并行、高密集计算能力的异构算力水平,目前用于深度学习中的半精度浮点算力数(FP16)计算成为智能计算的主流。

《苏州市关于推进算力产业发展和应用的行动方案》:到2025年,苏州全市数据中心总规模达到50万标准机架,数据中心算力超过15EFlops(FP32),市人工智能算力中心统筹智算算力不少于3000PFlops(FP16)。

《中国智算中心行业发展现状分析与投资前景研究报告(2024-2031年)》:宁波人工智能超算中心100P(FP16)半精度人工智能算力、5P(FP64)双精度高性能计算算力。

补充说明:由于GPU单芯片的不同计算精度之间并无确定的换算关系,不能适用基础算力中的粗略换算方法。采用不同的计算精度和计量单位,结果差异可能很大,建议采用主流的半精度浮点算力数(FP16)计算方法,如果采用其他计量精度,应说明与其他计量精度的换算关系。

以NVIDIA A800 TENSOR CORE GPU为例,产品规格说明中算力为624TOPS@INT8、312TFlops@FP16、19.5TFlops@FP32、9.7TFlops@FP64,对应换算关系:

1TOPS@INT8=2*TFlops@FP16=32*TFlops@FP32=64*TFlops@FP64

关于智能算力再补充一点,因为国产化GPU近几年发展非常快,所以出现了很多国产GPU或智算服务器,这两种算力的核算都有一些难点。国产GPU的测算最大的困难在于不容易拿到产品规格说明,而且它们的规格说明里本身也没有覆盖所有的计算精度,比如昇腾,只有整数精度INT8(TOPS)和半精度FP16,这一点不如NVIDIA清楚,NVIDIA基本上所有的卡都能明确给出INT4、INT8、FP16、FP32、FP64等各种精度的算力,当然还有NVIDIA特有的一些自创精度,同时它们会说明是SXM还是PCle接口精度,这两种也是不一样的。如果想要建立一个异构的算力调度模型,算力数据必不可少,但是相关的数据质量实在让人失望。

而智算服务器是一体机,在产品说明里给的是一个整体算力,其实很难分开它的GPU卡算力和承载的基础服务器算力,另外基础服务器还涉及到一个利用率的问题,在利用率达不到100%的情况下算力是多少?然而如果不分开智算服务器的基础算力和智能算力,那么测算出来会虚高,而且还是一个较大的偏差。因为跑GPU卡的服务器本身要求是非常高的,所以智算服务器的基础算力很高,如果全部算到智能算力上,这里面有个智能算力占比的问题,对于计算中心/智算中心来说这是一个比较重要的评价标准,表明该计算中心的智能算力建设情况,把本该属于基础算力的数据算到智能算力上,这个比值虚高可能会导致对一个计算中心的评价产生偏差,对那些没有智算服务器的计算中心又不太公平。但是如果要把这两种准确分开太难了,很多时候服务商自己都不太清楚,除非能准确给出该智算服务器的CPU核数、型号、利用率,和GPU卡数、型号,能拿到这些数据自行测算也可以,但是很难。

根据NVIDIA公开的产品资料整理了一些芯片的算力,相比较而言,国产的相关资料太少了。

关于AI的一些思考

最近在研究大模型,感觉这块其实很多人只是一阵风一样看一看,喊一喊,随着热度焦虑一下,是不太健康的心态。因为你不参与只观望,只会越看越着急,还不如不看。最好的当然是行动起来,当你想的时候,你看到的全是问题,当你行动的时候,你看到的全是方案。

再举一个跟我们生活关联密切的例子,武汉最近无人驾驶出租车非常火,很多人产生了恐慌和焦虑,因为无人驾驶可能替代司机,尤其是很多跑滴滴的司机,现在就业形势严峻,不少人是把跑滴滴作为一个退路,如果被无人驾驶替代了,他们怎么办呢?其实这个事情我感觉比我们想象的要严重得多,因为无人驾驶一旦实现和证明它的优越性,不仅仅是可以替代司机,其实也可以替代外卖、快递等等岗位,而且这种趋势是无法阻挡的。

为什么它无法阻挡呢?在我看来就是因为它的必要条件都具备了,数据是新生产资料,过去这几年外卖、快递、出租车业务已经积累了大量的数据,每一个订单在我们看来完成了就是完成了,在平台上这都是新的生产资料积累,一点点积累起来不仅仅可以用大数据算法来分析和统计,还能够用来训练AI让它越来越智能。算力是新生产力,这就不用说了,芯片行业发展再不顺利毕竟也是在发展了,而且还是高速发展,不要看那些吐槽唱衰的说得那么多,算力行业报告数据能够说明一切,吐槽是阻挡不了一个行业的发展的,要是骂一骂半导体芯片行业就能骂死它,无人驾驶是怎么投放的?算法是新生产关系这个我还理解不太透彻,只是一些模糊的理解,个人感觉生产关系就是生产资料和生产力之间建立的一种联系,从数据和算力这个角度来看也只有算法能够把它俩关联起来,其实用模型这个词可能更好理解。

那么在算法这种生产关系里面我们个人怎么找到自己的位置呢?如果是传统的生产关系我们很容易确定自己是生产者还是消费者,其实在新的生产关系里也一样,我们每个人都在生产或者贡献数据,那么我们是数据的生产者,同时我们也使用了依赖于算法的各种应用或者模型,那么我们也是数据的消费者。我们感知比较明显的是数据的各种产品,比如各类应用,但可能很少感知到生产力和生产资料的规模,这也跟传统的生产关系是一样的,比如新能源车,我们能够明显看到路上跑的车,但很少去关注车总共用了多少电对吧,但是有一个事实是肯定的,那就是电力发展越充足新能源车一定越多,所以类比来看就是算力发展越充分,那么依赖于算力的应用肯定越多,应用可不只是手机APP,那只是移动端,还有终端、车智能、工业机器端、各种物联设备等等,就算今天没有自动驾驶出现,总有一天要发展到那一步。所以顺应这种趋势比焦虑或者恐慌更有用,回到开始那个问题,我们应该处于什么位置,怎么找到自己的位置,我觉得只要你想参与这种生产关系,位置还是很多的,因为它取代了一些岗位也会创造出新的岗位,当然这些新的岗位是陌生的,可能门槛是比较高的,其实只要是新的岗位哪怕没有什么技术门槛也还是需要学习成本的,就是开车不还得学车么?所以可能对于我们的要求提高了,新型的生产关系要求我们具备终身学习的能力,并且要保持终身学习的意愿。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值