《火山引擎:云原生机器学习系统落地和实践(2023)(20页).pdf》由会员分享,可在线阅读,更多相关《火山引擎:云原生机器学习系统落地和实践(2023)(20页).pdf(20页珍藏版)》请在三个皮匠报告上搜索。
1、2023/3/271云原生机器学习系统落地与实践郭海青火山引擎高级工程师22.云原生机器学习系统3.GPU 利用率提升实践1.背景介绍2背景介绍在线推理服务图片区域推荐/广告/搜索核心服务、CV/NLP/Speech 等算法服务负载特性:延迟、效果并重NUMA 绑定,异构设备支持;波峰波谷规律明显离线训练:PS-Worker 架构图片区域推广搜亿级用户和 item 特征基础介绍:PS 存储模型参数;Worker 计算更新梯度;负载特性:PS 要求 Gang 性,需要保证高优资源,对稳定性要求较高,单个异常需要进行 failoverWorker 容忍部分异常,慢 worker会导致 离线训练:R
2、ing AllReduce 架构图片区域常见 CV/NLP/Speech 架构基础介绍:无中心节点,worker 有序成环,互相交换梯度负载特性:Worker 资源要求同质化;网络带宽大,必须考虑网络拓扑的亲和性;Worker 理论上具备故障容忍和弹性能力,故障/弹性需要感知通讯拓扑的更新7云原生化的动机统一在离线编排调度体系,在此基础上去实现资源池化,提高资源流转效率和利用率;利用 K8s 强大的抽象能力和优秀的扩展性去满足需求迭代,提高用户体验;7云原生机器学习系统9云原生机器学习系统Godel:在离线统一调度图片区域超大规模集群调度Dispatcher 调度任务分发Scheduler 实
3、际调度和抢占Binder 解决调度冲突离线场景调度支持Gang 调度BinPacking优先级抢占Godel:在离线统一调度图片区域图片区域网络拓扑调度:同 podGroup 的 pods 调度相同的网络域中微拓扑调度:CPU、Memory、GPU 具有 Numa 亲和性;调度器根据拓扑信息进行节点绑定Katalyst:资源管控系统图片区域Katalyst Agent:资源收集和上报、单机驱逐管理CNR 存储 NodeTopo 等信息QRM Plugins 实现 CPU、Memory 等资源管控下发SysAdvisor:单机 Qos Aware 算法组件Katalyst:资源管控系统图片区域Q
4、oS:dedicated_cores:独占 cpuset,可支持 numa bindingshared_cores:共享 cpuset,可切分不同 poolreclaimed_cores:超发算力13GPU 利用率提升实践在线 GPU 共享图片区域在离线通过 MPS+Bytecuda 进行GPU 共享实现 share GPU device plugin通过 MPS 实现 GPU spatial sharingBytecuda 劫持 cuda API 实现 timesharing 和 memory 在线 GPU 共享图片区域Bytecuda 监控显存使用情况并保证其在请求的 quota 之内Bytecuda 可以控制 kernel launch,类似 CPU GPU 常态混部在离线一体的弹性并池图片区域在线 HPA 通过服务利用率扩缩容副本,空闲资源通过 virtual kubelet 接入进群AutoScaler:监控潮汐资源情况,控制训练任务的扩缩策略Operator:调整 replicas 数量,更新通信拓扑信息Horovod Elastic/Torch Elastic:弹性训练框架未来展望19池化精细化在离线 GPU 并池灵活高效的拆借统一联邦精细化调度,减少碎片动态、灵活的scaling 机制