GitHub News

GitHub Action을 사용한 MLOps와 데이터 사이언스

GitHubKorea 2020. 7. 9. 14:38

 

MLOps 다들 들어보셨나요?


Machine Learning Operations (MLOps)는 ML과 DevOps가 합쳐진 말로 테스트, 계보, 버전 및 히스토리 관리를
자동화된 방식으로 제공함으로써 데이터 사이언티스트가 더 협력적인 방식으로 작업을 할 수 있게 해줍니다.

 

MLOps의 환경은 아직 초기 단계여서 데이터 사이언티스트는 사용자 정의 코드를 통해 “ML 인식”에 대한 구현을 별도로 해줘야 합니다. 이러한 단점을 해결하기 위해 GitHub는 데이터 사이언스와 소프트웨어 개발 workflow를
머신러닝(machine learning)과 통합하는 GitHub Action 시리즈를 개발했습니다.

 

그럼 공통 작업을 자동화하는 구성 요소와 예시를 살펴보실까요?

 


GitHub Action에서의 MLOps

아래 예시는 MLOps를 활성화하기 위해 어떻게 GitHub Action과 실험 추적 시스템(experiment tracking
system)이 통합되는지를 보여주고 있습니다. GitHub Action은 머신러닝(Machine Learning) 파이프라인을
조정하여 원하는 인프라에서 실행하고 실험 추적 시스템을 사용하여 메트릭스(metrics)를 수집합니다.
그리고 결과를 다시 Pull Request로 보내는 방식으로 이루어져 있습니다.

 

Pull Request 스크린샷 클릭 클릭 

 

위의 예제를 실시간으로 시연하시려면 이 영상을 참조해주세요.

 

MLOps는 위의 예시뿐만 아니라 더욱 다양합니다. 구성상의 특징 덕분에 GitHub Action에서는 데이터 사이언티스트에게 도움이 되는 여러 가지 방법의 workflow를 구성할 수 있습니다.

 

다음은 pull request 시에 mybinder.org에 링크를 추가하는 매우 간단한 workflow의 예시입니다.

 

위의 YAML 파일이 .github/workflow 디렉토리 저장소에 추가되면 [1]과 같은 Pull Request는 유용한 링크로 주석을 달 수 있습니다.

*[1] 이 workflow의 예시는 fork를 위한 pull request를 하지 않습니다. 다른 이벤트를 통해 PR 코멘트가 발생하도록 해야 합니다.

 

 

 

 


 

 

MLOps와 데이터 사이언스에 사용 가능 한 Actions의 수는 나날이 증가하고 있습니다.
아래는 현재 사용되고 있는 Action을 주제별로 구분한 예시입니다.

 

오케스트레이션 머신러닝(Machine Learning) 파이프라인 조정

 

  • Argo Workflows 제출: Kubernetes에서 실행되는 머신러닝(Machine Learning) 파이프라인을 오케스트레
                                         이션 할 수 있습니다.

  • Kubeflow 파이프라인을 GKE에 게시: Kubeflow 파이프라인은 설치와 도커 컨테이너를 기반으로 확장된
                                                              머신러닝(Machine Learning) workflow를 구축 및 배포하기 위한
                                                              플랫폼입니다.

 

Jupyter Notebook

  • 매개 변수화된 노트북 실행: papermill을 사용하여 프로그래밍 방식으로 노트북 실행

  • Repo2Docker Action : Repo2Docker를 사용하여 데이터 사이언스 저장소를 Jupyter 지원 도커 컨테이너로
                                         자동 변환

  • fastai/fastpages: GitHub Actions와 GitHub Page를 사용하여 Jupyter Notebook의 정보를 블로그 게시물
                                로 공유

End-To-End Workflow 조정

 

 

Experiment Tracking

  • Fetch runs from Weights & Biases: W&B는 머신러닝(Machine Learning)을 위한 experiment tracking
                                                             및 로깅 시스템으로 오픈 소스 프로젝트에 무료로 제공됩니다.

GitHub Actions를 통해 데이터 사이언스와 머신러닝(Machine Learning)을 자동화하고자 하는 것은 위의 예시
말고도 매우 다양합니다.

GitHub Action에 초대합니다. 지금 바로 시작해 보세요!


GitHub Action에 대한 자세한 설명이 필요하신 분들은 블로그 게시물, GitHub Actions, talks와 examples가
포함된 사이트를 참조하세요.


궁금하신 점이 있으시면 아래 댓글을 남겨주세요.

긴 글 읽어주셔서 감사합니다.

 

 

 

이 글은 Hamel Husain의 Using GitHub Actions for MLOps & Data Science를 번역한 글입니다.