文末有福利!
刻下,数字经济已成为国民经济高质料发展的新动能,跟着东谈主工智能在产业数字化进度中从“单点冲破”迈向“泛在智能”,一个以数字化、网罗化、智能化为特征的理智社会正加速到来。
智能算力行为东谈主工智能的基石,是算力网罗构建多要故人融新式信息基础设施的重要领域,已成为数字经济高质料发展的中枢引擎,智能算力基础设施成立也迎来了激越。
智算中心行为集约化成立的算力基础设施,它以 GPU、AI 芯片等智能算力为中枢,提供软硬件全栈环境,主要承载模子磨练、推理、多媒体渲染等业务,复古千行百业数智化转型升级。
磋磨词传统智算中心的智算资源运用率较低,资源散播相对碎屑化,不利于全体效用的提高,亟需一个可团员各样型算力、结束敏捷化资源护士的平台,使能资源不错被极致运用,算力池化时期应时而生。
为凝合产业共鸣,进一步激动算力池化时期熟悉,中国转移发布本白皮书,分析了智能算力发展的趋势及濒临的挑战,系统性先容了算力池化的界说与蓄意、总体架构、重要时期和刻下业界的探索实践,并号令业界紧密劝诱、加速构建算力池化融合的标准体系。
1. 算力池化时期配景
数字经济时间,跟着理智城市、理智交通、理智家庭等智能场景的逐渐落地,东谈主工智能正深刻地编削咱们的出产、生涯花式。同期跟着 5G、边际计较等复古时期的延续发展,数智业务转型过程中所产生的数据量正在以愈加难以计量的速率爆发。
据 IDC 公布的《数据时间 2025》透露,从 2016 年到 2025 年全球总额据量将会增长 10 倍,达到 163ZB,其中非结构化数据占 70%以上,计较模式将变得愈加复杂,对智能算力的需求也在不断提高,智能计较将成为主流的计较形态。
跟着智能计较泛泛交融到出产、生涯的各个方面,以 GPU、AI 芯片为主要算力资源的智算中心正逐渐取代通用数据中心成为算力发展的主流形态。在此配景下,列国政府已运转布局 AI 领域全栈才气,并出资劝诱智能算力基础设施成立;我国也已进入智能化时间,“十四五”期间,有关部委积极激动智算中心成立发展,旨在面向东谈主工智能场景提供行家算力做事。
同期,跟着 ChatGPT 等基础通用大模子业务引爆了对 GPU 的市集需求,产业各方纷繁加入对基础大模子的磨练和教育,导致“一芯难求”,GPU 价钱也随之暴涨。以英伟达 A800 为例,据市集数据统计,近半年来的价钱增幅高达 30%以上。如安在有限的资源供应内尽可能提高运用率,充分进展算力效率的同期裁减智算中心 TCO,当今已成为智算中心成立待贬责的重要命题之一。
1.1 传统智算中心存在资源效率问题
1.1.1 GPU 资源运用率不及 30%
刻下智算中心主要以国度或当地政府总体牵头成立为主,此外,AI 应用做事企业也在布局自有智算基础设施成立。磋磨词,据公开数据统计,传统模式下的智算中心 GPU 运用率较低,平均数值低于 30%:
− AWS re:Invent 2018 公布数据:平均 GPU 运用率为 20%
− Facebook 2021 年机器学习负载分析证据:平均 GPU 运用率不及 30%
− 英伟达 GTC2022 公布数据:Google 云平均 GPU 运用率为 25%
传统智算中心的 GPU 资源运用率过低,主要着手于以下多个方面的原因:
(一)资源分派较为疏漏:资源分派以整卡分派为主,辅以一虚多的虚构化分派花式,颗粒度较粗,无法适配不同 AI 任务对资源的各异化需求,导致部分资源闲置,影响算力资源的运用率;
(二)算力莫得被充分激活:AI 任务模子遐想弱势、算力优化程度不及、模子框架与底层芯片适配不充分等原因,均可能导致算力资源的性能无法充分进展,导致出奇的资源损耗;
(三)网罗带宽瓶颈制约:智算中心开垦和做事器之间的通讯需要耗尽网罗带宽,网罗瓶颈会影响影响全体性能,算力资源称心度高、运用率低。
传统智算中心的 GPU 资源运用率问题是一个详细性的问题,需要从资源护士战术、硬件架构遐想、应用软件算法优化等多方面共同优化贬责,其中尤以资源护士战术方面的优化可控性强、班师快、插足产出比高,是新式智算中默算力池化的进攻接头标的之一。
1.1.2 资源碎屑化导致分派率低
资源碎屑指体量较小,低于应用的需求而无法被分派出去的闲置资源,泛泛来说,应用所需资源的规格越高、种类越多,导致资源碎屑的概率则越大。近几年来,AI 业务马上发展,从磨练到激动,从小模子到大模子,AI 任务的种类越来越多,对算力的需求越来越高,算力资源碎屑化趋势较为彰着。
碎屑化的原因包括任务类型各异、任务领域各异、任务优先级各异以及任务转移才气等多方面要素。
(一)任务类型各异:智算中心提供的算力资源不错用于不同种类的任务,包括机器学习、深度学习、图像处理等。也包括大模子、小模子、散播式推理、逼近式激动,由于不同类型的任务对硬件竖立的条款不同,因此会导致不同类型的任务需要不同的算力资源,难以充分适配;
(二)任务领域各异:任务领域不同,所需求的算力资源不同,何况不同任务领域对算力资源的分派也无推行标准,小领域任务可苦求大领域的算力,天然存在资源销耗,但却可加速任务完成,违反,在资源总额胁制下,大领域任务也可左证相对较少的算力资源,天然影响计较效率,但却省俭了投资。以上多方面的要素,导致任务需求规格与硬件竖立无法对都,从而导致算力资源碎屑化;
(三)任务优先级各异:不同的任务可能有不同的优先级,一些高优先级的任务可能会占用大批的计较资源,导致其他任务无法实时得到知足,影响全体资源布局;
(四)任务转移才气:任务转移亦然影响计较资源碎屑化的进攻要素。如若任务转移失当,可能会导致计较资源得不到充分分派,从而形成资源销耗。
总而言之,左证各样化 AI 任务对算力资源的各异化需求,天真地转移、分派资源,是裁减智算中默算力资源碎屑的重要。
1.2 池化时期是提高资源效率的重要
怎么对稀缺、崇高的算力资源充分运用,裁减其不成分派的碎屑概率,不错讨论模仿云计较的念念路,对 GPU、AI 芯片等进行团员池化,再运用先进的资源护士时期进行切分、转移、分派,使能资源可按任务的推行需求进行有序供给。
(一)物理成池:通过高性能智算中心网罗买通做事器间通路,使得分散在各做事器中的 CPU、GPU、AI 芯片等算力资源不错互联互通、透明分享。这项时期允许跨用户、用例、时间标准分享物理算力资源,还不错为在集群的一个节点中实行的单个 AI 任务苟且调用集群中算力,使 AI 任务获取进一步加速。
(二)逻辑成池:运用池化软件对 CPU、GPU、AI 芯片等资源在逻辑上团员,AI 任务在创建时,不再是将零碎的、孤岛式的资源进行裸分派,而是左证转移经由,从团员的池化资源中切分出所需数目进行分派。一方面,分派的资源数目可按 AI 任求推行所需实行,当 AI任务所需资源不解确,或因负载变化导致资源数目变动时,可结束动态供给、回收,结束多 AI 任务的峰谷互补,裁减资源闲置率;另一方面,切分后的零碎资源不错再度团员、转移、分派,裁减碎屑率。
2. 算力池化界说与蓄意
2.1 算力池化的界说
智能算力池化指依托云计较时期,整合 GPU/AI 芯片等异构算力资源,构建逼近护士的资源池,并按表层智算业务的需求,对池化的资源进行融合转移、分派,结束智算业务人命周期护士的全套时期。
为贬责智算中心所濒临的资源运用率问题,算力池化基于传统云计较时期(如 Kubernetes、OpenStack,智算中心以 Kubernetes 为主)有针对性地增强 GPU/AI 芯片池化才气,选拔软件界说的花式,对 GPU/AI 芯片进行分时转移护士,结束按 GPU/AI 芯片的细粒度分派资源,并选拔 GPU/AI 芯片 Runtime API 劫持、应用重要监视器等时期,结束资源跨节点费力调用、零碎资源整合等,从而达到算力资源充分运用、碎屑最小化后果,可灵验提高资源效率,裁减智算中心全体成立资本。
2.2 算力池化的蓄意
智能算力池化的蓄意是运用软件界说时期,对通过高速无损网罗互连互通的 CPU、GPU、AI 芯片等算力资源进行池化整合,结束资源的逼近转移、按需分派,使能资源可被充分运用,裁减碎屑概率,提高总体灵验算力、裁减智算中心购置资本。
化整为零。改良传统的整卡分派、一虚多虚构化分派的疏漏式分派花式,使能细巧化分派才气,左证 AI 任务的资源需求进行按需供给,契合各样化业务的各异需求。
隔空取物。基于高速无损网罗,跨节点调取 GPU、AI 芯片等智能算力资源,使能 CPU 传统算力及 GPU、AI 芯片智能算力高度解耦,进一步裁减碎屑化比例。
化零为整。整合散播在多机上的零碎资源,蓄积碎屑为可再分派的资源、蓄积小规格资源为更大模子业务可使用的资源,使能资源可高效分派。
变静为动。改良传统的资源静态分派、土产货绑定的机制,使能资源不错左证负载变化动态分派、回收,多任务间不错峰谷互补,全局资源不错适度超分,促进资源效率提高。
3. 算力池化架构与重要时期
3.1 算力池化平台时期架构
新式智算中默算力池化平台依托云计较时期膨胀池化才气,左证AI 任务特质,一般基于 K8S(Kubernetes)定制化结束。算力池化平台的时期架构参考如下:
图片
图 1 算力池化平台时期架构
算力池化平台逻辑上可分为池化资源护士、资源做事代理、池化运行时三类模块构成:
(1) 池化资源护士
− Kubernetes 护士组件:基于 Kubernetes 原生护士做事组件定制化增强,如支柱散播式文献存储、支柱 POD 多网罗平面、支柱RoCEv2/Infiniband 网罗等;
− Kubernetes 转移膨胀:磋磨 Kubernetes 转移做事膨胀专用的池化资源类型,对该类资源的请求转递智算资源池化胁制器进行转移、分派,需配合 Kubernetes 开垦插件使用;
− 智算资源池化胁制器:对 GPU、AI 芯片等智算进行融合护士、转移、分派;
(2) 资源做事代理
池化做事代理:左证智算资源池化胁制器的转移扫尾,将池化运行时对资源的打听请求重定向到推行物理位置实行,如触及跨机打听智算资源,则需有关做事器上的池化做事代理屡次重定向,跨机重定向的流量需经由高速无损网罗(如参数面网罗);
Kubernetes 做事代理:基于 Kubernetes 原生做事代理组件定制化增强;
Kubernetes 设 备 插件 : 配 合 Kubernetes 调 度 膨胀 ,为Kubernetes 做事代理注册专用的池化资源类型;
容器运行时:基于原生容器运行时(如 Dockerd、Containerd等)定制化增强;
(3) 池化运行时
池化运行时:依托 GPU、AI芯片的原生运行时(如 CUDA Runtime)进行二次封装,选拔 API 劫持、应用重要监视等时期,将 AI 应用软件/AI 开发框架对算力资源的打听转递至池化做事代理实行。池化运行时位于容器 POD 内,在容器运行时由自动注入。
左证上述时期架构,当 AI 应用编排器通过调用 Kubernetes API创建应用时,可按新增的池化资源类型指定苦求的资源数目(如pool.kubernetes.io/gpu: 1),对该类型资源的苦求会被 Kubernetes转移膨胀禁锢、转递至智算资源池化胁制器进行转移,智算资源池化胁制器按苦求的资源数目、资源池内称心资源散播情况进行转移后,将转移扫尾反应给 Kubernetes 护士组件,然后 Kubernetes 护士组件正常实行 AI 应用的创建经由,由 Kubernetes 做事代理创建最终 POD行为录用物,并通过池化做事代理配合在 POD 中自动注入池化运行时、通过 Kubernetes 开垦插件配合在 POD 中插入虚构 GPU。
AI 应用的 POD 在运行的时候,通过池化运行时打听虚构 GPU、实行 AI 任务,池化运行时禁锢对虚构 GPU 的打听请求、转递给池化做事代理实行,池化做事代理通过向智算池化胁制器查询虚构 GPU 所对应的信得过智算资源位置、规格,按查询扫尾分派智算资源、实行 AI任务,如若信得过的智算资源位于费力计较节点,则由土产货池化做事代理将打听请求转递给费力计较节点上的池化做事代理处理,有关通讯经由参数面网罗。
3.2 算力池化时期才气层级
算力池化时期本色是通过软件界说硬件加速的花式,愈加高效天的确团员、转移以及开释海量 AI 加速算力,精确保险 AI 模子开发、磨练、部署、测试、发布全链条算力配给,裁减智算中默算力做事提供资本,提高智算中心全体效用。从对异构算力使用的熟悉度及天真性角度登程,刻下算力池化时期可分别为以下三个才气层级:
图片
图 2 算力池化时期才气层级
阶段 1,静态护士。将单物理 GPU/AI 芯片按固定比例切分红多个虚构 GPU/虚构 AI 芯片,比如 1/2 或 1/4,每个虚构 GPU/AI 芯片的显存卓绝,算力轮询。首先是伴跟着做事器虚构化的兴起,贬责虚构机不错分享和使用 GPU/AI 芯片资源的问题。关于静态护士决策,2021年英伟达在部分 Ampere系列 GPU上提供了 MIG 时期,举例不错将 A100切分红最多 7 份。
阶段 2,动态护士。以单物理 GPU/AI芯片为蓄意,支柱物理 GPU/AI芯片从算力和显存两个维度天深切分,结束自界说大小(泛泛算力最小颗粒度 1%,显存最小颗粒度 1MB),知足 AI 应用各异化需求。
同期,软件界说 GPU/AI 芯片资源可充分得当刻下应用云原生化趋势,实时反应表层应用对资源需求的变化,结束 vGPU/AI 芯片资源基于Scale-Up/Scale-Down 的动态伸缩,并通过资源动态挂载动态开释结束 GPU/AI 芯片资源超分。
阶段 3,池化护士。池化时期的首要冲破在于支柱 CPU 通用算力及 GPU/AI 芯片等智能算力的孤苦成池,两种资源池内蓄积的资源孤苦转移、分派,当转移的资源分属不同节点时,可通过高速无损网罗跨节点调用、拼装成 AI 任务所需总算力。此护士花式下,AI 应用不错部署到智算中心的苟且位置,岂论场地节点上有莫得智算资源、智算资源够不够,所欠缺的部分从费力持取即可,从而结束在网罗范围内充分分享闲置、以致碎屑化的多种类型资源,促进资源的灵验运用。
由于费力调用的资源比拟土产货化资源的打听速率相对较低,因此,池化护士时期可引入做事质料护士时期,按任务优先级,优先分派土产货资源,次选费力调用,任务资源不实时将 AI 任务进行队伍化护士,恭候开释出填塞资源时再运行。
3.3 算力池化重要时期
3.3.1 软件界说的资源分派花式
传统的依赖于硬件支柱的虚构化时期下, AI 应用通过打听GPU/AI 芯片的运行时所提供的接口,以获取对智算资源的调用,资源的算力都备由卡硬件细则,软件上难以介入,从而无法获取更敏捷的护士。池化时期下,资源分派花式发生了根人道的变革,软件介入了资源的算力供给,为开启更敏捷的资源护士模式,比如动态伸缩、资源超分等奠定了时期基础,为延续优化智算资源运用率创造了无穷可能。池化时期主要通过以下两种结束了软件界说的资源分派:
(1) API 劫持时期
API 劫持时期是当今比较精深的、针对智能算力的池化时期,它通过劫持对 Runtime API(如 CUDA API)调用结束资源转移。
如 3.1 章节时期架构的图 1 所示,AI 应用的容器 POD 内运行的池化运行时并非 GPU/AI 芯片原生的运行时,而是基于原生运行时进行了一定定制化的版块,它对表层应用所提供的 API 接口都备等同于原生运行时,因此对 AI 应用来说是透明的。
当 AI 应用打听池化运行时的 API 时,则被池化运行时转递至池化做事代理实行,池化做事代理则具备敏捷化的资源护士功能,比如按 1%算力、1MB 缓存的精度细粒度分派资源,结束跨节点费力调用资源等。
图片
图 3 API 劫持时期图解
API 劫持时期的重要在于池化运行时仿真 GPU/AI 芯片的原生运行时,由于 GPU/AI 芯片种类、型号旺盛,其原生运行时又相对活跃、升级相同,仿真使命较为复杂,开发量、珍重难度较大。
(2) 应用重要监视器时期
这是一种都备与 GPU/AI 芯片无关的开垦虚构化和费力处理次第,允许在莫得显式软件支柱的情况下启用新的硬件体系缚构。该项时期通过应用重要监视器使命,该监视器与 Hypervisor 护士虚构机的花式访佛,分为前端、后端,前端监视指定应用重要的举止,拦甘休后端处理,后端不错按应用重要苦求的数目分派资源,或将应用重要拆分到多台机器上运行,在保持代码、数据和实行环境一致性的前提下使用这些机器上的智算资源,从而结束资源的细粒度护士、费力调用等资源敏捷化护士功能。应用重要监视器老成珍重应用重要景象(内存、文献、应用重要库的加载),以及虚构化与系统的交互(举例系统调用和进度间通讯),以确保在多个位置实行时的一致性。
图片
图 4 应用重要监视器时期图解
与 API 劫持时期顺利介入到 AI 应用打听资源的经由、需要仿真原生运行时的 API 接口的花式不同,应用重要监视器不介入到 AI 应用打听资源的经由、而是通过更底层的系统调用隐含而泛泛的支柱更多种类、型号的硬件和新的运行时功能,其结束花式与特定的运行时API(如 CUDA)无关,具备愈加强大的通用性和兼容性。应用重要监视器时期是一种新式的池化决策,忽视时期熟悉后再讨论商用引入。
3.3.2 算力资源高质料护士时期
基于软件界说的资源分派花式,算力池化平台不错结束更敏捷的资源护士花式,从而结束算力的高质料护士。
(一)资源细粒度分派
通过虚构化技巧,将物理资源按照算力与显存两个维度进行细粒度抽象,表层应用不再以物理硬件为单元进行资源苦求及使用,而所以物理硬件算力 1%,显存 1MB 为基本单元。
(二)资源名额护士
通落后辰等算力胁制时期,对不同佃农之间、同佃农不同进度、不同佃农不同进度之间结束 GPU 算力及显存的艰苦与胁制,减少资源争抢带来的性能扰动,幸免重要坏心霸占算力资源。
(三)资源无感动态伸缩
池化时期可通过资源动态分派,为容器动态的分派可用资源,表层应用可左证本身业务逻辑及负载情况,实时向算力转移平台苦求算力、显存资源,结束资源动态垂直膨胀。
(四)资源超分及峰谷互补
智算中心对外提供业务时,为幸免业务之间的竞争影响到做事质料,不同类型的业务泛泛分开部署在不同的资源池。但业务的运行相同存在岑岭期和低谷期,业务独占资源导致异构算力硬件精深存在称心周期,好多业务称心期远长于岑岭期,导致总体资源运用率很低。
与此同期,为保险做事质料,业界通用作念法是选拔资源过量供应的花式来对业务进行复古,导致预留的资源量与推行的使用量之间存在较大的差距。
如若大概将业务的波谷时段运用起来,就能减少波谷时间,从时间维度提高效用;同理,将资源预留冗余减弱,就能从空间维度提高效用。因此将不同优先级、不同波动周期的业务进行搀杂部署,为两个维度提高运用率提供了可能性,即运用低优先级任务占用称心资源,同期高优先级任务能实时霸占到资源,从而保证重要业务的做事质料。
算力池化时期不错通过软件界说,将底层物理硬件资源抽象后作念符合的放大,运用算力硬件计较周期称心时间,通落后辰复用灵验使用算力,同期,运用单一指针进行内存托管,将显存、系统内存进行融合珍重,在 CPU 与 GPU 之间形成内存池分享内存资源,由系统来自动地进行内存转移,以结束 GPU 显存膨胀,如 CUDA unified memory。
(五)智算任务队伍化护士
单个 AI 任务的开展可约略划为为数据准备、任求实行、模子评估三个阶段,从资源角度上分析,数据准备阶段主要使用 CPU 资源,磨练运转后才运转使用 GPU 算力资源进行计较加速。相较于 CPU 通用算力资源,智算中心内智能算力资源愈加容易达到瓶颈,为提高全体AI 磨练任务的实行效率,算力池化时期可提供智能算力资源列队的才气,即 AI 任务的下发可左证 CPU、内存等资源的可用情况触发,磨练任务进入实行阶段后,如智能算力资源不及可进行列队恭候,按次实行。同期可左证磨练任务的进攻程度,确立资源使用的优先级。
3.3.3 泛在化碎屑的池化整合时期
泛在化碎屑至散播式在土产货、费力的传统花式下无法再运用的资源。对这些泛在化碎屑进行池化整合,合并为逻辑视图上的一整片算力,有更高概率知足 AI 任务的资源规格需求。
(一)泛在化资源跨机整合时期
论文《Characterizing Deep Learning Training Workloads onAlibaba-PAI》分析了阿里一个磨练集群上的负载特征(见图 5):从任务数目上看,约 59%的任务是单卡小任务;从 GPU 资源耗尽上看,天然 81%的 GPU 是被散播式磨练任务占用(单机多卡也算散播式),然则这其中有一半的资源是被小于 8 个 GPU 的任务所占用(1 台物理做事器可知足);独一 0.7%数目的任务是使用跨越 128 个 GPU(需要16 台或更多物理做事器)。
图片
这个分析标明,磨练任务是各样化的,其领域有大有小,从资源角度上看,意味着智算中心各样业务对 CPU 算力与 GPU 算力的配比需求是各样化的,而 GPU 做事器硬件竖立相同是单机 4 卡或者单机 8 卡,单机 CPU 算力与 GPU 算力的固定配比,在承载各样化的磨练任务时,例必带来资源碎屑风景的产生,进而激励大批多卡任务因为资源不及在队伍中列队恭候实行,容易带来资源全体流转效率低下的问题。
为贬责资源碎屑问题,池化时期不错结束对零碎资源的整合,包括跨机整合。见第 3.1章,智算资源池化胁制器结束了对 CPU及 GPU/AI芯片分池、单独转移,也即为 POD 转移的 CPU 与 GPU/AI 芯片资源可能不在团结台做事器上,但对应用是透明的,当 AI 应用打听虚构 GPU时,由池化做事代理左证虚构 GPU 所对应的信得过 GPU 资源位置分派资源,如若有费力调用需求,则由 POD 场地做事器上的池化做事代理转发资源请求至蓄意做事器上的池化代理做事打听。
通过资源团员,不错将 GPU 集群内的资源碎屑运用网罗快速整合,保险多卡任务快速启动,提高资源泉转效率。
(二)智算业务 SLA 分级及自动做事质料护士
智算中心行为承载海量智算业务的基础设施,在资源优化方面应在兼顾磨练任务的全体费解率、GPU/AI 芯片资源的全体运用率的同期,提高多个磨练任务的全体性能,而非强调单个任务的性能。
深度学习框架是好多磨练任务依赖的一类基础软件,其遐想蓄意之一是提高单个磨练任务的性能,而池化时期的蓄意是通过充分运用数据中心内通盘 GPU/AI 芯片资源,从而达到多任务的全体最优,两者并不矛盾。
框架和池化时期不错相互配合,在达成多任务全体最优的情况下,尽量让每个任务的运行愈加优化。池化时期可针对不同任务关于性能的条款进行分级,按优先级高到低选用使用指定硬件资源、只使用任务场地做事器上 GPU/AI 芯片资源、苟且调用数据中心内可用算力资源中分派战术,不错确保任务性能条款的前提下,达到全体资源最优分派。
5. 瞻望与倡议
跟着 GPT、Stable Diffusion 等时期的熟悉,AIGC 产业高速发展,对智能算力的需求也呈指数级的增长。算力池化时期相较与传统的 GPU/AI 芯片纵贯时期来说,具备更高的算力运用效率、更方便的使用花式及更低的使用资本,为产业发展提供奠定优质的算力基础。
本站仅提供存储做事,通盘内容均由用户发布,如发现存害或侵权内容,请点击举报。