基于任务可预测性的高吞吐分布式训练集群资源调度

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 基于任务可预测性的高吞吐分布式 训练集群资源调度 李方舒 天津大学 智能与计算学部 fangshuli@tju.edu.cn
2. 个人简介 • 学习科研经历: – 2015.9-2019.6 西南交通大学 软件工程专业 本科 – 2019.9 至今 天津大学 软件工程专业 硕士在读 • 主要研究方向 – 分布式训练性能优化 – 大规模数据中心资源效率优化 – AI系统加速 • 联系方式 – fangshuli@tju.edu.cn
3. 目录 1 相 关 背 景 介 绍 2 AITurbo 设 计 3 实 验 评 估 4 讨 论 与 总 结 3
4. 背景  参数规模 和 模型复杂度  OpenAI 最新发布的语言模型 GPT3 参数量已达到 175B 4
5. 背景  参数规模 和 模型复杂度  Facebook: 模型复杂度在两年内增长了 2×。  使用Tesla V100的云实例训练GPT-3模型需要 消耗 $4.6M。 5
6. 背景  如何提升训练性能和资源效益是一个巨大的挑战 Job Resource Job1 Job2 New Resource Add Add Delete Job3 CPU GPU  动态作业优先级调度  动态资源分配  该策略为每一个作业分配一个  该策略动态调整作业的超参数和 动态变化的优先级 资源配置 6
7. 背景  部分可预测训练 l 只有部分可训练作业是可预测的。 l 可预测作业最初是不可预测的。 7
8. 背景  部分可预测训练 l 针对部分可预测训练,基于可预测任务的调度和不可预测任务的 调度都是无效的。 需要一个混合调度策略! 8
9. 背景  统一 CPU-GPU 训练 l CPU和GPU的集群资源利用率偏低,且使用不均衡。 两种资源利用率之差的CDF图 Abs(CPUutil−GPUutil) 当CPU成为性能瓶颈时, CPU资源也无法使用 9
10. 背景  统一 CPU-GPU 训练 l 不同数目的参数服务器(PS)和工作节点(Worker)、资源配 置、资源类型具有不同的训练性能 1Gbps 0.1Gbps 1 0
11. 目录 1 相 关 背 景 介 绍 2 AITurbo 设 计 3 实 验 评 估 4 讨 论 与 总 结
12. AITurbo 设计  AITurbo 创新点:  利用DDL作业的 部分可预测性特征 和 异构CPU-GPU训练 特征 ,优化DDL作业的训练效率,提高集群资源利用率  挑战:  如何判别一个DDL训练作业的可预测性?  如何统一调度异构CPU-GPU资源?  如何统一调度可预测作业与不可预测作业? 8
13. AITurbo 设计  AITurbo系统设计:  解决方案:  解决方案1: 二分类模型  解决方案2: 统一计算分配 8
14. AITurbo 设计  二分类模型: l 影响作业可预测性的指标 u 模型自身特征 u 训练框架的超参数配置 u 作业运行的状态 8
15. AITurbo 设计  二分类模型: l 指标选择标准 u Pearson相关系数, Kendall 相关系数和Spearman相关系数 u 基于纯度的重要性分析 8
16. AITurbo 设计  二分类模型: u 指标选择标准 u Pearson相关系数, Kendall 相关系数和Spearman相关系数 u 基于纯度的重要性分析 8
17. AITurbo 设计  二分类模型: l 算法选择 u K邻近 (KNN) u 逻辑回归 (LR) u 随机森林回归 (RFR) u 支持向量机(SVR) u 多层感知神经网络(MLP) 8
18. AITurbo 设计  可预测作业的性能预测模型: l 性能预测模型 训练迭代次数 作业完成时间 单次迭代的训练速度  速度模型 1 u 1、 前向传播 2 3 4 u 2、 后向传播 u 4、 参数更新 5 u 3、 梯度推送 u 5、 参数拉取 8
19. AITurbo 设计  可预测作业的性能预测模型: l 性能预测模型 训练迭代次数 作业完成时间 单次迭代的训练速度  速度模型  训练步数模型 损失值 迭代次数 8
20. AITurbo 设计  可预测作业的资源分配: l 目标:  作业 i 的剩余服务数:  对每个作业 i,AITurbo会计算调整资源集 的 中单位资源后的作业剩余服务数 8
21. AITurbo 设计  可预测作业的资源分配: l 示例: +ps +worker 9 5 18 22 26 -worker -CPU(ps) -CPU(worker) -GPU 14 14 13 JobA(V=10) 8 6 JobB(V=16) 18 24 -ps 12 JobA(V=10) JobB(V=16) 16 +CPU(ps) +CPU(worker) +GPU 12 12 16 15 � = � ���� (+���) + � ���� (−���) = 15 18 10 8
22. AITurbo 设计  统一计算分配: l 可预测作业 & 不可预测作业 l 波达计数法 & 多级反馈队列(MLFQ) l 示例: 8
23. 目录 1 相 关 背 景 介 绍 2 AITurbo 设 计 3 实 验 评 估 4 讨 论 与 总 结
24. 实验评估  实验平台:  工作负载: l Tensorflow benchmark l 数据集: ILSVRC2012-ImageNet 和 Cifar10 8
25. 实验评估  性能提升: l 作业完成时间 和 最大完工时间 AITurbo 可以减少至少 2× 以上 的平均作业完成时间 l 长作业 和 短作业 AITurbo 对不同训练时长的作 业都具有良好的性能提升 8
26. 实验评估  资源利用率: l CPU利用率 和 GPU 利用率  AITurbo 可以提升至少 15% 的资源利用率  在未使用AITurbo时,资源利用率之差在 80% 的时间内小于 60%。 在使用AITurbo后,该差距降低为 40% 8
27. 实验评估  开销: l 在Tensorflow上重启一个使用GPU资源训练作业的时间开销 l 不同DDL作业的刻画开销 8
28. 目录 1 相 关 背 景 介 绍 2 AITurbo 设 计 3 实 验 评 估 4 讨 论 与 总 结
29. 总结  AITurbo利用作业的部分可预测特征和异构CPU-GPU特征优 化了训练性能。  AITurbo 有效的减少了训练作业的平均完成时间,优于现 有的最先进的调度器。  AITurbo针对商业GPU集群进行设计,该集群可以被同一 部门下的多个编程人员共享。 29
30. Thank you! 30

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