[논문 리뷰] Walle: An End-to-End, General-Purpose, and Large-Scale Production System for Device-Cloud Collaborative Machine Learning
Walle는 기기-클라우드 공동 기계학습을 위한 종단 간, 일반 목적의 대규모 프로덕션 시스템으로, 수십억 대의 기기에서 다양한 기계학습 작업을 효율적이고 안전하며 저지연으로 실행할 수 있도록 한다. 이는 MNN 기반의 다중 플랫폼 컴퓨팅 컨테이너(운영자 분해 및 준자동 검색 기반), 스트림 처리 데이터 파이프라인, 확장 가능한 배포 플랫폼을 통합하여 실제 전자상거래 워크로드에서 높은 성능과 낮은 오버헤드를 달성한다.
To break the bottlenecks of mainstream cloud-based machine learning (ML) paradigm, we adopt device-cloud collaborative ML and build the first end-to-end and general-purpose system, called Walle, as the foundation. Walle consists of a deployment platform, distributing ML tasks to billion-scale devices in time; a data pipeline, efficiently preparing task input; and a compute container, providing a cross-platform and high-performance execution environment, while facilitating daily task iteration. Specifically, the compute container is based on Mobile Neural Network (MNN), a tensor compute engine along with the data processing and model execution libraries, which are exposed through a refined Python thread-level virtual machine (VM) to support diverse ML tasks and concurrent task execution. The core of MNN is the novel mechanisms of operator decomposition and semi-auto search, sharply reducing the workload in manually optimizing hundreds of operators for tens of hardware backends and further quickly identifying the best backend with runtime optimization for a computation graph. The data pipeline introduces an on-device stream processing framework to enable processing user behavior data at source. The deployment platform releases ML tasks with an efficient push-then-pull method and supports multi-granularity deployment policies. We evaluate Walle in practical e-commerce application scenarios to demonstrate its effectiveness, efficiency, and scalability. Extensive micro-benchmarks also highlight the superior performance of MNN and the Python thread-level VM. Walle has been in large-scale production use in Alibaba, while MNN has been open source with a broad impact in the community.
연구 동기 및 목표
- 클라우드 중심 기계학습의 한계를 극복하기 위해, 고지연, 통신 비용, 프라이버시 리스크를 줄이기 위해 대규모 기기-클라우드 공동 기계학습을 가능하게 한다.
- 모바일 및 클라우드 플랫폼에서 다양한 기계학습 워크로드(CV, NLP, 추천)를 지원하는 일반 목적의 종단 간 시스템을 설계한다.
- 기계학습 작업 반복을 모바일 앱 릴리스 주기에서 분리하여, 앱 업데이트 없이도 빠른 실험과 배포를 가능하게 한다.
- 동시 작업 실행과 이종 기기에서의 효율적 모델 인퍼런스를 지원하는 고성능, 다중 플랫폼 실행 환경을 제공한다.
- 수백 개의 하드웨어 백엔드에서 기계학습 연산자 최적화를 위한 수동 작업의 양을 줄이기 위해 자동화된 메커니즘을 제공한다.
제안 방법
- 컴퓨팅 컨테이너는 MNN 기반으로 구축되었으며, 정교하게 다듬어진 파이썬 스레드 수준의 가상 머신을 갖추고 있어 다중 플랫폼 실행과 동시 작업 처리를 가능하게 한다.
- 다양한 하드웨어 백엔드에서 연산자를 자동으로 최적화하기 위해 운영자 분해와 준자동 검색 기법을 사용한다. 이로 인해 수동 튜닝의 필요성이 최소화된다.
- 데이터 파이프라인은 기기에서 직접 사용자 행동 데이터를 처리하는 기기 기반 스트림 처리 프레임워크를 활용하여 데이터 전송과 지연을 줄인다.
- 배포 플랫폼은 다중 그레인도스 정책을 적용한 푸시-스택 기반 메커니즘을 사용하여 실시간으로 수십억 대의 기기로 기계학습 작업을 효율적으로 배포한다.
- 시스템은 기기 및 클라우드 환경에서 전반적인 기계학습 라이프사이클 관리(전처리, 훈련, 인퍼런스, 후처리)를 지원한다.
- MNN의 런타임 최적화 기능은 주어진 계산 그래프에 가장 적합한 백엔드를 동적으로 선택하여 성능 향상과 적응성 향상을 도모한다.
실험 결과
연구 질문
- RQ1다양한 응용 분야에서 종단 간 기기-클라우드 공동 기계학습을 지원할 수 있는 일반 목적의 대규모 시스템을 설계하는 방법은 무엇인가?
- RQ2통신 및 계산 오버헤드를 최소화하면서도, 수십억 대의 모바일 기기에서 기계학습 작업을 효율적이고 저지연, 안전하게 실행하기 위한 메커니즘은 무엇인가?
- RQ3기계학습 작업 반복을 모바일 앱 릴리스 주기에서 분리하여, 신속한 실험과 생산 반복을 가능하게 하기 위한 방법은 무엇인가?
- RQ4수백 개의 하드웨어 백엔드에서 기계학습 연산자를 수동 튜닝 없이 자동으로 최적화할 수 있는 기법은 무엇인가?
- RQ5실제 생산 환경의 전자상거래 워크로드에서 시스템이 고성능과 확장성을 유지하는 방식은 무엇인가?
주요 결과
- Walle는 알리바바에서 대규모로 배포되어 다양한 전자상거래 응용 분야에서 매일 수십억 명의 사용자를 대상으로 실현 가능성을 입증했다.
- MNN 기반 컴퓨팅 컨테이너는 마이크로 벤치마크에서 뛰어난 성능을 보이며, 자동화된 운영자 최적화 및 백엔드 선택 덕분에 상당한 속도 향상을 달성했다.
- 기기에서의 스트림 처리 파이프라인은 사용자 행동 데이터를 소스에서 처리함으로써 데이터 전송과 지연을 줄여 효율성을 향상시켰다.
- 푸시-스택 기반의 배포 메커니즘은 다중 그레인도스 제어를 통해 대규모 기기 플릿에 실시간으로 작업을 효율적으로 배포할 수 있도록 했다.
- 준자동 검색 및 운영자 분해 기법은 이종 하드웨어에서 기계학습 연산자를 최적화하기 위해 필요한 수동 작업의 양을 크게 줄였다.
- 민감한 데이터를 기기 내부에 유지하면서도 계산을 기기로 오프로드함으로써 Walle는 저지연, 프라이버시 보장 인퍼런스를 가능하게 했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.