[MLOps] 4. Training Operationalization
Training Operationalization
- 학습 운영화(Training Operationalization)는 반복 가능한 ML 학습 파이프라인을 구축하고 테스트한 후, 이를 목표 실행 환경에 배포하는 과정이다.
- MLOps 에서는 ML 엔지니어들이 설정 파일(configurations)을 사용해 ML 파이프라인을 배포할 수 있어야 한다.
- 이 설정 파일에는 목표 배포 환경(개발, 테스트, 스테이징 등), 각 환경에서 실행 중에 접근할 데이터 소스, 컴퓨팅 작업을 실행할 서비스 계정과 같은 변수들이 지정된다.
-
그림 6은 학습 파이프라인 접근 방식의 단계를 보여준다.
Training Operationalization Process
- 파이프라인은 일반적으로 프로덕션에 릴리즈되기 전에 일련의 테스트 및 스테이징 환경을 거친다.
- 테스트 및 스테이징 환경의 수는 각 조직에서 설정된 표준에 따라 다르다.
-
대부분의 조직은 프로덕션 이전에 최소한 하나의 테스트 환경을 가지며, 일부는 더 많은 환경을 갖추고 있다.
- 파이프라인 배포 과정의 세부 사항은 파이프라인을 구현하는 데 사용되는 기술에 따라 달라진다.
-
일부 노코드(no-code) 솔루션을 사용한 경우, 데이터 과학자와 ML 엔지니어는 세부 사항을 다루거나 볼 필요가 없다.
- 반면, ML 파이프라인에 대한 더 많은 유연성과 제어를 원한다면 코드 우선(code-first) 기술을 사용해 표준 CI/CD 프로세스와 도구를 통해 파이프라인을 배포할 수 있다.
- 이 접근 방식이 위 그림에 묘사된 내용이다.
- 위 그림은 다음과 같은 단계로 구성된 표준 CI/CD 워크플로를 보여준다.
- CI 단계에서 소스 코드는 유닛 테스트를 거치며, 학습 파이프라인이 빌드되고 통합 테스트가 수행된다. 빌드에서 생성된 모든 아티팩트는 아티팩트 저장소에 저장된다.
- CD 단계에서 테스트된 학습 파이프라인 아티팩트가 목표 환경(개발, 테스트, 스테이징 등)에 배포되고, 파이프라인은 프로덕션 환경에 릴리즈되기 전에 엔드 투 엔드 테스트를 거친다. 일반적으로 파이프라인은 프로덕션 환경이 아닌 환경에서 프로덕션 데이터의 하위 집합을 사용해 테스트되며, 전체 규모의 학습은 프로덕션 환경에서만 수행된다.
- 새로 배포된 학습 파이프라인은 스모크 테스트를 거친다. 만약 새로운 파이프라인이 배포 가능한 모델을 생성하지 못하면, 모델 서빙 시스템은 현재 학습 파이프라인에서 생성된 모델로 돌아갈 수 있다.
Summary
- 학습 운영화 단계에서 일반적으로 생성되는 자산은 다음과 같다.
- 학습 파이프라인의 실행 가능한 구성 요소(ex. 컨테이너 레지스트리에 저장된 컨테이너 이미지)
- 아티팩트 레포지토리에 저장된 구성 요소를 참조하는 학습 파이프라인 런타임 표현
- 학습 운영화 단계에서 핵심 MLOps 기능은 다음과 같다.
- ML 파이프라인
댓글 남기기