[MLOps] 6. Model Deployment


Model Deployment

  • 모델이 학습되고, 검증된 후 모델 레지스트리에 추가되면, 배포할 준비가 된 것이다.
  • 모델 배포 과정에서는 모델을 패키징하고, 테스트하며, 목표 서빙 환경에 배포한다.
  • 학습 운영화(Training Operationalization) 단계와 마찬가지로, 모델 배포 과정도 여러 테스트 단계와 테스트 환경을 포함할 수 있다.
  • 모델은 목표 환경에 배포되기 전에 모델 거버넌스(Model Governance) 과정을 거쳐야 할 수도 있다.

  • 아래 그림은 모델 배포 과정의 개요를 보여준다.

    UntitledModel deployment progressive delivery workflow

  • no-code 또는 low-code 솔루션을 사용할 경우, 모델 배포 과정은 데이터 과학자나 ML 엔지니어의 관점에서 간소화되고 추상화된다.
  • 일반적으로 모델 레지스트리의 모델 항목을 지정하기만 하면, 해당 모델을 위한 메타데이터와 저장된 아티팩트를 사용해 자동으로 배포된다.

  • 하지만, 다른 경우에는 모델 배포 과정에 대한 더 많은 제어가 필요할 수 있으며, 이 과정에서는 복잡한 CI/CD 절차가 요구된다.
  • 이 경우, CI/CD 시스템은 소스 리포지토리에서 모델 서빙 구성 요소의 소스 코드를 읽고, 모델 레지스트리에서 모델을 가져온다.
  • 그런 다음, 시스템은 모델 서빙 서비스를 통합하고, 빌드하며, 테스트 및 검증한 후 점진적 전달 과정(Progressive Delivery Process)을 통해 서비스를 배포한다.
  • 아래 그림은 이 과정을 보여준다.

    UntitledA complex CI/CD system for the model deployment process

  • 모델 배포의 CI 단계에서는 모델 인터페이스가 예상 입력 형식을 수락하는지, 예상 출력을 생성하는지를 테스트할 수 있다.
  • 또한, 모델이 목표 인프라와 호환되는지, 필요한 패키지 및 가속기가 있는지를 검증할 수 있다.
  • 이 단계에서는 모델의 지연 시간이 허용 가능한지도 확인할 수 있다.

  • 모델 배포의 CD 단계에서는 모델이 점진적 전달 과정을 거친다.
  • 카나리 배포(Canary Deployment), 블루-그린 배포(Blue-Green Deployment), 섀도우 배포(Shadow Deployment) 등이 사용되어 스모크 테스트(Smoke Testing)를 수행하는데, 이는 주로 지연 시간, 처리량, 서비스 오류와 같은 모델 서비스의 효율성에 초점을 맞춘다.
  • 모델이 기술적으로 작동하는 것을 확인한 후에는, 기존 모델과 함께 점진적으로 모델을 제공하고, 실시간 트래픽을 사용해 새로운 기능을 테스트하는 온라인 실험을 통해 모델의 효과를 테스트한다.

  • 온라인 실험은 특히 ML 맥락에서 중요하다.
  • 새로운 모델 후보가 운영 버전을 대체할 수 있을지 결정하는 것은 다른 소프트웨어 자산을 배포할 때보다 복잡하고 다차원적인 작업이다.
  • 점진적 전달 방식에서는 새로운 모델 후보가 기존 버전을 즉시 대체하지 않는다.
  • 대신, 새로운 모델이 운영 환경에 배포된 후, 기존 버전과 병렬로 실행된다.
  • 사용자 하위 집합이 온라인 실험에 따라 단계적으로 새로운 모델로 리디렉션된다.
  • 실험 결과는 모델이 완전히 배포되어 이전 버전을 대체할 수 있는지 여부를 결정하는 최종 기준이 된다.
  • A/B 테스트와 멀티암드 밴딧(MAB) 테스트는 새로운 모델이 애플리케이션 수준의 목표에 미치는 영향을 정량화하는 데 사용할 수 있는 일반적인 온라인 실험 기법이다.
  • 카나리 배포 및 섀도우 배포 방법은 이러한 온라인 실험을 용이하게 할 수 있다.

Summary

  • 모델 배포 과정에서 일반적으로 생성되는 자산은 다음과 같다.
    • 모델 서빙 실행 가능한 애플리케이션(ex. 컨테이너 레지스트리에 저장된 컨테이너 이미지 또는 아티팩트 리포지토리에 저장된 Java 패키지)
    • ML 메타데이터 및 아티팩트 저장소에 저장된 온라인 실험 평가 지표
  • 모델 배포 과정에서 핵심 MLOps 기능은 다음과 같다.
    • 모델 서빙
    • 모델 레지스트리
    • 온라인 실험
    • ML 메타데이터 및 아티팩트 저장소

Reference

맨 위로 이동 ↑

댓글 남기기