【论文】略读笔记25-前沿-基于多智能体图强化学习的大规模机器学习集群调度

【论文】略读笔记25-前沿-基于多智能体图强化学习的大规模机器学习集群调度

Fre5h1nd Lv5

📖《Large-Scale Machine Learning Cluster Scheduling via Multi-Agent Graph Reinforcement Learning》

🎯需求

  • 在大型 GPU 集群中高效调度分布式深度学习(DL)作业对于资源效率和作业性能至关重要。
    • 深度学习 (DL) 正在为当今的各种服务提供动力,这些服务遍布计算机视觉、语言处理、推荐系统等领域。在大型数据集上学习现代深度学习模型(又称深度学习作业)通常使用分布式训练框架(如 MXNet 或 Tensorflow)进行,并使用多个 GPU 运行。
    • 如今,许多领先的 IT 公司都运营着大型机器学习(ML)集群,其中运行大量 DL 作业来学习各种 ML 模型。
      • 集群调度器负责为此类集群中的深度学习工作负载生成调度策略,其决策对于有效利用非常昂贵的硬件资源和模型学习探险至关重要。例如,如果由于资源碎片或负载均衡的目的而无法完全托管在同一服务器上,分布式作业(使用 PS 架构)的 worker 和参数服务器 (PS) 可以根据调度程序的放置决策分布到不同的服务器上。针对这些任务的高效放置策略可以加快训练速度提高集群吞吐量,尤其是在具有各种 DL 工作负载的大规模集群中。
  • 虽然作业之间的服务器共享提高了资源利用率,但由于资源争用,并置的 DL 作业之间会发生干扰。
    • 许多现有的调度程序经常忽略的主要问题是:虽然在同地 DL 作业之间共享服务器可以提高资源利用率,但由于资源争用而会发生作业间干扰
      • 在同一台服务器中,作业共享资源,例如 PCIe 总线(用于 CPU 和 GPU 之间的频繁通信)、QPI(用于 CPU 之间的插槽间)、I/O 和 CPU 内核;在服务器之间,作业共享网络带宽和交换机容量。
      • 训练不同深度学习模型的作业具有独特的资源特征。例如,训练VGG16需要更多的网络I/O来实现通信梯度;CTC由于词嵌入生成,因此会占用大量 CPU。
      • 这意味着,不同的作业共址将导致不同程度的干扰,这促使集群运营商将低干扰水平的作业放在同一位置,以最大限度地提高训练性能。
  • 在当今包含数千台 GPU 服务器的集群中,由于工作负载规模庞大,运行单个调度程序来及时有效地管理所有到达作业具有挑战性。

🚧现状

  • 文献中已经讨论了干扰感知调度的潜力,包括基于显式干扰建模的白盒方法和具有强化学习的黑盒调度器。
    • 一些白盒研究建立了显式干扰模型来预测共置的性能下降,例如,对于MapReduce任务、具有I/O争用的VM任务等。
      • 纯白盒解决方案在很大程度上依赖于性能模型的精度,这通常需要深入研究每个应用程序的执行并仔细优化系数。
      • 通用性将是一个问题,因为这种启发式方法缺乏对各种工作负载类型、服务器配置和数据中心拓扑的适应性。
    • 其他基于 DNN 的方法使用大量历史跟踪来学习共置 ML 作业的干扰水平,或者为调度器配备强化学习 (RL) 模型,通过探索和反馈来改进工作安置策略。
      • RL 调度器不需要详细的分析干扰建模,但经常面临可扩展性问题:在拥有数千台 GPU 服务器的大规模 DL 集群中,学习使用一个 RL 调度器调度繁重的工作负载需要时间,并且可能无法收敛到良好的策略。
  • 此外,跨机通信对于分布式训练作业的性能也很重要。有效的调度策略应了解链路状态和拓扑结构
    • 例如,应避免拥塞链接,以便与深度学习作业中的战略任务放置进行梯度同步。
    • 生产集群中使用的现有调度器在很大程度上是拓扑忽略的

