使用 UCS(On-Premises) 管理您的GPU资源池,释放AI大模型算力潜能

2023-10-25 02:30

本文主要是介绍使用 UCS(On-Premises) 管理您的GPU资源池,释放AI大模型算力潜能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文分享自华为云社区《使用 UCS(On-Premises) 管理您的GPU资源池,释放AI大模型算力潜能》,作者:云容器大未来。

AI 技术现状及发展趋势

过去十余年,依托全球数据、算法、算力持续突破,人工智能全面走向应用,已成为社会生产生活的支柱性技术。2020年后,当自动驾驶、人脸识别等热门应用发展逐渐放缓、社会对人工智能整体发展预期日益冷静时,大模型技术潜力的释放以最振聋发聩的方式宣告了人工智能第三次高速发展期远未结束,当前正是攀登发展高峰的关键时期。

尽管人工智能技术成熟度正在不断提高,但目前众多企业进行人工智能应用仍然面临着AI应用部署存在困难、投入产出比不达预期等问题。我们认为,企业通过配备适宜于AI开发的高性能软硬件基础服务,有望能够利用底层技术的复用和算力资源的灵活配置优化AI开发和部署流程,提升AI的价值创造能力。

大模型飞速发展,算力需求不断提升,高效利用人工智能芯片成为新的技术焦点

芯片作为算力基础设施,是推动人工智能产业发展的动力源泉。随着人工智能算法的发展,大模型、视频图像解析、语音识别等细分领域算力需求呈爆发式增长,通用芯片已无法满足需求。由于GPU比CPU更适合处理企业数据中心和超大规模网络中AI和机器学习所需的许多计算,数据中心对GPU的需求一直不断增长。

在实际应用人工智能的过程中主要面临基础设施、AI算法及数据等方面的阻碍。在基础设施方面,企业的IT基础设施在海量数据参与运算和采取分布式架构的条件下可能面临GPU算力不足的问题,从而降低企业AI应用的可用性;在算法训练推理领域,以“大模型”为代表的人工智能算法模型体现出模型参数的数量不断增加的趋势,高度复杂化的模型融入应用程序后可能带来训练、推理框架的适配难度的增加,而在交付和部署后对模型的修改也会给用户带来服务中断等问题。为顺应AI“大模型”时代的发展,亟需解决如下技术挑战:

  • 提升GPU资源率:ChatGPT推动AI大模型进入万亿参数时代,远超单GPU芯片能力,训练框架需要将训练任务分发至不同GPU分别运行,并在GPU间共享结果,大规模的GPU集群应运而生;在当前GPU算力稀缺且价格高昂的背景下,如何统一管理数据中心构建规模GPU集群并汇聚分散的GPU算力,根据大模型任务按需分配GPU算力,提升整体的GPU算力资源利用率,一直是云计算AI领域关注的技术焦点;
  • 统一的AI算力调度平台:近几年人工智能快速发展, 各种深度学习框架不断涌现,谷歌、微软、亚马逊和Meta等巨头, 推出了TensorFlow、CNTK、MXNet、PyTorch和Caffe2等深度学习框架,百度、华为推出了 PaddlePaddle(飞桨)、MindSpore,中科院计算所、复旦大学研制了 Seetaface、FudanNLP;面对众多AI开源框架及组件,亟需统一的调度平台降低AI训练任务的部署复杂性、提升AI训练、推理任务效率。

UCS (On-Premises) 搭载 xGPU&Volcano 智能调度引擎,加速数据中心 AI 计算

cke_146.png

华为云分布式云原生UCS服务,是面向分布式云场景下的新一代云原生产品,提供UCS (Huawei Cloud)、UCS (Partner Cloud)、UCS (Multi-Cloud)、UCS (On-Premises) 以及UCS (Attached Clusters) 等产品,覆盖公有云、多云、本地数据中心、边缘等分布式云场景。其中,华为云UCS (On-Premises) 服务是在大规模分布式、高安全合规、高性能的互联网应用驱动下,产生的新一代集开发运维、发布管理为一体的云原生平台,支持将容器管理能力延展至用户数据中心,提供云上云下一致的操作体验。针对用户在本地本地数据中心AI计算的诉求,用户可通过UCS(On-Premises)提供的GPU虚拟化、AI任务管理及调度能力,轻松应对大模型时代的GPU资源利用率及统一的AI框架调度平台的技术挑战:

  • GPU资源利用率提升:随着大模型爆发式发展,金融、制造、互联网等行业纷纷构建行业大模型,需要采购大量的GPU资源满足业务诉求,但是在实践调研发现,很多AI服务虽然使用GPU,但是GPU的利用率普遍不高(显存平均小于30%,GPU算力小于1%),为了充分利用紧张而宝贵的GPU资源,华为云通过GPU虚拟化、华为云云原生操作系统HCE(Huawei Cloud EulerOS)等核心技术,提供GPU的显存、算力隔离能力,促进不同的AI任务可充分使用单张GPU,充分压榨GPU的算力资源,并结合高速网络,促进AI任务队列对GPU资源的充分共享,提升IDC的整体GPU资源利用率;
  • 统一的AI算力调度平台:结合华为云智能调度引擎volcano、智能洞察引擎等能力,快速构建云原生AI基础设施平台,支持Tensorflow、Pytorch、MxNet、MindSpore等通用AI训练、推理框架及丰富的AI调度策略,提升分布式训练的能力,同时基于云原生技术的开发集成及部署,结合底层硬件基础设施,构建“应用+资源”感知调度能力,促进AI应用及核心业务应用的共同运行,帮助企业敏捷、高效、安全地利用数据进行大模型应用开发,并在应用部署过程中实现成本优化和灵活的版本控制。

