Skip to main content
QUICK REVIEW

[논문 리뷰] CPR: Understanding and Improving Failure Tolerant Training for Deep Learning Recommendation with Partial Recovery

Kiwan Maeng, Shivam Bharuka|arXiv (Cornell University)|2020. 11. 05.
Privacy-Preserving Technologies in Data참고 문헌 74인용 수 4
한 줄 요약

CPR는 딥러닝 추천 모델 훈련에서 체크포인트 관련 오버헤드를 줄이기 위해 실패하지 않은 노드가 체크포인트를 다시 불러오지 않고도 계속 훈련할 수 있도록 허용하는 부분 복구 훈련 시스템이다. 이로 인해 최대 8.5%의 오버헤드 감소를 달성하면서도 전체 복구와 유사한 모델 정확도를 유지한다. CPR는 체크포인트 간격을 최적화하고 자주 액세스되는 파라미터를 우선순위에 두어 성능과 정확도의 균형을 맞춘다.

ABSTRACT

The paper proposes and optimizes a partial recovery training system, CPR, for recommendation models. CPR relaxes the consistency requirement by enabling non-failed nodes to proceed without loading checkpoints when a node fails during training, improving failure-related overheads. The paper is the first to the extent of our knowledge to perform a data-driven, in-depth analysis of applying partial recovery to recommendation models and identified a trade-off between accuracy and performance. Motivated by the analysis, we present CPR, a partial recovery training system that can reduce the training time and maintain the desired level of model accuracy by (1) estimating the benefit of partial recovery, (2) selecting an appropriate checkpoint saving interval, and (3) prioritizing to save updates of more frequently accessed parameters. Two variants of CPR, CPR-MFU and CPR-SSU, reduce the checkpoint-related overhead from 8.2-8.5% to 0.53-0.68% compared to full recovery, on a configuration emulating the failure pattern and overhead of a production-scale cluster. While reducing overhead significantly, CPR achieves model quality on par with the more expensive full recovery scheme, training the state-of-the-art recommendation model using Criteo's Ads CTR dataset. Our preliminary results also suggest that CPR can speed up training on a real production-scale cluster, without notably degrading the accuracy.

연구 동기 및 목표

  • 대규모 분산 추천 훈련에서 전체 체크포인트 복구로 인한 높은 계산 오버헤드를 해결한다.
  • 자주 실패하는 노드가 있는 생산 클러스터에서 실패 관련 훈련 지연과 자원 소비를 줄인다.
  • 지능적인 부분 복구 메커니즘을 통해 체크포인트 오버헤드를 최소화하면서도 모델 정확도를 유지한다.
  • 부분 복구 시스템에서 훈련 성능과 모델 품질 간의 트레이드오프를 규명하고 최적화한다.
  • 효율성과 장애 내성성 측면에서 전체 복구를 능가하는 확장 가능하고 생산 환경에 적합한 시스템을 설계한다.

제안 방법

  • 실패 후 실패하지 않은 노드가 체크포인트를 다시 불러오지 않고도 훈련을 계속할 수 있도록 허용하는 부분 복구 시스템인 CPR을 제안한다.
  • 사용자가 지정한 목표 모델 품질(PLS)을 기반으로 부분 복구의 이점을 추정하여 체크포인트 간격 선택을 안내한다.
  • 자주 액세스되는 파라미터의 업데이트를 우선순위에 두어 체크포인트 크기와 I/O 오버헤드를 줄인다.
  • 체크포인트 저장 및 복구에 다른 최적화 전략을 사용하는 두 가지 변종—CPR-MFU와 CPR-SSU—를 구현한다.
  • 딥러닝 훈련의 반복적·수렴적 성질을 활용하여 부분 복구로 인한 일시적인 일관성 없는 상태를 수용한다.
  • 실제 실패 패턴을 분석한 데이터 기반 분석을 활용하여 시스템 설계를 이끌고 실제 조건에서의 성능을 검증한다.

실험 결과

연구 질문

  • RQ1추천 모델 훈련에 부분 복구를 적용할 경우 훈련 성능과 모델 정확도 사이의 트레이드오프는 어떻게 되는가?
  • RQ2목표 모델 품질을 유지하면서 오버헤드를 최소화하기 위해 체크포인트 저장 간격을 어떻게 최적화할 수 있는가?
  • RQ3부분 복구에서 체크포인트 오버헤드와 정확도 저하에 가장 큰 영향을 미치는 파라미터 액세스 패턴은 무엇인가?
  • RQ4전체 복구와 비교해 모델 정확도를 떨어뜨리지 않고도 부분 복구가 체크포인트 관련 오버헤드를 줄일 수 있는가?
  • RQ5실제 실패 분포를 반영할 때 CPR은 훈련 노드 수가 증가함에 따라 어떻게 확장되는가?

주요 결과

  • 전체 복구에서 체크포인트 관련 오버헤드는 평균적으로 총 훈련 시간의 12%를 차지하며, 최악의 상위 5% 작업에서는 최대 43%의 속도 저하가 발생한다.
  • CPR은 생산 규모의 클러스터 구성에서 전체 복구 시 8.2–8.5%였던 체크포인트 관련 오버헤드를 단 0.53–0.68%로 줄였다.
  • Criteo CTR 데이터셋에서 최신 추천 모델을 훈련할 때 CPR은 전체 복구와 동등한 모델 정확도를 유지한다.
  • CPR은 전체 복구보다 더 우수한 확장성을 보였다: 더 많은 노드가 있을수록 상대적 업데이트 손실이 감소함에 따라 오버헤드가 감소한다.
  • 시스템은 높은 효율성 향상을 달성했다: 30일 동안 17,000개의 작업에서 실패 처리에 1,156대의 머신 연수가 소요되었으며, CPR은 이를 크게 줄일 수 있다.
  • 초기 결과는 CPR이 실제 생산 클러스터에서 훈련 속도를 높일 수 있으며, 정확도 저하 없이도 성능 향상을 이룰 수 있음을 시사한다.

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

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

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

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