Intelligent Products Essentials를 사용한 MLOps

Last reviewed 2022-06-28 UTC

이 문서에서는 Intelligent Products Essentials Vertex AI를 사용하여 MLOps를 구현하기 위한 참조 아키텍처에 대해 설명합니다. 제조업체는 다음을 수행하여 제품을 지속적으로 개선할 수 있습니다.

  • 고객의 니즈를 보다 효과적으로 충족하기 위한 지능형 기능 추가
  • 새로운 제품 기능으로 수익 창출

이 목표를 염두에 두고 이 문서는 연결된 제품을 위한 MLOps 솔루션 아키텍처에 대해 알아보려는 데이터 과학자, 머신러닝(ML) 엔지니어, 솔루션 설계자를 대상으로 작성되었습니다.

MLOps

ML 시스템의 숨겨진 기술적 채무에 설명된 것처럼 ML 코드는 성숙한 ML 시스템의 일부일 뿐입니다. ML 코드와 고품질 데이터 외에도 ML 프로세스를 실행할 방법이 필요합니다.

MLOps는 기업이 빠르고 반복 가능하며 안정적인 방식으로 ML 시스템을 구축, 배포, 운영하도록 도와주는 방식입니다. MLOps는 ML 시스템에 DevOps 원칙을 적용한 것입니다. MLOps는 ML 시스템 개발(Dev)과 ML 시스템 작업(Ops)을 통합하기 위한 엔지니어링 문화이자 방식입니다. 빠르고 안정적인 방식으로 ML 시스템을 빌드, 배포, 운영하는 표준화된 프로세스 및 기술 기능을 제공하는 것이 MLOps의 목표입니다.

다음 섹션에서는 MLOps를 Intelligent Products Essentials 및 Vertex AI로 구현하는 방법에 대해 설명합니다.

MLOps 캐릭터

Intelligent Products Essentials와 핵심 MLOps 사용자 캐릭터의 개략적인 아키텍처

위의 다이어그램은 다음과 같은 구성요소 및 핵심 MLOps 사용자 캐릭터를 보여줍니다.

  • Intelligent Products Essentials: BigQuery와 Cloud Storage에 고객 데이터, 기기 데이터, 기기 원격 분석, 소유권 데이터를 저장합니다.
  • 데이터 과학자: Intelligent Products Essentials, 특성 추출, 모델 개발, 모델 평가, ML 파이프라인 빌드에 저장된 데이터를 분석합니다.
  • ML 엔지니어: 규모에 맞게 모델 배포를 조정하고 호스팅합니다.

다음 섹션에서는 데이터 과학자 및 ML 엔지니어의 관점에서 MLOps 아키텍처를 설명합니다.

데이터 과학자

모든 ML 문제의 경우 데이터 과학자의 목표는 고급 분석 및 ML 기법을 적용하여 데이터 및 출력 예측의 패턴을 식별하는 것입니다. 데이터는 ML의 기반이므로 데이터 과학자는 데이터 분석을 위한 데이터 세트 및 유연한 개발 환경에 쉽게 액세스할 수 있어야 합니다.

다음 다이어그램은 데이터 과학자의 관점에서 Intelligent Products Essentials의 MLOps 아키텍처를 보여줍니다.

데이터 과학자의 관점에서 Intelligent Products Essentials의 상세한 MLOps 아키텍처