华为云xGPU技术,原生兼容AI容器应用,实现GPU算显隔离、故障隔离

GPU虚拟化技术从2000年代初期硬件虚拟化到基于API的虚拟化术,再到完全虚拟化和基于容器的虚拟化的发展,在云计算、AI领域扮演着越来越重要的角色,无论GPU技术怎样发展,其目的都是在提高虚拟化的性能、隔离性及用户体验,归纳起来,GPU虚拟化技术在大模型时代,均需要解决资源共享隔离、算力隔离、显存隔离、故障隔离的场景问题:

  • 整体资源共享:任务A独占GPU资源,但只用了GPU20%的算力资源,30%的显存资源,任务B排队准备,无GPU资源可用,导致超70%的GPU处于空闲状态,后续的任务只能等待;
  • 算力隔离:任务A与任务B共用一块GPU资源,由于任务A对算力使用频繁波动,任务B无法获取充足的算力资源,导致任务B计算超时;
  • 显存隔离:任务A和任务B共用共用一块GPU资源,按照程序设计,任务A使用8G显存,任务B使用6G显存,某一时刻,任务A图像占用10G显存,导致任务B运行失败,故障退出;
  • 驱动故障:任务A和任务B共用一块GPU资源,任务A运行CUDA报错,导致任务B故障退出。

为了在容器场景下充分使用GPU资源,解决上述提到的算力隔离、显存隔离、故障隔离,华为云在HCE(Huawei Cloud EulerOS)内核基础上研发了xGPU技术,针对人工智能场景,实现多个AI容器共用一张显卡,同时具备业务的安全隔离,保障多组任务有效使用同一张GPU物理卡,大幅度提升AI训练任务在UCS(On-Premises)集群的运行体验,目前xGPU能力已经完全落地在UCS(On-Premises)平台之上,如下是整体架构:

cke_147.png

xGPU不仅实现单卡GPU虚拟化,还原生兼容kubernetes生态:

  • 深度兼容kubernetes: 当前主流的训练框架像Tensorflow、MxNet、MindSpore等针对kubernetes平台开发了operator,被各大头部互联网及金融机构广泛采用于内部的AI训练平台的关键工具,xGPU技术原生与kubernetes深度兼容无侵入式修改厂商驱动和代码库,运行时无需替换CUDA库;适配标准的Containerd工作方式,容器业务无需任何改造。
  • GPU资源灵活隔离: xGPU实现了物理GPU的资源任意划分,根据训练任务的配置要求按照不同比例灵活隔离;可从算力、显存两个维度进行细粒度划分,达到MB级显存隔离、5%粒度的算力划分。

xGPU实现的是单卡级别的资源隔离,而AI任务往往是以多组队列的形态进行下发,以Tensorflow任务为例,做单次训练需要运行11个pod(1个PS Pod + 10个 Worker Pod),且需要11个Pod均启动成功,训练任务才可进行,如果因为某一张GPU显存不足导致其中的一个Pod运行失败,就会导致整个训练任务的失败,这样导致的资源及训练成本加大,所以针对AI类训练任务,就需要一个针对kubernetes平台资源的智能调度引擎Volcano。

Volcano兼容主流训练框架,内置丰富AI任务调度算法策略,实现精细化算力资源管理

