Skip to main content
QUICK REVIEW

[논문 리뷰] SLAQ: Quality-Driven Scheduling for Distributed Machine Learning

Haoyu Zhang, Logan Stafman|arXiv (Cornell University)|2018. 02. 13.
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% 이내의 정확도로 단기 예측을 수행합니다.
  • 자원 단위당 예측된 손실 감소가 가장 높은 작업에 한해 한 번에 한 개의 CPU 코어씩 자원을 재할당하는 탐욕스럽고 온라인 스케줄링 정책을 적용합니다.
  • 결핍을 방지하기 위해 처음에는 동일한 할당(각 작업당 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는 효율적으로 확장되었으며, 16,000개의 코어에 걸쳐 4,000개의 작업에 대해서도 수백 밀리초에서 수 초 내로 스케줄링 결정을 내렸다.
  • 이 시스템은 초기 근사 모델이 충분히 유효한 탐색적 기계 학습 워크플로우를 크게 가속화한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.