[논문 리뷰] CodeReef: an open platform for portable MLOps, reusable automation actions and reproducible benchmarking
CodeReef는 Collective Knowledge(CK) 프레임워크를 사용하여 기계학습 모델과 워크플로우를 이식 가능하고, 버전 관리되며 재현 가능한 아티팩트로 패ck징하는 오픈소스 웹 기반 플랫폼을 제공한다. 이는 IoT 디바이스에서 데이터센터에 이르기까지 다양한 시스템에서 SSD-Mobilenet과 같은 기계학습 모델을 자동으로 배포하고 벤치마킹할 수 있도록 하며, 통합된 API와 상호작용 가능한 대시보드를 통한 커뮤니티 기반 성능 측정을 가능하게 한다.
We present CodeReef - an open platform to share all the components necessary to enable cross-platform MLOps (MLSysOps), i.e. automating the deployment of ML models across diverse systems in the most efficient way. We also introduce the CodeReef solution - a way to package and share models as non-virtualized, portable, customizable and reproducible archive files. Such ML packages include JSON meta description of models with all dependencies, Python APIs, CLI actions and portable workflows necessary to automatically build, benchmark, test and customize models across diverse platforms, AI frameworks, libraries, compilers and datasets. We demonstrate several CodeReef solutions to automatically build, run and measure object detection based on SSD-Mobilenets, TensorFlow and COCO dataset from the latest MLPerf inference benchmark across a wide range of platforms from Raspberry Pi, Android phones and IoT devices to data centers. Our long-term goal is to help researchers share their new techniques as production-ready packages along with research papers to participate in collaborative and reproducible benchmarking, compare the different ML/software/hardware stacks and select the most efficient ones on a Pareto frontier using online CodeReef dashboards.
연구 동기 및 목표
- 특히 엣지 및 임베디드 디바이스에서 기계학습 배포 시 재현성과 이식성의 부족을 해결하기 위해.
- Docker, Kubernetes, MLFlow, MLPerf와 같은 기존 도구의 한계를 극복하기 위해 기계학습 컴포넌트를 공유하고 버전 관리할 수 있는 통합적이고 침투성이 없는 플랫폼을 제공하기 위해.
- 연구자가 기계학습 모델, 종속성, 워크플로우를 자체 포함되며 가상화되지 않고 사용자 정의 가능한 아카이브로 패키징하여 생산 환경에서 사용할 수 있도록 하기 위해.
- 표준화된 자동 워크플로우를 사용해 다양한 하드웨어 및 소프트웨어 스택에서 기계학습 모델의 공동 협업 및 커뮤니티 기반의 벤치마킹을 지원하기 위해.
- 일致하고 이식 가능한 API를 통해 기계학습 모델을 레거시 시스템과 실시간 애플리케이션(예: 웹캠 추론)에 통합할 수 있도록 하기 위해.
제안 방법
- 기계학습 모델, 종속성, 코드, 데이터, 워크플로우를 버전 관리되고 파일 기반의 구성 요소로 표현하기 위해 오픈소스 Collective Knowledge(CK) 형식을 활용한다.
- 기계학습 솔루션을 JSON 메타데이터, Python API, CLI 액션, 플랫폼별 빌드 레시피를 포함한 이식 가능하고 가상화되지 않은 아카이브로 패키징한다.
- Raspberry Pi, 안드로이드, 데이터센터 등 다양한 플랫폼에서 모델 배포 및 성능 측정을 자동화하기 위해 통합된 API(컴파일, 실행, 벤치마킹, 검증)를 사용한다.
- 의존성 해결 및 환경 설정을 자동으로 수행하는 명령줄 클라이언트(예: `cr init`, `cr benchmark`)를 통해 사용자가 솔루션을 초기화하고 실행하며 벤치마킹할 수 있도록 한다.
- Docker, Kubernetes, MLPerf와 같은 기존 도구를 대체하지 않고 통합하여, 이들의 이식성과 재현 가능성을 향상시킨다.
- 사용자가 기여한 플랫폼 간에 지연 시간, 정확도, 메모리, 에너지 소비 등의 성능을 시각화하고 비교할 수 있는 상호작용 가능한 대시보드를 제공한다.
실험 결과
연구 질문
- RQ1다양한 하드웨어 및 소프트웨어 스택에서 기계학습 모델과 워크플로우를 이식 가능하고, 가상화되지 않으며 재현 가능한 방식으로 패키징할 수 있는가?
- RQ2통합적이고 오픈소스 플랫폼이 MLPerf 및 Docker와 같은 기존 도구와의 호환성을 유지하면서도 기계학습 모델의 생산 배포 복잡성을 줄일 수 있는가?
- RQ3커뮤니티 기반의 커뮤니티 기반 벤치마킹이 기계학습 모델의 재현성과 성능 평가를 얼마나 향상시킬 수 있는가?
- RQ4버전 관리되고 모듈화된 구성 요소를 어떻게 사용하여 다양한 프로젝트와 환경 간에 백워드 컴пат리빌리티와 안정적인 실행을 보장할 수 있는가?
- RQ5GUI와 CLI 클라이언트를 갖춘 웹 기반 플랫폼이 레거시 시스템과 실시간 애플리케이션에 기계학습 모델을 통합하는 데 얼마나 간편하게 기여할 수 있는가?
주요 결과
- CodeReef는 기계학습 벤치마크인 MLPerf SSD-Mobilenet 객체 검출 모델과 Tensorflow, COCO 데이터셋을 이식 가능하고 버전 관리된 솔루션으로 패키징하여 라즈베리파이, 안드로이드, 데이터센터에서 배포할 수 있도록 했다.
- 통합된 단일 API를 사용해 모델을 자동으로 다중 플랫폼에서 벤치마킹했으며, 실시간 대시보드에서 결과를 시각화했다.
- 사용자는 간단한 CLI 명령어를 실행하기만 하면 랩탑부터 임베디드 시스템에 이르기까지 다양한 기기에서 지연 시간, 정확도, 메모리 성능을 측정하고 실행할 수 있었다.
- 솔루션은 완전한 재현 가능성을 입증했다: CK의 종속성 및 버전 관리 시스템에 기반해 사용자가 동일한 워크플로우를 반복 실행했을 때 플랫폼 간 일관된 결과를 얻을 수 있었다.
- 실시간 웹캠 추론과의 통합을 통해 플랫폼이 기계학습 모델을 실시간 애플리케이션과 레거시 시스템에 연결할 수 있는 능력을 입증했다.
- 복잡한 환경 설정, 종속성 관리, 크로스 컴파일을 추상화함으로써 모델 배포 및 벤치마킹에 필요한 수동 작업을 줄였다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.