Volcano 是业界首个云原生批量计算项目,2019年由华为云捐献给云原生计算基金会(CNCF),也是 CNCF 首个和唯一的孵化级容器批量计算项目,并于近期携手11家合作伙伴启动了Volcano社区共建计划。该项目面向人工智能、大数据、HPC场景提供统一的高性能作业管理,支持丰富的高阶调度策略,包括在离线统一调度、AI弹性训练调度、SLA、作业拓扑、Fairness、负载感知、重调度、抢占、回收等;对Spark、Flink、Pytorch、MPI、TensorFlow等批处理工作负载实现统一生命周期管理,作业依赖、作业内任务依赖管理;在细粒度资源管理方面,Volcano支持min-max队列资源管理,提供队列资源预留、多租户资源租借/抢占的动态资源共享等能力;在异构资源管理方面,Volcano 实现 x86、Arm、GPU、昇腾、昆仑等多元算力的统一调度,并提供CPU/GPU 共享的精细化调度能力,用户可根据业务需求灵活搭配资源,实现最高性价比。

cke_148.png

Volcano当前广泛的被华为云内外部客户用于生产环境,在华为内部,Volcano被用于流程IT、终端云等核心AI应用场景;其丰富的调度策略Gang-Scheduling、Task-Topology、IO-Aware、NUMA-Aware等在生产环境的应用,大幅提升分布式训练的调度效率,将算力资源池的利用率从20%提升至60%以上,如今Volcano将作为UCS(On-Premises)服务的重要组件,帮助用户在本地数据中心加速AI任务的训练及均衡提升算力资源利用率,如下将着重回顾介绍下Volcano的关键调度策略:

Gang-Scheduling调度策略是volcano-scheduler的核心调度算法之一,它满足了调度过程中的“All or nothing”的调度需求,避免Pod的任意调度导致集群资源的浪费。具体算法是,观察Job下的Pod已调度数量是否满足了最小运行数量,当Job的最小运行数量得到满足时,为Job下的所有Pod执行调度动作,否则,不执行。

cke_149.png

如一个训练场景,假设一个由2个ps容器和4个worker容器组成的AI应用程序需要调度到有限的资源上。当默认调度器尝试调度最后一个工作者容器时,如果没有可用的资源,则调度将失败。作业挂起,因为没有最后一个工作者容器应用程序就无法运行。与此同时,已经排定的容器所占用的资源却没有产出任何东西。

Volcano确保了一组相关的容器可以同时排期。如果出于某种原因,不可能将所有容器排成一组,Volcano不会安排这组。在实践中,将一组内部依赖容器部署到有限资源上的情况并不少见。在这些情况下,Volcano是至关重要的,因为组调度消除了由于资源不足而导致的潜在死锁。Volcano显著提高了负载沉重的集群的资源利用率。

分组调度基于容器组,或代码中所称的“jobs(作业)”。使用分组调度,算法检查每个作业,看是否可以调度整个作业。每个组中的容器称为“tasks(任务)”。当可以调度的任务数量超过设定的阈值时,任务将被调度到各个节点上。这个调度过程在代码中称为“bind nodes(绑定节点)”。

Nunma-Aware调度策略是针对那些对cpu参数敏感、调度延迟敏感的计算密集型作业:如科学计算、视频解码、动漫动画渲染、大数据离线处理等具体场景,volcano通过Resource Reporter上报的节点CPU拓扑及POD使用CPU的NUMA分布,提供NUMA-Aware能力将POD调度至合理的CPU上,有效提升任务的执行效率。

cke_150.png

Volcano提供了一组不同的调度算法,比如优先级、域资源公平性(DRF)和binpack,这意味着你可以更容易地处理不同的服务需求。例如,你可能希望在部署应用程序时确保DR和中断隔离。使用Volcano,你可以轻松地部署在不同节点上运行相同应用程序的容器,并且每个节点只有一个pod。在另一个场景中,为了确保某些应用程序不会竞争资源,你可能希望避免将它们部署在同一个节点上。Volcano可以帮助你做到这一点。

总结展望

cke_151.png

UCS(On-Premises)旨在将云上的服务能力延伸至各行业的客户的本地数据中心,结合volcano的AI作业管理及智能调度能力、xGPU的GPU虚拟化能力,帮助用户快速在IDC构建云原生的AI基础设施,更细粒度的使用GPU资源,让用户聚焦AI的业务开发,最大限度释放AI大模型算力潜能。

参考

《人工智能标准化白皮书》(2021版)

《人工智能安全标准化白皮书》(2023版)

《华金证券:AI产业化再加速,智能大时代已开启-GPU行业深度报告》

《艾瑞咨询:2021年中国云原生AI开发平台白皮书》

点击关注,第一时间了解华为云新鲜技术~

这篇关于使用 UCS(On-Premises) 管理您的GPU资源池,释放AI大模型算力潜能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/279426

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传