1、阿里云云原生深度学习平台PAI-DLC实践与落地穆冰森2022/09/17主要内容机器学习平台介绍01深度学习平台DLC架构设计02未来展望03机器学习平台需要具备的能力数据处理模型开发模型训练模型部署数据预处理特征处理数据加强等传统机器学习算法深度学习算法模型开发工具多种算法框架自定义算法框架多种数据存储异构硬件多种推理框架自定义推理框架异构硬件机器学习平台PAI产品架构深度学习平台的特性用户管理效率体验资源管理节省成本弹性可复现异构算力数据自治AutoMLAutoML云原生深度学习平台PAI-DLC架构CPUGPU/DCUFPGARDMANAS/OSS/CPFSKubernetes(ACK
2、)Device PluginCRICNICSI PluginPersistent AgentDLC OperatorKube-Queue OperatorKubeDLOperatorDLC SerivceUserAuthWeb UICLISDKOpenAPIRDSLogEventMetrics on Kubernetes 容器化 OpenAPI AI负载调度 节省成本(资源管理,资源利用率)弹性训练 异构计算资源 可观测性容器化引擎容器化服务容器化Push imagePush imageCI PipelineCI PipelineSource CodeSource CodeAliyunAliy
3、un Container Registry Container Registry(ACR)(ACR)支持自定义镜像 完整CI/CD流程,实现代码,镜像,发布全流程OpenAPIQuotaCPUGPUGPU TypeMemoryCreateUpdateReadDeleteCreateQuotaUpdateQuotaReadQuotaDeleteQuota.OpenAPIOpenAPIWeb UI第三方CLISDK 所有功能API化 统一定义资源和权限 模块间调用(MLOps)方便第三方集成AI负载调度默认调度器:依次调度PodAI&大数据任务:多个pod必须同时配合执行AI负载调度 Cosche
4、duling All-or-NorthingAI负载调度 Binpack 减少资源碎片,提高集群资源利用率AI负载调度 Capacity Scheduling 资源配额管理,提供集群资源利用率 支持多级Quota 支持多种资源配置 支持Quota间的借用和回收 K8S原生ResourceQuota固定资源分配,会导致资源浪费GPU虚拟化显存隔离算力隔离故障隔离隔离性:灵活性:双维度:显存、算力独立切分任意规格:切分限制大小规格没有控制兼容性:Linux操作系统CUDA、Driver硬件:T4/P100/V100/A100/A10/2080等性能:线上业务测试QPS无损失,长尾RT 增长约4%G
5、PU共享调度 提高资源利用率 能够按照最小0.1卡的方式创建实例(理论值算力:0.01,显存:1MB)支持指标采集(gpu-exporter)支持Quota记账 支持单机多卡/多机多卡场景EasyScale 精度无损弹性训练GPU0GPU0Worker1GPU1GPU1Worker0GPU0GPU0Worker0缩容现有弹性训练框架GPU0Worker1GPU1Worker0GPU0Worker0缩容EST_0EST_1EST_0EST_1T0时刻GPU0T1时刻EasyScale弹性训练框架现有的弹性训练框架:运行时改变GPU数量会改变训练过程(如batch-size,learning-ra
6、te)影响最终模型收敛 影响模型超参调优EasyScaleEasyScale弹性训练框架:Worker支持分时复用GPU保障了资源弹性但是训练流程不变精度无损支持异构场景数据访问存储介质:OSSNASCPFS挂载方式:本地挂载PVC挂载数据加速:Fluid:Alluxio/JindoFS Runtime缓存引擎支持数据亲和性调度通过Namespace进行数据安全隔离可观测性Node1Node1Node2Node2KubeKube EventerEventerLogPilotL