算力网络中面向业务体验的算力建模

2020-11-20 07:41
中兴通讯技术 2020年5期
关键词:算力时延计算能力

(中国联通研究院,中国 北京100048)

(China Unicom Research Institute, Beijing 100048, China)

人工智能(AI)是一项引领未来的技术。近年来,随着深度学习、大数据、群体智能等技术在智慧医疗、智慧教育、智能安防、智能制造、智能巡检等领域的广泛应用,人工智能已经成为当代社会一项通用的技术。算法、数据和算力共同组成人工智能的三要素。一直以来,算力以不同的形式存在于人类发展的各个阶段,从古代的算盘到机械式计算器、电子计算器,再到晶体管、移动电话[1],算力已经渗透到人们生活中的方方面面。

算力既是AI的基础,也是AI发展的主要驱动力。如同驱动前两次工业革命的煤炭和电力一样,算力也驱动着人工智能的革命不断前行。在20世纪70年代,虽然人工神经网络模型的理论架构已经基本成熟,却在之后的几十年里一直没能得到认可和应用,直到近来才得以“重见天日”,其中的根因就在于算力的限制,即当时的算力无法有效支撑算法的运行。在算法和数据确定的情况下,算力的增加可以使算法获得更好的训练效果,同时大大减少有效的训练时间。据统计(如图1所示),自2012年以来人们对于算力的需求增长超过30万倍(而如果按照摩尔定律的速度,只有12倍的增长)。

在算力网络时代,网络与算力相融合作为基础资源提供服务。运营商基于算力网络[2-4],为客户提供所需算力和确定时延的产品。网络为计算服务的价值在于释放算力。目前,各种已经兴起的(例如虚拟现实/增强现实)和潜在的(例如自动驾驶)智能业务,均对算力提出了较高的要求,但是针对信息技术(IT)基础设施,其面向业务所提供的算力需求并没有量化,也没有针对算力需求的分级。本文中,我们对异构的IT算力资源进行归一化建模,并且提供算力的分级标准,以便算力提供者在设计业务套餐时进行参考。

▲图1 从AlexNet到AlphaGo Zero训练类算力需求增长30万倍

1 算力网络中算力的衡量与模型

算力的衡量与建模是提供算力服务的基础。将底层异构算力资源量化建模,能够形成业务层可理解、可快速使用的统一量化的算力资源。

1.1 算力定义

算力是近年来业界讨论的热门话题,但对“算力是什么”这个问题一直没有一个通用标准的定义。2018年,诺贝尔奖获得者、经济学者WILLIAM D. N.在《计算过程》中对算力进行定义:算力是设备根据内部状态的改变,每秒可处理的信息数据量。

本文中,算力被定义为:算力是设备或平台为完成某种业务所具备的处理业务信息的关键核心能力。它涉及设备或平台的计算能力,包括逻辑运算能力、并行计算能力、神经网络加速能力等。

1.2 算力衡量指标

根据所运行算法和涉及的数据计算类型,算力可被分为逻辑运算能力、并行计算能力和神经网络计算能力。

(1)逻辑运算能力。

这种计算能力是一种通用的基础运算能力。硬件芯片代表是中央处理器(CPU),这类芯片需要大量的空间去放置存储单元和控制单元。相比之下,计算单元只占据了很小的一部分。因此,它在大规模并行计算能力上很受限制,但可以用于逻辑控制。一般情况下,TOPS(表示处理器每秒钟可进行一万亿次操作)被用来衡量运算能力。在某些情况下,能效比TOPS/W(表示在1 W功耗的情况下,处理器能进行多少次操作)也可被作为评价处理器运算能力的一个性能指标。

(2)并行计算能力。

并行计算能力是指专门为了处理如图形图像等数据类型统一的一种高效计算能力,是一种比较通用的计算能力。这种计算能力特别适合处理大量的类型统一的数据,不仅在图形图像处理领域大显身手,同时还适用于科学计算、密码破解、数值分析、海量数据处理(排序、Map-Reduce等)、金融分析等领域。

典型的硬件芯片代表是英伟达推崇的图形处理单元(GPU)。GPU的构成相对简单,有数量众多的计算单元和超长的流水线。浮点运算能力常被作为并行计算的度量标准。单位TFLOPS/s可以简单写为T/s,意思是一万亿次浮点指令每秒。此外,相关单位还有MFLOPS、GFLOPS、PFLOPS。

(3)神经网络计算能力。

神经网络计算能力主要用于AI神经网络、机器学习类密集计算型业务,是一种用来对机器学习、神经网络等进行加速的计算能力。

