[논문 리뷰] The Collective Knowledge project: making ML models more portable and reproducible with open APIs, reusable best practices and MLOps
Collective Knowledge(CK) 프로젝트는 개방형 API, 재사용 가능한 컴포넌트, DevOps 기반 워크플로우를 통해 머신러닝 및 시스템 연구의 이식성, 재현 가능성, 재사용성을 향상시키는 통합 프레임워크를 소개한다. JSON 메타데이터와 CLI/파이썬 인터페이스를 갖춘 표준화되고 버전 관리되는 컴포넌트로 코드, 모델, 데이터, 설정을 패키징함으로써 CK는 자동화된 벤치마킹, 다중 플랫폼 배포, 다양한 하드웨어 및 소프트웨어 스택 간 협업 최적화를 가능하게 하며, 효율적인 객체 검출 시스템의 공동 설계를 성공적으로 구현하였다.
This article provides an overview of the Collective Knowledge technology (CK or cKnowledge). CK attempts to make it easier to reproduce ML&systems research, deploy ML models in production, and adapt them to continuously changing data sets, models, research techniques, software, and hardware. The CK concept is to decompose complex systems and ad-hoc research projects into reusable sub-components with unified APIs, CLI, and JSON meta description. Such components can be connected into portable workflows using DevOps principles combined with reusable automation actions, software detection plugins, meta packages, and exposed optimization parameters. CK workflows can automatically plug in different models, data and tools from different vendors while building, running and benchmarking research code in a unified way across diverse platforms and environments. Such workflows also help to perform whole system optimization, reproduce results, and compare them using public or private scoreboards on the CK platform (https://cKnowledge.io). For example, the modular CK approach was successfully validated with industrial partners to automatically co-design and optimize software, hardware, and machine learning models for reproducible and efficient object detection in terms of speed, accuracy, energy, size, and other characteristics. The long-term goal is to simplify and accelerate the development and deployment of ML models and systems by helping researchers and practitioners to share and reuse their knowledge, experience, best practices, artifacts, and techniques using open CK APIs.
연구 동기 및 목표
- 진행 중인 소프트웨어, 하드웨어, 수동 실험 설정 변화로 인한 머신러닝 및 시스템 연구의 재현성 문제를 해결한다.
- 연구 결과 재현 및 생산 환경에 모델 배포에 소요되는 시간과 노력을 줄이기 위해 아티팩트와 워크플로우를 표준화한다.
- 통합 인터페이스를 갖춘 재사용 가능하고 버전 관리되는 컴포넌트를 통해 이질적 플랫폼 간 협업 기반의 벤치마킹 및 최적화를 가능하게 한다.
- 코드 및 데이터 확보에서 설정, 벤치마킹, 생산 시스템 통합에 이르기까지 모델 배포의 전 주기를 자동화하는 데 지원한다.
- 속도, 정확도, 에너지 소비, 크기 간 성능 트레이드오프 분석을 위한 이식 가능하고 확장 가능한 프레임워크를 제공함으로써 소프트웨어, 하드웨어, 모델의 공동 설계를 촉진한다.
제안 방법
- 표준화된 JSON 메타데이터, CLI, 파이썬 API를 갖춘 재사용 가능한 컴포넌트로 머신러닝 및 시스템 연구를 분해하여 이식성과 상호운용성을 확보한다.
- 통합 구성 및 종속성 관리를 통해 다양한 플랫폼에서 필요한 소프트웨어, 하드웨어, 모델, 데이터셋을 자동으로 탐지하고 설치한다.
- CPU, GPU, 모바일 디바이스, 클라우드 플랫폼을 포함한 다양한 환경에 적응하는 동적 컴포넌트 조합 워크플로우를 구현하여 이식 가능한 워크플로우를 제공한다.
- DevOps 및 MLOps 원칙을 통합하여 일관되고 버전 관리되는 방식으로 머신러닝 시스템의 빌드, 테스트, 벤치마킹, 배포를 자동화한다.
- cKnowledge.io의 공개 및 비공개 스코어보드를 활용해 최적화 파arameter를 노출하고, 성능 트레이드오프의 파레토 최적 경계를 자동 탐색한다.
- 실시간 협업 및 검증을 지원하기 위해 라이브 대시보드 및 웹 기반 인터페이스(예: 브라우저 웹캠 추론)와의 통합을 가능하게 한다.
실험 결과
연구 질문
- RQ1어떻게 머신러닝 및 시스템 연구를 진화하는 소프트웨어, 하드웨어, 데이터 환경 간에 더 재현 가능하게 만들 수 있는가?
- RQ2어떤 메커니즘이 다양한 플랫폼과 배포 타겟 간에 머신러닝 모델, 데이터셋, 도구의 원활한 재사용과 조합을 가능하게 하는가?
- RQ3통합 프레임워크는 기존 연구 및 생산 파이프라인에 새로운 도구, 모델, 벤치마킹을 통합하는 데 드는 오버헤드를 줄일 수 있는가?
- RQ4이질적 시스템 간에 재현 가능성을 유지하면서도 협업 기반의 벤치마킹 및 최적화를 자동화할 수 있는가?
- RQ5컴포넌트 기반의 API 기반 접근 방식은 소프트웨어, 하드웨어, 모델의 공동 설계를 얼마나 효과적으로 가능하게 할 수 있는가?
주요 결과
- CK 프레임워크는 리눅스, 맥OS, 윈도우, 안드로이드, GPU 서버를 포함한 다양한 플랫폼에서 객체 검출 모델의 자동화, 재현 가능하고 이식 가능한 배포를 성공적으로 구현하였다.
- 산업 파트너들은 효율적인 객체 검출 시스템 공동 설계를 위한 모듈러 CK 접근 방식을 검증하였으며, 속도, 정확도, 에너지 소비, 모델 크기 간 최적화된 트레이드오프를 달성하였다.
- 표준화된 JSON 메타데이터와 개방형 CK API의 사용으로 다양한 벤더의 모델, 데이터, 도구가 단일 통합 워크플로우에 원활하게 통합되었다.
- 사용자는 cKnowledge.io 플랫폼을 통해 자신의 시스템을 벤치마킹하고 실시간으로 공식 MLPerf 점수 및 커뮤니티 기여 사례와 비교할 수 있었다.
- 소프트웨어 탐지, 종속성 관리, 사전/사후 처리 스크립트 생성을 자동화하여 수동 설정과 반복적인 설정 준비를 줄였다.
- CK 워크플로우를 실시간 대시보드 및 웹 기반 인터페이스(예: 실시간 웹캠 추론)와 통합함으로써 생산 환경 유사 환경에서의 실용적 배포 잠재력을 입증하였다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.