🛩创新

  • 为了减轻作业间干扰降低通信开销,我们设计了一个可扩展的大规模深度学习集群作业调度框架,采用多个RL调度器来协同决定新提交作业的放置位置。也就是说,提出了一个多智能体强化学习(MARL)调度框架,以协同学习细粒度的工作安置策略,以实现最小化工作完成时间(JCT)的目标。
    • 我们框架中的每个调度程序都是一个学习代理,它对其本地集群拓扑工作负载信息进行编码,以学习放置策略,通过与其他调度程序交换观察结果来最大限度地减少平均作业完成时间。
    • 为了实现拓扑感知布局,我们提出的框架使用分层图神经网络对数据中心拓扑和服务器架构进行编码。
    • 针对不同位置缺乏对应的精确奖励样本的问题,进一步设计了作业干扰模型,用于预测面对不同同地的干扰水平,用于MARL调度员的训练。
  • 具体贡献有:
    • ▹ 我们验证了具有代表性的局部保留和拥堵意识工作安置的低效率,并分析了不同工作在不同共址情况下的干扰水平
      • 我们没有使用启发式干扰模型来实现干扰规避,而是采用多智能体强化学习(MARL)模型来调度深度学习工作负载,从而实现对未知环境(以前没有经历过的干扰情况)的更好通用性,并确保调度器的可扩展性
    • ▹ 我们设计了一个分层图神经网络 (GNN),对拓扑信息进行编码,以捕获集群/数据中心拓扑、服务器架构和链路状态。
      • 按照 GNN 层次结构,调度员通过与其他调度员交换来聚合本地观测值,并做出拓扑感知的作业安置决策。
    • ▹ 我们还通过干扰模型量化了同地深度学习作业的性能下降
      • 干扰模型解决了 RL 调度器离线训练阶段所需的与不同位置相对应的精确性能样本的普遍缺乏问题。借助推理模型,调度程序能够学习细粒度的放置策略,即将作业的每个 worker/PS 放置到哪个 GPU 组(即连接到同一 CPU 的 GPU)上。
    • ▹ 我们进行了广泛的跟踪驱动评估,以将我们的框架与不同工作负载和集群设置下的代表性调度方案进行比较。
      • 结果表明,在数千台具有不同配置的 GPU 服务器的情况下,我们的解决方案在平均作业完成时间方面实现了至少 20% 的改进。与使用单个 RL 调度器相比,MARL 实现了更好的策略收敛和更快的策略学习速度。
      • 我们还在 Kubernetes 上实现了一个原型,这进一步验证了所提框架的有效性。

📊效果

  • 测试平台和跟踪驱动的评估表明,我们的调度器框架在平均 JCT 方面比代表性调度方案高出 20% 以上,并且适应各种机器学习集群拓扑。

🧠疑问

  1. RL 的可扩展性问题是如何解决的?
  2. GNN 的作用和优势在于?
  3. 什么情况下需要量化模型?解决的是什么问题?如何解决的?


  • 希望这篇博客对你有帮助!如果你有任何问题或需要进一步的帮助,请随时提问。
  • 如果你喜欢这篇文章,欢迎动动小手 给我一个follow或star。

🗺参考文献

[1] X. Zhao and C. Wu, “Large-Scale Machine Learning Cluster Scheduling via Multi-Agent Graph Reinforcement Learning,” in IEEE Transactions on Network and Service Management, vol. 19, no. 4, pp. 4962-4974, Dec. 2022, doi: 10.1109/TNSM.2021.3139607.

  • 标题: 【论文】略读笔记25-前沿-基于多智能体图强化学习的大规模机器学习集群调度
  • 作者: Fre5h1nd
  • 创建于 : 2023-11-16 16:08:20
  • 更新于 : 2024-07-03 19:23:39
  • 链接: https://freshwlnd.github.io/2023/11/16/literature/literatureNotes25/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论