近年来,厂商发布的AI类芯片都是为加速神经网络计算而设计的,例如华为技术有限公司的网络处理器(NPU)、Google公司的张量处理单元(TPU)[5]。另外,机器学习、神经网络的本质是密集计算。Google公司工程师认为:如果人们每天用3 min的语音搜索,但在运行时没有TPU加持的语音识别人物的话,运营公司将需要建造两倍多的数据中心。

专门做神经网络计算能力的芯片厂商都有各自测试的Benchmark,处理能力也大多是配合各自研发的算法。目前,这类能力常用的度量单位也是浮点计算能力FLOPS。浮点运算能力高的计算设备能够更好地满足在同一时间里更多用户的任务需求,可以更有效地处理高并发任务数量的业务。

1.3 算力量化模型

算力的统一量化是算力调度和使用的基础。如前所述,算力的需求可分为3类:逻辑运算能力、并行计算能力以及神经网络加速能力。同时对不同的计算类型,不同厂商的芯片也各自不同的设计,这就涉及异构算力的统一度量[6-7]。不同芯片所提供的算力可通过度量函数映射到统一的量纲。针对异构算力的设备和平台,假设存在n个逻辑运算芯片、m个并行计算芯片和p个神经网络加速芯片,那么业务的算力需求如公式(1)所示:

公式(1)中,Cbr为总的算力需求,f(x)是映射函数,α、β、γ为映射比例系数,q为冗余算力。以并行计算能力为例,假设有b1、b2、b33种不同类型的并行计算芯片资源,则f(bj)表示第j个并行计算芯片b可提供的并行计算能力的映射函数,q2表示并行计算的冗余算力。

2 算力网络中算力分级

随着AI、5G的兴起,各种智能业务也应运而生,并呈现多样化趋势[8]。不同的业务运行所需的算力需求的类型和量级也不尽相同,例如非实时、非移动的AI训练类业务。这类业务训练数据庞大,神经网络算法层数复杂,若想快速达到训练效果,需要计算能力和存储能力都极高的运行平台或设备。对于实时类的推理业务,一般要求网络具有低时延,但对计算能力的需求则可降低几个量级。将业务运行所需的算力按照一定标准划分为多个等级,不仅可供算力提供者在设计业务套餐时参考使用,还可以为算力平台设计者在设计算力网络平台时提供算力资源选型依据。

由于智能应用对算力的诉求主要是浮点运算能力,因此,业务所需的浮点计算能力的大小可作为算力分级的依据。针对目前应用的算力需求,可将算力划分为4个等级,具体如表1所示。

从现有业务上看,超算类应用、大型渲染类业务对算力的需求是最高的,可达到P级的算力需求,这类需求被定位为超大型算力;大型算力主要是AI训练类应用,根据算法的不同以及训练数据的类型和大小,这类应用所需的算力从T级到P级不等;小型算力则主要是针对类似AI推理类业务,这类业务大多部署在终端边缘,对算力的需求稍弱,从几百G到T级不等;此外,小于500 GFLOPS的算力需求被定义为小型算力。

3 面向业务体验的算力、存储、网络等联合服务

业务运行需要平台或设备的算力需求保障,同时不同类型的业务还需要诸如存储能力、网络服务等个性化能力[8]。

3.1 面向业务体验的联合服务能力

(1)存储能力。在算力网络中,存储在数据处理过程中起到至关重要的作用。随着数据处理需求的日益增长,数据存储的重要性也显著提升。内存与显存的数量可以作为关键指标被用来衡量计算存储的能力,通常以吉比特为单位。存储能力在很大程度上会影响计算机的处理速率。

(2)网络能力。在保障业务服务质量(QoS)方面,网络性能是一个非常重要的指标(尤其是针对一些实时性业务),这就需要灵活调度部署网络以满足业务对时延和抖动的需求。对于人工智能应用来说,模型的推理时延也是衡量算力的关键指标。推理时延越低,用户的体验越好,而较高的时延可能会导致某些实时应用无法达到要求。

(3)编解码能力。编解码能力是利用设备或者程序对信号或数据流进行变换的能力。这里的变换既包括将信号或者数据流进行编码或提取得到编码流的操作,也包括为了观察或者处理而进行的其他操作。编解码器经常用在视频会议和流媒体等涉及图形图像处理的应用中。

编解码相应的硬件需要编码解码的引擎配置。一般的编解码能力附着在计算芯片上,如英伟达GPU芯片带有编解码引擎(编码引擎为NVENC,解码引擎为NVDEC)。

(4)每秒传输帧数(FPS)。FPS主要用于渲染场景,属于图像领域的定义,它是指画面每秒传输的帧数,即动画或者视频的画面数。每秒能够处理的帧数越多,画面就会越流畅。在分辨率不变的情况下,GPU的处理能力越高,FPS就越高。

