Skip to main content
QUICK REVIEW

[논문 리뷰] ProTuner: Tuning Programs with Monte Carlo Tree Search

Ameer Haj-Ali|arXiv (Cornell University)|2020. 05. 27.
Machine Learning and Algorithms참고 문헌 47인용 수 7
한 줄 요약

ProTuner는 고성능 딥러닝 및 이미지 처리 워크로드를 위한 Halide 프로그램을 자동으로 튜닝하기 위해 몬테카를로 트리 탐색(MCTS)을 사용한다. 스케줄링을 마르코프 결정 과정(MDP)으로 공식화하고, 전망 및 장기 보상 추정을 위해 상한 신뢰도 기반(UCB)을 사용한 MCTS를 적용함으로써, 비드 서치보다 최대 3.25배 뛰어난 성능을 달성하면서도 비용 모델 노이즈에 더 강건한 성능을 보인다.

ABSTRACT

We explore applying the Monte Carlo Tree Search (MCTS) algorithm in a notoriously difficult task: tuning programs for high-performance deep learning and image processing. We build our framework on top of Halide and show that MCTS can outperform the state-of-the-art beam-search algorithm. Unlike beam search, which is guided by greedy intermediate performance comparisons between partial and less meaningful schedules, MCTS compares complete schedules and looks ahead before making any intermediate scheduling decision. We further explore modifications to the standard MCTS algorithm as well as combining real execution time measurements with the cost model. Our results show that MCTS can outperform beam search on a suite of 16 real benchmarks.

연구 동기 및 목표

  • 수동 튜닝이 비용이 많이 들고 히ュ리스틱 방법이 최적 스케줄을 찾지 못하는 딥러닝 및 이미지 처리 워크로드에서의 자동 프로그램 스케줄링 문제를 해결하기 위해.
  • 비드 서치의 탐욕성과 노이즈가 많은 중간 성능 예측에 의존하는 한계를 극복하기 위해, 더 강건한 전망 기반 탐색 전략을 사용하기 위해.
  • 프로그램 스케줄링 문제를 마르코프 결정 과정(MDP)으로 간주할 때 MCTS와 UCB를 적용하는 것이 타당하고 효과적인지 탐색하기 위해.
  • 학습된 비용 모델과 실제 실행 시간 측정치를 결합함으로써 스케줄링 성능 향상에 미치는 영향을 평가하기 위해.
  • MCTS의 주요 성능 저하 요인인 높은 자식 노드 열거 오버헤드 및 비용 모델에 대한 과적합 문제를 식별하고 해결하기 위해.

제안 방법

  • 상태가 중간 스케줄을 나타내고 행동이 스케줄링 최적화(예: 타일링, 벡터화, 융합)를 나타내는 마르코프 결정 과정(MDP)으로 Halide 스케줄링 문제를 공식화한다.
  • 전망 및 장기 보상 추정을 가능하게 하기 위해 탐색 트리에서 탐색과 이용의 균형을 이루는 상한 신뢰도 기반(UCB)을 사용한 몬테카를로 트리 탐색(MCTS)을 적용한다.
  • 완전한 스케줄을 평가하기 위해 시뮬레이션 기반 롤아웃을 사용하여 중간 성능 예측에 의존하지 않아 오류가 발생할 가능성을 줄인다.
  • 학습된 비용 모델과 실제 실행 시간 측정치를 통합하여 탐색 정확도를 향상시키고 모델 정확도 부족에 의한 과적합을 줄인다.
  • 탐색 초모수 $C_p$를 튜닝하고 시뮬레이션 중 중복된 자식 노드 열거를 줄여 MCTS 성능을 최적화한다.
  • 각 결정 후 새로운 루트로 탐색 트리를 반복적으로 재구성함으로써 적응형이고 동적인 스케줄링 탐색을 가능하게 한다.

실험 결과

연구 질문

  • RQ1MCTS와 UCB를 사용할 경우, 딥러닝 및 이미지 처리 워크로드의 고성능 Halide 스케줄을 찾는 데 비드 서치보다 우수한 성능을 낼 수 있는가?
  • RQ2MCTS에서 완전한 스케줄 시뮬레이션을 통한 전망 기능은 비드 서치에 비해 노이즈가 많거나 정확도가 떨어지는 비용 모델의 영향을 줄이는가?
  • RQ3실제 실행 시간 측정치와 학습된 비용 모델을 결합할 경우 자동 튜닝 과정의 성능과 강건성에 어떤 영향을 미치는가?
  • RQ4MCTS 기반 자동 튜닝에서 주요 성능 저하 요인은 무엇이며, 이를 어떻게 완화할 수 있는가?
  • RQ5다양한 프로그램과 탐색 깊이에서 탐색 초모수 $C_p$를 동적으로 튜닝할 경우 MCTS의 효율성과 효과성이 향상되는가?

주요 결과

  • ProTuner가 MCTS를 사용해 평가한 16개의 실제 벤치마크에서 비드 서치를 모두 능가하며, 최대 3.25배 뛰어난 성능을 달성했다.
  • MCTS에서 완전한 스케줄 시뮬레이션을 사용함으로써 노이즈가 많은 중간 비용 추정의 영향을 줄여 비드 서치보다 더 강건한 탐색을 가능하게 했다.
  • 실제 실행 시간 측정치와 학습된 비용 모델을 결합함으로써 성능이 추가로 향상되었으며, 하이브리드 평가의 가치를 입증했다.
  • 현재 MCTS 구현은 7.5%의 비용 평가 오버헤드를 유발하며, 이 중 88%의 시간이 사용되지 않는 자식 노드 열거에 소요되고 있어 최적화 시 8배 이상의 성능 향상이 가능하다고 나타났다.
  • MCTS가 너무 오랫동안 실행될 경우 비용 모델에 과적합이 발생하므로, 조기 정지 또는 적응형 탐색 종료 전략이 필요하다고 제안된다.
  • 프로그램과 탐색 깊이에 따라 $C_p$를 동적으로 튜닝할 경우, 특히 분산이 낮고 실행 시간이 짧은 프로그램에서 탐색 효율성이 향상될 수 있다.

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

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

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

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