火山引擎机器学习平台架构与最佳实践详解

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 火山引擎机器学习平台 架构与最佳实践详解 顾谭 火山引擎系统工程师 2021/10/30 1
2. 1.产品介绍 2.云原生机器学习平台架构设计 3.最佳实践 2 2
3. 3 产品介绍
4. 产品目标 4 4 模型开发 53% 从数据+想法到AI生产力 mlops dataops 数据处理 AI 工程化 模型训练 mlops dataops 模型推理 模型部署 devops www.volcengine.com
5. 算法工程师的痛点 异构数据的处理 5 5 算力及调度的规模化 开发过程的标准化和团队协作 www.volcengine.com
6. 一站式云原生机器学习平台 6 平台产品功能 命令行 Web 页面 ML Service 数据服务 WebIDE 模型训练 SDK AutoML OpenAPI 模型推理 端智能 开发套件 MLFlow AI资产中心(镜像/模型/代码/实验Tracking) 机器学习任务调度 K8S Operator ML System 训练框架 TensorFlow/PyTorch/GBDT/BytePS/ByteGiant 推理引擎及优化 Trition/OpenVINO/ByteNN/TensorRT/XLA 火山引擎云原生底座 ( ECS /VKE/存储/大数据开放平台/网络) www.volcengine.com
7. 产品设计理念 7 7 To Developer: 极致的开发者体验 资源利用率 可观测 代码 0 侵入 高性能 www.volcengine.com
8. 模型开发——WebIDE 8 整合 • 全功能 VSCode: 社区插件+自定义插 件(Tensorboard、数据浏览 Hive/MySQL/ 本地文件系统浏览器、实验记录) • 深度优化的 Notebook: 多语言内核 (MLSQL+Python+Spark)、可定时运行、 Cell 运行历史、刷新页面不丢内容等 解耦 • 计算节点: 自定义规格(CPU/GPU)+自定义 图片区域 镜像,随时随地开关机,支持本地 IDE 直连 • 代码: 可脱离于计算节点,独立编辑和分享,支 持 Git • 数据: 无缝对接 -> 对象存储/NAS/HDFS/Hive www.volcengine.com
9. 模型训练——自定义训练 Web 页面 (交互式表单/监控/日志 /WebTermimal) 镜像 (预置/自定义) 9 交互式命令行 (全功能 Termial/日志) SDK/OpenAPI 任务生命周期管理 代码 数据 (WebIDE/本地上传/Git) (TOS/HDFS/NAS/vePFS) (排队中/部署中/运行中/完成/失败/取消) 图片区域 多种分布式训练框架编排和调度 (Horovod/PyTorchDDP/TensorflowPS/MXNet/XGBoost/ BytePS/ByteGiant ) 实验 Tracking (代码快照、超参数、效果指标、 TensorBoard、日志) 多种计算规格实例 (CPU / A100/V100/A30/T4 with RDMA) www.volcengine.com
10. 模型推理 • 10 高性能在线推理: Trition Inference Server/OpenVINO/自研QuickSilver • 高吞吐离线批量推理 • 一键发布+弹性扩缩容 • 全面监控+日志+告警 • 模型转换: • • 格式转换:TensorRT/XLA/TVM • 精度转换: fp32->fp16/int8 图片区域 Perf: • 性能报告: QPS/Latency • Profile Timeline www.volcengine.com
11. 资源组 11 1. 调配每个算法工程师 Quota 占比 2. 运行中任务管控 3. 利用率监控及报表: • 指标:申请率、已申请部分利用率 • 维度:组、个人、任务 图片区域 www.volcengine.com
12. 12 云原生机器学习平台架构设计
13. 云原生——基于火山引擎云原生底座 K8S Operator ML Platform AutoML MLJob Kubeflow TensorBoard 大数据开放平台 PaaS Volcengine Kubernetes Engine 计算 网络 Spark/Flink/EMR/Ray 云存储 ECS VPC TOS/CloudFS/ vePFS/ VCI vRDMA MySQL/Redis/云监控 Cloud Infra 开源存储 MiniIO/NFS/HDFS/Hive MySQL/Redis/ELK /Prometheus/Granfana www.volcengine.com
14. 云原生——符合云原生标准 14 容器化 无服务器 OpenAPI 节约成本 图片区域 • 全托管服务 • 自定义镜像 • 所有功能 API 化 • • 免运维 • • • 高可用 MicroVM 容器,提供全面 的资源隔离(CPU/MEM/ GPU/网络/磁盘 IO) 统一定义资源、权限、 Quota 包年包月+按量计费,灵活 组合 • • 弹性扩缩容 • 支持被集成 在离线融合一体化调度,降 低资源碎片,提升利用率 • 高性能 • 挂载用户 VPC 的 ENI,打 通上下游资源 ü 样本托管 ü 训练框架 www.volcengine.com
15. 云端优化——高性能+易用的样本托管方案 15 模型训练 数据处理 TensorFlow/PyTorch/ GBDT/Ray MLSQL /Spark/Ra y POSIX接口+缓存加速 Hive/HDFS/TOS/MyS QL/Kafka 源数据 HDFS/TOS/vePFS 样本 HDFS/TOS 模型/日志/代码快照 www.volcengine.com
16. 云端优化——高性能+易用的样本托管方案 16 GPU K8S PODS 主容器 SideCar CloudFS TensorFlow PyTorc h XGBoost /LightGB M FUSE Client Ray / /b /a PV&CSI hostPath volume 图片区域 /file2 /file1 Hot Block Cache Write to Cache file1-blk-0 file2-blk-0 file1-blk-1 file2-blk-0 Read Cache 分 布 式 目 录 树 服 务 分 布 式 块 存 储 Write Back Cache vePFS/NAS /a/file1 Async Upload UFS /a/file2 TOS/HDFS www.volcengine.com
17. 云端优化——高性能+易用的样本托管方案 高性能和扩展性 • • • 单租户每秒数百 GB/s 的吞吐 数千个计算实例同时 访问的高性能共享存 储 PB 级别的容量 17 易用使用 • • 代码 0 修改 • 数据处理: Spark/Flink/Ray/MLSQL • 训练: Tensorflow/Pytorch/GBDT/Ray 接口友好 • 兼容 POSIX • 兼容 HDFS 协议 • 兼容 TOS 成本 • 管理成本: 免于拷贝数据 • 存储费用:分层存储,在低 廉的 TOS/HDFS 中归档数 据,发起 AI 训练时候做透 明加速代理 www.volcengine.com
18. 云端优化——高性能分布式训练框架 BytePS 18 DNN Models ResNet-50 (26M params) DNN Training BERT-Large (387M params) GPT-3 图片区域 (175B params) Estimated #iters. Estimated to converge training time DNN model Device Computation time (FP + BP) ResNet-50 1x Tesla V100 32ms + 64ms (batch size 32) 3.6M 96 hours BERT-Large 1x Tesla V100 339ms + 508ms (batch size 35) 8M 78.4 days 分布式训练加速 www.volcengine.com 18
19. 云端优化——高性能分布式训练框架 BytePS 19 3. CPU Bottleneck: optimizer is too heavy CPU Machine CPU Machine CPU Machine CPU Machine ALL- Reduce PS GPU Machine GPU Machine GPU Machine GPU Machine GPU Machine GPU Machine 图片区域 Best strategy: combine together 1. GPU machine Bandwidth not saturated CPU Machine CPU Machine 1. CPU Machine Bandwidth not utilized at all 2. Intra-Machine multi-GPU communication GPU Machine GPU Machine GPU Machine www.volcengine.com
20. 云端优化——高性能分布式训练框架BytePS CPU Machine 0 GPU Machine 0 GPU GPU GPU GPU Computation Computation Computation Computation 机内通信优化 20 CPU Machine k-1 Summation Service … Summation Service Communication Service … Communication Service Summation Service Summation Service 机间通信优化 GPU Machine n-1 图片区域 GPU GPU GPU GPU Computation Computation Computation Computation 解决 CPU 算力瓶颈 www.volcengine.com
21. 云端优化——高性能分布式训练框架 BytePS 21 BytePS 在典型任务上的性能分别比 All-reduce 和 PS 高出 84% 和 245% TensorFlow ResNet-50 MXNet VGG-16 PyTorch UGATIT-GAN CV Models 图片区域 TensorFlow Transformer MXNet BERT-Large PyTorch GPT-2 NLP Models GPU: V100, NVLink,100Gbps NIC CPU: 96Core,512G www.volcengine.com
22. 22 最佳实践
23. 最佳实践 23 www.volcengine.com
24. 欢迎加入 24 抖音扫码关注 扫码关注 “火山引擎开发者社区”抖音号 “火山引擎开发者社区”公众号 24 www.volcengine.com
25. www.volcengine.com

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-15 20:25
浙ICP备14020137号-1 $Map of visitor$