(5)吞吐量。在深度学习模型的训练过程当中,一个关键指标就是模型每秒能输入和输出的数据量。在广大的AI应用中,图像和视频业务占据了很高的比例,因此,在衡量吞吐量的时候,我们可以使用Images/s这个单位来衡量模型的处理速度。

设备或平台的运行业务的服务能力涉及前文所述的算力、网络和存储,以及其他能力(如FPS、吞吐量等)。这些能力共同保障着用户的业务体验。

表1 算力分级表

3.2 不同业务场景的服务能力需求

(1)训练类场景。

训练业务是指通过大数据训练出一个复杂的神经网络模型,即用大量标记过的数据来“训练”相应的系统,使之适应特定的功能场景。训练不仅需要极高的计算性能,还需要处理海量数据,同时也要具有一定的通用性,以便完成各种各样的学习任务。目前训练业务主要集中在云端,需要有足够强的计算能力[9-10]作为保障。训练类业务的服务能力需求如表2所示。

(2)推理类场景。

推理类业务是指利用训练好的模型,使用新数据推理出各种结论,即借助现有神经网络模型进行运算,利用新的输入数据一次性获得正确结论的过程,也叫作预测或推断。虽然目前推理过程主要在云端完成,但越来越多的厂商正将其逐渐转移到终端[9]。推理对计算性能要求不高,但更注重综合指标,如单位能耗算力、时延、成本等。推理类业务的服务能力需求如表3所示。

(3)云增强现实(AR)/虚拟现实(VR)类场景。

移动AR/VR业务是一种云、端相结合的方式,其本质是一种交互式在线视频流[11]。对于云侧拥有超强算力和低延时的网络,更多的渲染工作首先在云侧完成,然后再通过网络传送给用户侧,如手机、PC、PAD、机顶盒等终端设备。用户通过输入设备(虚拟键盘、手柄等)对业务进行实时操作,如图2所示。

另外,在高铁、地铁等高速移动的场景下,用户侧终端设备将会在多个基站甚至多个地域进行网络切换,这将导致初始连接的云侧节点网络延迟增加。根据用户的实际情况进行统一的调度和管理,将计算能力在多个节点之间无缝迁移,可保障流畅切换的无感用户体验。此外,爆款的AR/VR游戏通常会在短时间内汇聚大量用户,其社交属性会带来地域相对密集的特点,这就要求算力网络节点能够快速调用计算能力、设计灵活架构、实现弹性伸缩,以满足用户的密集需求。云VR/AR业务的服务能力需求如表4所示。

(4)视频类场景。

伴随宽带网络和移动互联技术的不断提升,娱乐视频、通信视频、行业视频等各大领域的视频业务迅猛发展。除了传统的视频会议之外,视频培训、视频客户服务、远程医疗、在线直播等一系列新兴视频应用正在各个行业迅速普及[12]。视频类业务的服务能力需求如表4所示。

表2 人工智能模型训练业务相关参数

表3 人工智能推理预测业务相关参数

(5)智能驾驶场景。

智能驾驶、车联网是智慧城市的重要组成部分。在2019年新冠疫情出现时,无人车送餐、无人车消杀等都体现了智能驾驶的优势。考虑到智能驾驶对安全要求极高的特殊性[13],目前每个车辆都装备有大算力的工控机,这大大增加了无人驾驶车辆的成本。若将车辆的计算能力释放到云侧,则需要算力网络同时具备极低的时延和超强的算力。此外,自动驾驶具有移动性,需要算力节点的无缝切换,以保障自动驾驶业务的超低时延。智能驾驶业务的服务能力需求如表4所示。

▲图2 虚拟现实系统组成及交互示意图

表4 云VR/AR、视频类和智能驾驶业务的服务能力需求

4 结束语

本文中,我们针对不同算力资源进行统一建模,给出了算力分级的标准,并阐述了为保障业务体验的算力、存储、网络等的联合服务能力,同时从业务的角度归纳了不同类型业务的服务能力需求。算力的衡量与建模是一个比较困难但却很重要的研究课题。在未来,随着算力(特别是边缘算力)的进一步扩大,算力与网络的结合将越来越紧密。通过网络对算力进行调度,引入合理的网络调度方法,可降低云边端协同的智能业务对算法和算力的需求。

猜你喜欢
算力时延计算能力
中国电信董事长柯瑞文:算力成为数字经济的主要生产力
新型算力网络架构及其应用案例分析
浅谈如何提高小学生的计算能力
杭州“算力小镇”
厘清算理,提高学生计算能力
小学生计算能力的提高策略
计算机网络总时延公式的探讨
计算机网络总时延公式的探讨
基于物联网的IT运维可视化管理系统设计与实现
计算万物 算力之下要有坚实的地基