BARISTA: 효율적이고 확장 가능한 딥러닝 예측 서비스를 위한 서버리스 제공 시스템

읽는 시간: 4 분
...

📝 원문 정보

  • Title: BARISTA: Efficient and Scalable Serverless Serving System for Deep Learning Prediction Services
  • ArXiv ID: 1904.01576
  • 발행일: 2019-12-30
  • 저자: Anirban Bhattacharjee, Ajay Dev Chhokra, Zhuangwei Kang, Hongyang Sun, Aniruddha Gokhale, Gabor Karsai

📝 초록 (Abstract)

예측 분석 서비스를 위한 사전 학습된 딥러닝 모델의 사용이 증가하고 있으며, 이는 피트니스 추적, 음성 및 이미지 인식과 같은 다양한 계산 집약적인 예측 분석 서비스에 활용되고 있습니다. 딥러닝 모델은 상태 없음(stateless)이고 높은 병렬 처리 가능성이 있어 서버리스 컴퓨팅 패러다임에 잘 맞습니다. 그러나 이러한 서비스의 효과적인 리소스 관리를 결정하는 것은 동적 작업 부하와 다양한 사용 가능한 리소스 구성, 그리고 그 배포 및 관리 비용 때문에 어려운 문제가 됩니다. 이 문제를 해결하기 위해 우리는 분산형이고 확장성이 있는 딥러닝 예측 제공 시스템인 Barista를 제시합니다. 다음과 같은 기여를 합니다: 1) 다양한 추세를 식별하여 작업 부하를 빠르고 효과적으로 예측하는 방법론을 제시합니다. 2) 특정 오차 한도 내에서 예측 지연 시간을 보장하면서 총 비용을 최소화하도록 최적화 문제를 정의합니다. 3) 적절한 컴퓨팅 리소스 구성 요소를 식별하기 위한 효율적인 휴리스틱 방법론을 제안합니다. 4) 수평 및 수직 확장을 통해 필요한 예측 지연 시간을 유지하는 데 필요한 계산 자원을 할당하고 관리하기 위해 지능형 에이전트를 제안합니다. 마지막으로, 도시 교통 서비스에 대한 대표적인 실제 작업 부하를 사용하여 Barista의 능력을 보여주고 검증합니다.

💡 논문 핵심 해설 (Deep Analysis)

This paper introduces Barista, a distributed and serverless system for efficient management of deep learning models used in predictive analytics services like fitness tracking, speech recognition, and image recognition. The core challenge addressed is the effective resource allocation due to dynamic workloads and diverse configurations. Key contributions include workload forecasting using trend identification, optimization algorithms to minimize costs while ensuring latency bounds, heuristic methods for optimal resource selection, and intelligent agents for scaling resources dynamically.

Barista’s architecture consists of frontend servers hosting user interfaces, backend servers with containerized deep learning models, load balancers distributing requests based on least-loaded policies, and a platform manager responsible for dynamic provisioning. The system’s components include workload forecasters, latency monitors, and resource managers that estimate and provision the necessary VMs for predicted loads.

Experimental results demonstrate Barista’s effectiveness in maintaining SLO compliance while optimizing costs, using real-world urban transportation datasets. This research is significant as it advances serverless computing architectures for deep learning predictions, contributing to efficient resource management in large-scale web applications and real-time data processing systems.

📄 논문 본문 발췌 (Translation)

이 논문에서는 다양한 예측 분석 서비스에 사용되는 사전 학습된 딥러닝 모델을 효과적으로 관리하기 위한 서버리스 시스템인 Barista를 소개합니다.

아키텍처의 통찰 Barista 아키텍처는 프론트엔드와 백엔드 서버, 로드밸런서로 구성되어 있으며, 이들은 사용자의 요청을 분배하고 처리하는 역할을 합니다. 각 프론트엔드 서버는 사용자 인터페이스를 호스트하며, 백엔드 서버는 사전 학습된 딥러닝 모델을 컨테이너화하여 배포합니다.

프론트엔드 로드밸런서는 요청을 받은 후 라운드-로빈 정책에 따라 해당 요청을 프론트엔드 서버로 리다이렉션합니다. 각 프론트엔드 서버는 다시 백엔드 로드밸런서에게 요청을 전달하며, 이는 최소 부하 연결 정책을 통해 작업을 처리하도록 할당된 특정 백엔드 서버에게 요청을 전달합니다.

플랫폼 매니저는 Barista의 중요한 구성 요소로, 클라우드 인프라에서 자원 동적 조정을 담당하며, 작업 부하 패턴 예측 및 다양한 예측 쿼리의 실행 시간 추정을 통해 리소스를 관리합니다. 플랫폼 매니저는 다음과 같은 구성 요소로 이루어져 있습니다:

  • 예측 서비스 프로파일러: 각 CPU 코어 수에 따른 예측 서비스의 실행 시간을 분석하여 최적의 분포를 찾습니다.
  • 요청 모니터: 백엔드 로드밸런서가 매분마다 받은 집계된 요청 수를 모니터링하고 기록합니다.
  • 요청 예측기: 과거 데이터를 바탕으로 미래의 요청 수를 예측하며, 이는 실시간 모델 업데이트로 인한 예측 오차 감소에 도움을 줍니다.
  • 예측 지연 시간 모니터: SLO 위반 사항을 5초마다 모니터링하고 기록합니다. SLO는 프론트엔드 서버가 요청한 예측 쿼리에 대한 백엔드 서버의 응답 시간을 정의합니다.
  • 자원 매니저: 예측된 작업 부하를 위해 필요한 가상 머신 수를 할당하고, 리소스 추정 및 조정 전략에 따라 스케일링을 수행합니다.

플랫폼 매니저의 동작은 오프라인과 온라인 단계로 구성됩니다. 오프라인 단계에서는 다양한 VM 구성에서 딥러닝 모델의 실행 시간을 프로파일링하고 분포 추정을 수행하며, 작업 부하 예측 모델도 훈련합니다. 온라인 단계에서는 작업 부하 예측기와 실행 시간 추정기에 따라 리소스를 추정 및 할당합니다.

실행 시간 분포 추정 딥러닝 모델의 실행 시간을 정확하게 추정하지 못하면 자원 매니저에서 오류 출력이 발생할 수 있으며, 이는 리소스 과적 또는 부족으로 이어질 수 있습니다. Barista에서는 다양한 VM 구성에 대한 딥러닝 모델의 확장적인 오프라인 프로파일링을 수행합니다.

Barista 예측 서비스 프로파일러는 최대 우도 추정법 (MLE) 기반의 파라미터적 방법으로 다양한 분포를 피팅하고 그에 따른 미지의 매개변수를 찾습니다. 적합성 평가를 위해 Kolmogorov-Smirnov (K-S) 검정을 사용하여 가설된 분포를 순위별로 랭킹합니다.

Reference

이 글은 ArXiv의 공개 자료를 바탕으로 AI가 자동 번역 및 요약한 내용입니다. 저작권은 원저자에게 있으며, 인류 지식 발전에 기여한 연구자분들께 감사드립니다.

검색 시작

검색어를 입력하세요

↑↓
ESC
⌘K 단축키