《火山引擎:如何利用云原生构建 AIGC 业务基石(2023)(24页).pdf》由会员分享,可在线阅读,更多相关《火山引擎:如何利用云原生构建 AIGC 业务基石(2023)(24页).pdf(24页珍藏版)》请在三个皮匠报告上搜索。
1、2023/3/261如何利用云原生构建AIGC 业务基石李玉光|火山引擎资深云原生架构师22.云原生机器学习的核心场景3.云原生如何助力 AIGC 业务4.业界成功实践1.什么是 AIGC2什么是 AIGC4什么是 AIGC4AIGC 全称为 Artificial Inteligence Generated Content(人工智能生成内容),是指 AI 通过海量现存数据(如文本、音频或图像)生成新内容的技术。AIGC 着重于内容的生成,而内容生态的发展则可分为四个阶段:PGC:电视台、线上专业视频网站是主要的PGC内容生产方,包括电影、电视剧、纪录片等UGC:互联网短视频如抖音、西瓜、等大都
2、属于 UGC 平台AI-assisted User-generated Content:主要由 UGC 平台推广,处于AI 辅助生成内容阶段,并未进入自AI内容自动生成阶段AIGC:自动生成文字、图片、音频、视频,甚至 3D 模型和代码5AIGC 现状5AIAI 生成文字方面生成文字方面目前 AI 已经可以设计营销文案、写邮件、写广告、自动生成代码等内容。AIAI 生成图片生成图片已经可以生成专业画师水平的作品。AI 辅助生成作品太空歌剧院击败其他纯人工作品夺得数字艺术类比赛冠军。AIAI 生成音频生成音频去年在网上有一段 AI 生成的对于乔布斯的 20 分钟的采访音频,在音频中乔布斯谈到自己
3、的大学时代、对计算机、工作状态和信仰的看法,已经很难区分出真假。AIAI 生成视频生成视频目前 AI 生成视频的算法模型还未成熟,也还没出现一家独大的局面。不过已经可以做到文字转视频、图片转视频、视频生成视频三种功能。比如通过文本描述,就可以生成一段情节连贯的视频。AIAI 生成生成 3 3DD以往的“3D 建模”需要利用三维制作软件通过虚拟三维空间构建出具有三维数据的模型,技术要求比较高,需要懂美术、熟悉 3DMAX 和 Maya 等软件,还需要大量的时间去人工绘制。现在的技术可以把全景相机拍摄的视频自动渲染为 3D 场景,减少了人工 3D 建模的过程。6AIGC 热点事件6图片区域图片区域
4、太空歌剧院是游戏设计师杰森艾伦的绘画作品,该幅画作是 Allen 使用 AI 绘图工具 Midjourney 生成,再经 Photoshop 润色而来。2022 年 8 月,美国科罗拉多州举办的艺术比赛中,太空歌剧院获得数字艺术类别冠军。7AIGC 热点事件7图片区域由 OpenAI 开发的一个人工智能聊天机器人程序,于2022 年 11 月推出。使用基于 GPT-3.5 架构的大型语言模型并通过强化学习进行训练。GPT-4 大型多模态模型(large multimodal model),支持图像和文本的输入,并生成文本结果。自动生成文章、生成代码、自动摘要等在内的多种任务。可支持图片输入,并
5、且可以阅读图片和解释。GPT-4 在各种职业和学术考试上表现和人类水平相当。8AIGC 基础设施挑战8流程标准化流程标准化基础架构带来算法结果差异算法改进如何复现前人工作结果管理并对比不同的实验异构资源异构资源CPUGPU,A100、v100 为主,A30、T4 为辅Nic:TCP/RDMA/SmartTos、NAS、HDFS超大镜像超大镜像系统镜像和容器镜像大,容器镜像普遍 1020G+,部分容器镜像 40G+,单层 30G+高性能和可扩展存储高性能和可扩展存储带宽:单租户百 GB/s 的带宽吞吐延迟:亚毫秒级延迟容量:PB 级别的容量数千个计算实例同时访问的高性能共享存储9AIGC 基础设
6、施挑战 资源利用率9目前 NVIDIA GPU 在硬件上同一时刻只能运行一个 CUDAcontext(通常对应一个进程)机型机型价格(元价格(元/年)年)10%10%资源使用资源使用成本浪费成本浪费20%20%资源使资源使用成本浪费用成本浪费30%30%资源使用资源使用成本浪费成本浪费Tesla V100*122 万20 万18 万16 万急需一种能够提高 GPU 资源率的 QoS 方案任务任务任务任务任务任务任务任务任务30%10%20%GPUGPUGPUOCR语音识别人脸识别云原生机器学习的核心场景11云原生 AI 核心场景11优化异构资源管理优化异构资源管理计算资源:如计算资源:如 CP
7、UCPU、GPUGPU、FPGAFPGA存储资源:存储资源:T TOSOS、NASNAS、HDFSHDFS网络:网络:TCPTCP、RDMARDMA优化调度策略优化调度策略感知异构资源,优化训练任务调度,最大化利用计算和带宽资源。感知异构资源,优化训练任务调度,最大化利用计算和带宽资源。分布式训练中数据通信带宽成为限制分布式训练中数据通信带宽成为限制 GPU GPU 计算性能的瓶颈计算性能的瓶颈GPU GPU 拓扑感知调度,获取所有节点拓扑感知调度,获取所有节点 GPU GPU 卡之间的拓扑结构卡之间的拓扑结构拓扑信息:拓扑信息:NVLINKNVLINK、PCIe SwitchPCIe Swi
8、tch、NumaNuma、RDMA RDMA 自动选择出能够提供最大通信带宽的自动选择出能够提供最大通信带宽的 GPU GPU 卡组合卡组合统一管理异构工作负载统一管理异构工作负载训练框架和训练任务的生命周期管理,一键发起训练任务训练框架和训练任务的生命周期管理,一键发起训练任务统一标准化的调度任务工作流,保证训练任务的规模和性能统一标准化的调度任务工作流,保证训练任务的规模和性能持续改善开发运维体验和工程效率,构建符合用户使用习惯的持续改善开发运维体验和工程效率,构建符合用户使用习惯的MLOpsMLOps 流程流程火山引擎异构资源火山引擎异构资源CPUGPUFPGARDMAVPCTOSHDF
9、S火山引擎 VKE异构工作负载异构工作负载统一工作流统一工作流统一管理,统一调度统一管理,统一调度容器其它12Kubernetes 强大的抽象扩展能力12MasterEtcd(key-valueDB,SSOT)Controller Manager (ControllerLoops)API Server (RESTAPI)Scheduler(BindPodto Node)Resource PoolNodeKubeletCRICNICSIDevicePluginNodeKubeletCRICNICSIDevicePluginOperatorSchedulerPluginKubernetes Kub
10、ernetes 云原生操作系统云原生操作系统强大的抽象能力良好的扩展和分布式特性高度统一的规范标准Kubernetes Kubernetes 可扩展组件可扩展组件SchedulerPlugin:复杂场景的调度的扩展Operator:依据业务场景定制 ControllerCRI/CNI/CSI:容器运行时、容器网络、容器存储的扩展标准DevicePlugin:扩展系统硬件资源支持业务类型支持业务类型微服务大数据机器学习云原生如何助力 AIGC 业务14火山引擎云原生机器学习14把数据科学家和算法工程师从繁杂低效的环境管理、资源分配和任务调度工作中解放出来,把更多的精力留给实际的业务处理。容器服务
11、 VKE/弹性容器 VCI/镜像仓库 CR CRICSICNI云原生机器学习 Workload(Scheduler+Operator+DevicePlugin)推理引擎及加速优化(Trition/OpenVINO/TensorRT/Lego)训练框架及加速优化(PyTorch/Tensorflow/BytePS/veGiantModel/MPI/Slurm)Pipeline(KFP/Cromwell)离线批量推理Web Web 页面页面数据标注开发机Job 化训练在线推理监控告警日志TerminalOpenAPIPythonSDK交互式命令行AML 标准化AI 流程云原生底座异构资源CPUGP
12、UFPGARDMAVPCTOSHDFS其它15资源利用率提升 mGPU 共享调度15mGPU 是火山引擎基于内核虚拟化结合自研调度框架提供的容器共享 GPU 方案,可以按模型的 GPU 算力和显存需求量,在容器之间共享GPU,最大限度地占满 GPU 资源。CUDA ContainerCUDA ContainerGPU Driver弹性伸缩GPU 2GPU 3GPU监控容错自愈日志可视化Pod 1/4 GPUPod 1/2 GPUPod 1 GPUGPU 0GPU 1mGPU Container Runtime(显存和算力配置)mGPU 虚拟化层,对内核态驱动层(NVIDIA driver)进行
13、劫持(提供算力、显存、故障隔离能力)Pod 1/8 GPUVKE(mGPU Scheduler+mGPU Device Plugin)CUDA ContainerCUDA Container分配策略隔离能力运维能力16资源利用率提升 mGPU Binpack/Spread 调度16通过结合使用 Pods Binpack/Spread 调度策略,可以在 GPU 卡的分配密度和高可用之间做一个平衡Node GPU GPU GPUGPUGPU GPUGPUGPUNodeNodeGPUGPUGPUGPUGPUGPUGPUGPUGPUGPU GPU GPU GPU GPUGPUGPUGPUGPUBinp
14、ackBinpackSpreadS17镜像仓库服务 CR 镜像加速17支持镜像就近拉取、按需加载、镜像缓存、支持跨地域同步分发,大规模集群拉取支持 P2P 加速。大镜像大镜像拉取场景拉取场景按需加载镜像缓存高并发镜像拉取场景高并发镜像拉取场景P2P 加速经过优化的默认镜像经过优化的默认镜像PyTorchTensorF18弹性容器 VCI18容器服务 VKEVirtual Node 1Virtual Node 2虚拟机Node 1PODPODPODPODPODPODPODPODPOD极致弹性极致弹性秒级弹性伸缩,分钟级交付上千核资源安全安全隔离隔离基于 MicroVM 技术,提供虚拟机级隔离能力
15、,消耗更小更高效高性能高性能基于火山自研软硬件加速能力,提供更高性能的容器能力简单易用无缝集成于容器服务 VKE 中,提供全托管 serverless 能力,即开即用弹性容器实例是火山引擎容器服务的核心能力之一,基于MicroVM和Virtual kubelet技术,为用户提供安全、高效隔离、高性能、简单易用的 Serverless 容器服务能力。19存储优化19GPU K8S PODSTensorFlowTOS/HDFS/a/file1/a/file2CloudFS/hostPathvolume/file1/file2/a/bfile1-blk-0目录树服务file1-blk-1Read C
16、acheWrite Back Cachefile2-blk-0file2-blk-0Hot Block CacheSync TOSWrite to Cache主容器PyTorchFUSEClientSideCarXGBoost分布式块缓存CloudFS TOS 透明缓存加速分布式目录树服务分布式目录树服务为平铺的为平铺的 TOSTOS 文件建立目录树结构文件建立目录树结构可支撑百万可支撑百万 QPSQPS,专为小文件优化专为小文件优化分布式分布式BlobBlob缓存缓存和和 GPUGPU 机器就近部署缓存机器就近部署缓存 WorkerWorkerWWorkerorker 之间有一个服务发现的机
17、制,不经过负载均衡,和之间有一个服务发现的机制,不经过负载均衡,和GPUGPU 机器直连,提供百机器直连,提供百 GbpsGbps 带宽和亚毫秒级延迟保障带宽和亚毫秒级延迟保障支持支持 WarmupWarmup 预热,解决首个预热,解决首个 epochepoch 性能问题性能问题FUSE ClientFUSE ClientFUSE Client FUSE Client 端可以把分布式目录树服务里面的元信息转成本端可以把分布式目录树服务里面的元信息转成本地文件系统接口,以地文件系统接口,以 PosixPosix 系统的文件接口直接读写,无需适系统的文件接口直接读写,无需适配配 TOS/HDFST
18、OS/HDFS本地的本地的 CClientlient 缓存缓存,第,第 2 2 个个 epochepoch 获得内存级性能获得内存级性能20训练加速优化训练加速优化 数据数据通信优化通信优化20离线训练场景中,我们通过引入离线训练场景中,我们通过引入 RDMA RDMA 技术来加速模型训练的数据传输,从而实现模型训练的提速。技术来加速模型训练的数据传输,从而实现模型训练的提速。低延迟低延迟低低 CPUCPU 消耗消耗高带宽高带宽LocalLocal Application LayerApplication LayerSocketsSocketsLocal Transport LayerLoca
19、l Transport LayerLocal Nic DriverLocal Nic DriverLocal NicLocal NicSenderSenderLocalLocal Application LayerApplication LayerSocketsSocketsLocal Transport LayerLocal Transport LayerLocal Nic DriverLocal Nic DriverLocal NicLocal NicReceiverReceiverNetworkNetworkLocalLocal Application LayerApplication
20、LayerLocal Nic DriverLocal Nic DriverLocal NicLocal NicSenderSenderLocalLocal Application LayerApplication LayerLocal Nic DriverLocal Nic DriverLocal NicLocal NicReceiverReceiverNetworkNetworkTCP/IPTCP/IPRDMARDMA高延迟高延迟高高 CPUCPU 消耗消耗不需要做用户态和内核态数据的切换不需要做用户态和内核态数据的切换和拷贝和拷贝应用程序在用户态可以直接操作应用程序在用户态可以直接操作 I
21、OIO通过网卡直接把本地数据通过网络写通过网卡直接把本地数据通过网络写到对端的内存到对端的内存节点之间的通信就不需要节点之间的通信就不需要 CPU CPU 的参的参与与21火山引擎云原生服务21云原生服务不仅支撑了很多火山引擎的上层服务,也持续支撑了大量内部和外部客户的各种业务应用负载的稳定运行和各种行业解决方案的落地。火山引擎公有云火山引擎混合云(veStack 全栈版)火山引擎混合云(veStack 敏捷版)基础容器域容器服务容器服务 VKEVKE镜像仓库镜像仓库 CRCR弹性容器弹性容器 VCIVCI分布式云原生平台分布式云原生平台 DCPDCP观测治理域托管托管 PrometheusP
22、rometheusVMPVMPAPI 网关APIG服务网格 AMS微服务引擎 MSE应用韧性增强服务ARES交付运维域持续交付 CP制品仓库ArtifactsServerless函数服务veFaaS云原生计算引擎流式计算Flink 版云原生消息引擎BMQ批式计算Spark 版云搜索服务OpenSearch大数据文件存储 CloudFS金融 DevOps 集成/安全生信科学计算 pipeline零售/电商资源弹性工业云边协同/数据智能行业解决方案堡垒机业界成功实践23业界成功实践 火山引擎赋能23 C端业务快速增长,服务端压力过大,资源需要快速扩容;资源的运营成本压力;用户容器镜像较多,大部分容器大小在20G左右,少量30G+,模型加载时间长 包年包月资源部分保证常驻业务需求 弹性资源部分,保证临时突发业务需求 快速扩容,及时缩容节约成本 mGPU 提升资源利用率 镜速能力,镜像拉取时间缩短 50%+售后服务响应快,服务质量高;VKEVKE+VCIVCI、ECSECS(V100V100、A30A30)+TOS+NAS+TOS+NAS 等等TOSCRVKEVPCXX云用户上传下载VCIGPU 云服务器GPU 云服务器弹性容器实例AIGCAIGC 推理平台推理平台本地存储模型上传NAT网关