요약
- ML 응용 프로그램의 개발과 배포가 일반적인 응용 프로그램과 다르기때문에 ML 응용 프로그램 개발 인프라와 관련 소프트웨어 필요성이 증가함
- TensorFlow Extended (TFX), ModelOps, Kubeflow와 같은 플랫폼을 통해 ML 응용 프로그램의 전체 생명주기 관리
- ML 파이프라인 관리
- 하지만 성능면에서 확신할 수 없음
- 연구자들은 CI/CD 도구와 Kubeflow 등을 가지고 DevOps 기능을 가진 플랫폼을 구축/ 파이프라인 구성 → 시간과 컴퓨팅 자원 등 기록
What is MLOps?
→ Machine Learning Operations 의 약자로 , ML + DevOps
- ML 생명 주기를 관리하는 것을 목표로 함
- 데이터 수집, 모델 개발, 테스트, 배포, 모니터링, 유지 보수
- 더 빠르고 안정적인 배포 지원
- 성능 지속 및 모니터링/개선
ML Pipeline Construction

- 플랫폼 배포 및 연결: Kubeflow, Gitea, Drone이 배포되고 서로 연결되도록 구성.
- 파이프라인 설계 및 구축: 특정 이벤트(이 경우 코드 변경 제출)가 발생할 때 모델을 지속적으로 훈련할 수 있는 ML 파이프라인을 설계하고 구축.
- 파이프라인 설정: ML 플랫폼에서 두 가지 유형의 파이프라인을 설정한다. 하나는 Kubeflow 파이프라인을 자동으로 패키징하고 업로드하는 데 사용되는 CI/CD 파이프라인/다른 하나는 모델 훈련 및 기타 프로세스를 위한 Kubeflow 파이프라인
- 저장소 복제: CI/CD 도구는 git 저장소 변경을 나타내는 메시지를 받으면, 계산 모델의 코드와 Kubeflow 파이프라인 정의 파일을 저장하는 저장소를 복제
- Docker 이미지 빌드 및 업로드: 저장소에 있는 Dockerfile을 기반으로 파이프라인 구성 요소 프로그램이 포함된 Docker 이미지를 빌드하고 Docker 저장소에 업로드
- 파이프라인 파일 컴파일 및 업로드: 이러한 구성 요소를 참조하고 그들의 입출력 상호 작용을 정의하여, 파이프라인 파일을 YAML 형식의 구성으로 컴파일하고 Kubeflow에 업로드
- Kubeflow 파이프라인 실행 시작: CI/CD 도구는 Kubeflow 파이프라인의 실행
- Kubeflow 파이프라인 실행: Kubeflow 파이프라인은 구성 요소를 순차적으로 실행함으로써 수행한다. 구성 요소의 실행 중에는 먼저 Docker 이미지가 Docker 저장소에서 가져와지며 그 이미지로부터 Docker 컨테이너가 생성되면, 내부에 빌드된 구성 요소 프로그램이 실행을 시작하고 데이터셋 다운로드, 데이터 처리, 모델 훈련, 모델 테스트와 같은 ML 작업을 완료한다
Conclusion
- 본 논문에서는 MLOps 플랫폼 배포
- CI/CD 도구와 Kubeflow와 같은 ML 플랫폼에서 파이프라인 구축가능한 것 검증
- 특정 이벤트가 발생할 때 모델을 지속적으로 재훈련
- 새로운 데이터 입력, 데이터 패턴 변화, 모델 성능 변화
- ML 파이프라인
- ML 작업(Task) 파이프라인 : 데이터 전처리, 모델 훈련 등
- Kubeflow 와 같은 플랫폼에서는 대부분 시간과 자원 소비가 ML 작벙 파이프라인에 의해 발생
- CI/CD 파이프라인 : 실행을 지속적으로 작동시키고 검증된 모델을 배포
- Kubeflow 파이프라인 정의 파일을 플랫폼 지원 형식으로 컴파일하는데 소비
- 시간과 컴퓨팅 자원 소비는 ML 플랫폼보다는 모델 설계와 구축에 더 관련 있음