Skip to main content
QUICK REVIEW

[論文レビュー] SLAQ: Quality-Driven Scheduling for Distributed Machine Learning

Haoyu Zhang, Logan Stafman|arXiv (Cornell University)|Feb 13, 2018
Cloud Computing and Resource Management参考文献 12被引用数 15
ひとこと要約

SLAQ は、各ジョブの予測された品質向上に基づいてクラスターリソースを動的に割り当てる品質指向スケジューラであり、正規化された損失変化と収束速度モデリングを用いて、進捗の可能性が最も高いジョブを優先する。公平スケジューラーと比較して、損失低下90%に到達するまでの時間を45%短縮し、探索的機械学習のトレーニングを顕著に高速化する。

ABSTRACT

Training machine learning (ML) models with large datasets can incur significant resource contention on shared clusters. This training typically involves many iterations that continually improve the quality of the model. Yet in exploratory settings, better models can be obtained faster by directing resources to jobs with the most potential for improvement. We describe SLAQ, a cluster scheduling system for approximate ML training jobs that aims to maximize the overall job quality. When allocating cluster resources, SLAQ explores the quality-runtime trade-offs across multiple jobs to maximize system-wide quality improvement. To do so, SLAQ leverages the iterative nature of ML training algorithms, by collecting quality and resource usage information from concurrent jobs, and then generating highly-tailored quality-improvement predictions for future iterations. Experiments show that SLAQ achieves an average quality improvement of up to 73% and an average delay reduction of up to 44% on a large set of ML training jobs, compared to resource fairness schedulers.

研究の動機と目的

  • トレーニングの段階に関係なくすべてのジョブを同等に扱う既存のクラスタースケジューラーに起因する非効率を是正すること。
  • より高い改善可能性を持つジョブにリソースを多く割り当てることで、分散機械学習全体のモデル品質を最大化すること。
  • 初期段階の検証に近似モデルで十分な探索的機械学習ワークフローにおいて、収束をより速く達成できること。
  • オフラインプロファイリングを必要とせず、変化するリソース要件に適応可能なスケーラブルでオンラインのスケジューラーを設計すること。

提案手法

  • 最大観測変化量に対して反復間の損失変化を正規化し、異なるアルゴリズム間での進捗の比較を可能にする。
  • 曲線フィッティングを用いた収束行動モデリング:非線形アルゴリズムには $ f(k) = \frac{1}{ak^2 + bk + c} + d $、線形/超線形アルゴリズムには $ f(k) = \mu^{k-b} + c $ を使用。
  • 指数加重履歴を用いて最近の損失値を優先し、次の10反復における予測誤差が5%未満で高精度な短期予測を実現。
  • 1コアずつリソースを再割り当てするグリーディでオンラインのスケジューリング方針を適用し、単位リソースあたりの予測損失低下が最大となるジョブを優先。
  • スターバーションを防ぐために、初期段階で均等な割り当て(1ジョブあたり1コア)を実施し、予測された品質向上に応じて段階的にリソースを再割り当て。
  • Apache Spark および MLlib に統合され、多様なデータセットとアルゴリズムを用いた実世界での評価が可能になった。

実験結果

リサーチクエスチョン

  • RQ1品質向上の可能性が最も高いジョブを優先することで、分散機械学習全体のモデル品質を向上させられるか?
  • RQ2多様な機械学習アルゴリズム間で損失変化を正規化し、進捗の公平な比較を可能にする方法は何か?
  • RQ3最近のトレーニング履歴のみを用いて、将来の損失低下を高精度にオンラインで予測できるか?
  • RQ4品質指向スケジューリングは、公平スケジューラーと比較して、目標損失低下に到達するまでの時間を短縮できるか?
  • RQ5このようなシステムは、リアルタイムで数万件の並列ジョブにスケーリング可能か?

主な発見

  • SLAQ は、公平スケジューラーと比較して、損失低下90%に到達するまでの平均時間を45%短縮(71秒から39秒)、損失低下95%には30%短縮(98秒から68秒)した。
  • 800秒の期間にわたり、SLAQ ではすべてのジョブの平均正規化損失が公平スケジューラーと比較して73%低かった。
  • SLAQ は、損失が最も高い上位25%のジョブにCPUコアの60%を割り当てたが、収束に近い上位50%のジョブにはわずか22%にとどまった。
  • すべてのテストアルゴリズムで、次の10反復の予測誤差が5%未満であったため、収束モデルの高い正確性が裏付けられた。
  • SLAQ は効率的にスケーリングでき、4,000件のジョブ、16,000コアの環境でも、スケジューリング意思決定が数秒未満で完了した。
  • このシステムは、初期段階の近似モデルで十分な検証が可能な探索的機械学習ワークフローを顕著に高速化した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。