위의 다이어그램은 데이터 과학자를 위한 다음 MLOps 구성요소를 보여줍니다.

  • Vertex AI Workbench: 조직의 모든 Google Cloud 데이터에 연결할 수 있는 Jupyter 기반의 확장 가능한 완전 관리형 엔터프라이즈급 컴퓨팅 인프라를 제공합니다. 데이터 과학자는 이 인프라를 개발 환경으로 사용할 수 있습니다.

  • Vertex AI Feature Store: ML 특성을 구성, 저장, 서빙할 수 있는 중앙 집중식 저장소를 제공합니다. 데이터 과학자는 Vertex AI Feature Store를 사용하여 조직 전체에서 기능을 저장하고 공유할 수 있습니다.

  • Kubeflow Pipelines SDK: 데이터 과학자는 Docker 컨테이너를 기반으로 이동성이 있고 확장 가능한 ML 워크플로를 구축하고 배포할 수 있습니다. 데이터 과학자가 ML 모델을 만들면 Kubeflow Pipelines SDK를 사용하여 학습 절차를 ML 파이프라인에 패키징할 수 있습니다.

  • Vertex AI Pipelines: Kubeflow Pipelines SDK 또는 TensorFlow Extended를 사용하여 빌드된 ML 파이프라인의 실행 환경을 제공합니다. Intelligent Products Essentials의 경우 Kubeflow Pipelines SDK를 사용하는 것이 좋습니다. Kubeflow Pipelines SDK를 사용하는 경우 간단하고 빠른 배포를 위한 Google Cloud 파이프라인 구성요소와 같은 사전 빌드된 구성요소도 있습니다. 사전 빌드된 구성요소의 전체 목록은 Google Cloud 파이프라인 구성요소 목록을 참조하세요.

  • Cloud Source Repositories: Google Cloud에서 호스팅되는 모든 기능을 갖춘 비공개 Git 저장소입니다. 데이터 과학자는 지속적 학습 ML 파이프라인을 정의한 후 Cloud Source Repositories와 같은 소스 저장소에 파이프라인 정의를 저장할 수 있습니다. 이 접근 방식은 지속적 통합 및 지속적 배포(CI/CD) 파이프라인을 트리거하여 실행합니다.

ML 엔지니어

Intelligent Products Essentials는 ML 엔지니어가 빠르고 안정적으로 ML 모델 작업을 자동화할 수 있도록 지원합니다. ML 엔지니어는 ML 파이프라인, 모델, 그리고 경우에 따라 예측 서비스의 배포를 지원하는 CI/CD 파이프라인을 관리합니다.

다음 다이어그램은 ML 엔지니어의 관점에서 Intelligent Products Essentials의 MLOps 아키텍처를 보여줍니다.

ML 엔지니어의 관점에서 Intelligent Products Essentials의 상세한 MLOps 아키텍처

위의 다이어그램은 머신러닝 엔지니어를 위한 다음과 같은 MLOps 구성요소를 보여줍니다.

  • CI 파이프라인: ML 파이프라인의 구성요소를 빌드, 테스트, 패키징합니다.
  • CD 파이프라인: ML 파이프라인을 스테이징 또는 프로덕션 환경과 같은 적절한 환경에 배포합니다.
  • ML 파이프라인: 학습 데이터를 준비하고 ML 모델을 학습합니다. 여기에는 다음 단계가 포함됩니다.
    • 데이터 추출: 사전 정의된 데이터 소스에서 학습 데이터 세트를 가져옵니다.
    • 데이터 유효성 검사: 데이터 스키마 및 데이터 값 분포에서 이상을 식별합니다.
    • 데이터 준비: 데이터 정리, 데이터 변환, 특성 추출이 포함됩니다.
    • 모델 학습: 학습 데이터 및 기타 ML 기술(예: 초매개변수 최적화)을 사용하여 학습된 모델을 만듭니다.
    • 모델 평가: 테스트 데이터 세트에서 학습된 모델(이전 모델 학습 단계의 모델)의 성능을 평가합니다.
    • 모델 검증: 학습된 모델이 배포를 위한 예측 성능 벤치마크를 충족하는지 확인합니다.
  • ML 파이프라인 트리거: Pub/Sub에 게시된 이벤트이며, 지속적 학습을 위해 ML 파이프라인을 트리거합니다.
  • Vertex AI Model Registry: 학습된 모델의 다양한 버전과 관련 메타데이터를 저장합니다.
  • 일괄 예측: Cloud Storage 또는 BigQuery(AutoML Tables에서 사용 가능)에 저장된 입력 데이터에 대한 예측을 일괄 적용합니다. 일괄 예측 작업은 예측 결과를 Cloud Storage 또는 BigQuery(AutoML Tables에서 사용 가능)로 출력하여 다운스트림 시스템이 사용할 수 있도록 할 수 있습니다.

다음 단계