Skip to main content
QUICK REVIEW

[논문 리뷰] Software Engineering Practices for Machine Learning

Peter Kriens, Tim Verbelen|arXiv (Cornell University)|2019. 06. 25.
Adversarial Robustness in Machine Learning참고 문헌 6인용 수 9
한 줄 요약

이 논문은 소프트웨어 공학 기법—특히 OSGi Requirements/Capability 모델—을 기계학습(ML)에 적응시켜 ML 모델을 기능(예: 입력/출력 사양, 데이터셋)과 요구사항(예: 런타임, 하드웨어)을 기반으로 기계로 읽을 수 있는 메타데이터를 가진 모듈화된 자산으로 형식화함으로써 제안한다. ML 모델을 소프트웨어 라이브러리처럼 취급함으로써, 자동화되고 신뢰할 수 있는 ML 컴포넌트의 조립과 배포가 가능해지며, 수동 통합 오류가 감소하고 생산 환경 파이프라인의 운영이 간소화된다.

ABSTRACT

In the last couple of years we have witnessed an enormous increase of machine learning (ML) applications. More and more program functions are no longer written in code, but learnt from a huge amount of data samples using an ML algorithm. However, what is often overlooked is the complexity of managing the resulting ML models as well as bringing these into a real production system. In software engineering, we have spent decades on developing tools and methodologies to create, manage and assemble complex software modules. We present an overview of current techniques to manage complex software, and how this applies to ML models.

연구 동기 및 목표

  • 생산 시스템에서 기계학습 모델을 구축하고 유지보수하는 데 점점 더 복잡해지는 문제를 해결하기 위해.
  • ML 모델 배포가 종종 사후 고려 사항으로 간주되어 '접착 코드'(glue code)와 '파이프라인 정글'(pipeline jungles)과 같은 악성 패턴이 발생한다는 점을 밝혀내기 위해.
  • 소프트웨어 공학 최선의 실천 방식과 ML 모델 라이프사이클 관리 간 격차를 메우기 위해.
  • 형식화된 메타데이터를 통해 도구 기반의 자동화된 ML 컴포넌트 조립을 가능하게 하기 위해.
  • 모듈화된 소프트웨어 자산으로서의 모델링을 통해 ML 시스템의 신뢰성, 재사용성, 유지보수성을 향상시키기 위해.

제안 방법

  • ML 모델을 재사용 가능한 소프트웨어 모듈로 간주하기 위해 OSGi Requirements/Capability 모델을 기반으로 채택하기 위해.
  • 입력 형식(예: 28x28 픽셀 이미지), 출력 유형(예: 10개 클래스의 숫자 분류), 데이터셋(예: MNIST), 버전 등을 포함한 구조화된 메타데이터를 사용해 모델 기능을 정의하기 위해.
  • 필요로 하는 라이브러리, 하드웨어(예: GPU), 런타임 종속성 등의 모델 요구사항을 명시하기 위해.
  • 소비자 정의된 요구사항에 기반해 호환 가능한 ML 모델과 실행 환경을 자동으로 조립하기 위해 OSGi Resolver를 사용하기 위해.
  • 소프트웨어 라이브러리와 유사하게, 표준화된 기계로 읽을 수 있는 형식(예: 메타데이터가 내장된 .jar 파일)으로 모델 메타데이터를 표현하기 위해.
  • 실제 기계학습 워크플로우에 적용하여, MNIST나 SVHN에서 훈련된 모델이 숫자 분류 작업을 위해 자동으로 해결될 수 있음을 보여주기 위해.

실험 결과

연구 질문

  • RQ1모듈성과 종속성 관리와 같은 소프트웨어 공학 원칙을 기계학습 모델에 어떻게 적용할 수 있는가?
  • RQ2복잡한 생산 파이프라인에서 기계학습 모델의 신뢰성 있고 자동화된 조립을 가능하게 하는 메타데이터 구조는 무엇인가?
  • RQ3형식화된 기능과 요구사항이 기계학습 배포 과정에서 인간의 실수와 수작업 노력을 줄일 수 있는가?
  • RQ4기존 호환성과 상호운용성을 지원하는 방식으로 기계학습 모델을 패ckaging하고 버전 관리할 수 있는 방법은 무엇인가?
  • RQ5기존 소프트웨어 공학 툴링(예: OSGi)이 기계학습 모델 라이프사이클 관리에 얼마나 확장 가능한가?

주요 결과

  • 기능(예: 입력 크기, 출력 유형, 데이터셋)과 요구사항(예: 라이브러리, 하드웨어)을 형식화한 ML 모델은 도구 기반의 자동화된 모델 조립을 가능하게 한다.
  • OSGi Resolver는 소비자 요구사항에 기반해 호환 가능한 ML 모델을 자동으로 선택할 수 있으며, 예를 들어 28x28 픽셀 이상의 이미지를 수용하는 숫자 분류 작업에 적합한 모델을 선택할 수 있다.
  • MNIST나 SVHN에서 훈련된 ML 모델은 메타데이터가 소비자 정의된 필터와 일치할 경우 자동으로 발견되고 조립될 수 있다.
  • 표준화된 메타데이터의 사용은 개발, 테스트, 생산 단계 간 호환성 검증을 통해 배포 실패 위험을 줄인다.
  • 기계로 읽을 수 있는 메타데이터와 의미적 버전 관리의 적용은 '접착 코드'와 '파이프라인 정글'의 빈도를 크게 감소시킨다.
  • 이 접근법은 수동적이고 비체계적인 기계학습 배포에서부터 체계적이고 확장 가능하며 유지보수 가능한 소프트웨어 공학 모델로의 전환을 가능하게 한다.

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

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

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

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