ML Diagnostics 플랫폼

Google Cloud ML Diagnostics는 에서 AI 및 ML 워크로드를 최적화, 모니터링, 진단하기 위한 엔드 투 엔드 관리형 플랫폼입니다. Google CloudML Diagnostics를 사용하여 워크로드를 모니터링하고 단일 플랫폼 내에서 모든 워크로드 측정항목, 구성, 프로필을 수집하고 시각화합니다. ML Diagnostics는 학습 및 추론 워크로드 모두에 적용할 수 있으며 Google Kubernetes Engine (GKE) 및 커스텀 오케스트레이터를 비롯한 Cloud TPU의 모든 오케스트레이터와 호환됩니다. ML Diagnostics에는 다음과 같은 기능이 포함되어 있습니다.

  • 워크로드 모니터링: GKE TPU에서 실행되는 AI/ML 워크로드를 자동으로 모니터링하고 진단합니다. 각 GKE 작업에 대해 ML Diagnostics 워크로드 모니터링은 머신러닝 실행을 자동으로 만들고, 워크로드 전반에서 TPU 작업 주기를 모니터링하고, 워크로드에 영향을 미치는 이벤트를 감지하고, 이벤트의 잠재적 원인을 파악하는 데 도움이 되도록 인프라, 오케스트레이터, 프레임워크와 같은 워크로드의 다양한 레이어를 분석합니다.
  • 머신러닝 실행: ML Diagnostics를 사용하여 Google Cloud CLI를 통해 머신러닝 실행을 만들고 등록하거나 ML Diagnostics SDK를 워크로드와 통합합니다. 워크로드 모니터링으로 실행을 자동으로 만들고 등록하고, 머신러닝 실행으로 관리형 XProf 인스턴스를 배포하고, 워크로드 측정항목, 구성, 프로필 세션을 수집하고 관리할 수 있습니다.
  • gcloud CLI 환경: gcloud CLI를 통해 ML Diagnostics API를 사용하여 실행을 등록하고 관리하고, 관리형 XProf 리소스를 배포하고, 스토리지 버킷에서 프로필 세션을 시각화하고, CLI에서 프로필 캡처를 트리거합니다. CLI 또는 API를 통해 워크로드 모니터링에서 감지한 모든 이벤트를 나열하고 이러한 이벤트에 대한 분석기 세부정보를 가져올 수도 있습니다.
  • Python SDK: 완전한 ML 워크로드 진단 환경을 위해 ML 워크로드와 통합된 오픈소스 ML Diagnostics SDK를 사용합니다. 워크로드를 모니터링하고 워크로드 측정항목, 구성, 프로필을 Google Cloud수집하고 관리합니다.
  • 관리형 프로파일링: ML Diagnostics는 확장 가능한 백엔드가 있는 XProf의 관리형 인스턴스를 연결된 계정에 배포하여 대규모 프로필을 빠르게 로드할 수 있도록 합니다. 여러 사용자가 동시에 프로필에 액세스하는 것을 지원하며 멀티 호스트 프로파일링 및 주문형 프로파일링과 같은 기본 제공 기능이 포함되어 있습니다.
  • 워크로드 측정항목: 모델 품질, 모델 성능, 시스템 측정항목을 비롯한 워크로드 측정항목을 추적합니다. 워크로드 모니터링을 사용하면 SDK를 통합하지 않고도 워크로드와 연결된 시스템 측정항목을 가져올 수 있습니다.
  • 워크로드 구성 관리: 워크로드 구성, 소프트웨어 구성, 시스템 구성, 사용자 정의 구성을 비롯한 워크로드 구성을 추적합니다.
  • 클러스터 디렉터 및 GKE의 시각화: 콘솔 Google Cloud 에서 클러스터 디렉터Google Kubernetes Engine의 측정항목, 구성, 프로필을 시각화합니다.
  • 링크 공유: 머신러닝 실행, 워크로드 모니터링, 측정항목, 프로필에 대한 정보가 포함된 공유 가능한 링크를 사용하여 공동작업합니다.

사용자 경로

모든 GKE 작업에 워크로드 모니터링으로 ML Diagnostics 플랫폼을 자동으로 사용하거나 완전한 ML 워크로드 진단 환경을 위해 SDK를 워크로드와 통합할 수 있습니다. 콘솔 Google Cloud 또는 CLI를 통해 ML Diagnostics 시스템과 상호작용할 수 있습니다. 워크로드 모니터링은 TPU에서 GKE로 배포된 모든 워크로드에 자동으로 제공됩니다.

CLI를 사용하면 ML Diagnostics gcloud CLI를 사용하여 머신러닝 실행을 만들거나 수정하고 관리형 XProf 리소스를 배포할 수 있습니다. ML Diagnostics SDK를 사용하면 워크로드 측정항목 및 구성을 수집하고 관리하고 관리형 XProf 리소스를 배포하기 위해 SDK를 ML 워크로드에 통합해야 합니다.

시작하려면 다음 가이드 중 하나를 사용하세요.

XProf를 사용한 관리형 프로파일링

CLI 또는 SDK를 사용하는 경우 XProf를 사용하여 관리형 프로파일링 환경을 이용할 수 있습니다. XProf는 머신러닝 워크로드를 위한 오픈소스 프로파일링 및 성능 분석 도구이며 OpenXLA 생태계의 일부입니다.

자체 호스팅 프로파일링 환경과 비교했을 때 관리형 프로파일링 환경의 이점은 다음과 같습니다.

  • XProf 또는 기타 종속 항목을 설정할 필요가 없습니다.
  • 취약점으로부터 더 나은 보안 및 보호를 제공합니다.
  • 공동작업을 위한 공유 가능한 링크를 제공합니다.
  • 대규모 프로필을 더 빠르게 로드합니다.
  • 링크 액세스 부하에 따라 리소스의 자동 확장을 통해 여러 사용자가 동시에 프로필에 액세스하는 것을 지원합니다.
  • 멀티 호스트 프로파일링 및 주문형 프로파일링과 같은 기본 제공 기능을 제공합니다.
  • 동일한 관리형 XProf 인스턴스로 여러 실행에서 여러 프로필 세션을 로드합니다.
  • ML Diagnostics 플랫폼에서 배포한 관리형 XProf 리소스는 무료이므로 관리형 XProf가 자체 호스팅 XProf보다 비용 효율적입니다.

기본 요건

ML Diagnostics를 사용하기 전에 Cluster Director API를 사용 설정하고 필요한 IAM 권한을 추가합니다. GKE를 사용하는 경우 워크로드 모니터링이 이미 사용 설정되어 있습니다. 하지만 ML Diagnostics SDK 및 주문형 프로파일링에는 추가 GKE 아티팩트와 GKE 클러스터 구성이 필요합니다. 자세한 내용은 Set up GKE를 참조하세요.

클러스터 디렉터 API 사용 설정

ML Diagnostics 제품을 사용하기 위해 클러스터를 배포하고 관리하는 데 Cluster Director를 사용할 필요는 없습니다. ML Diagnostics는 GKE, Cluster Director 또는 커스텀 오케스트레이터에서 관리하는 클러스터와 함께 작동합니다. ML Diagnostics는 Cluster Director API 제품군의 일부이지만 사용자가 Cluster Director 제품 자체를 사용하는지 여부에 따라 달라지지는 않습니다.

클러스터 디렉터 API 사용 설정에 대한 자세한 내용은 프로젝트 Google Cloud 에서 API 사용 설정 을 참조하세요.

IAM 권한

워크로드에서 사용하는 Google Cloud 서비스 계정에는 프로젝트에 할당된 다음 IAM 역할이 필요합니다.

  • roles/hypercomputecluster.editor: MLRun 리소스를 만들고 관리하고 사용자 인터페이스를 볼 수 있는 전체 액세스 권한을 제공합니다.
  • roles/logging.logWriter: Cloud Logging에 로그와 측정항목을 작성합니다.
  • roles/storage.objectUser: machinelearning_run에 지정된 Cloud Storage 버킷에 프로필을 저장합니다.

사용자에게 ML Diagnostics에 필요한 API 하위 집합을 할당하는 커스텀 역할을 만들 수도 있습니다. 사용자는 클러스터를 관리하기 위해 Cluster Director를 사용할 필요가 없으므로 다음 권한만 할당하면 됩니다.

  • hypercomputecluster.locations.get
  • hypercomputecluster.locations.list
  • hypercomputecluster.machineLearningRuns.create
  • hypercomputecluster.machineLearningRuns.delete
  • hypercomputecluster.machineLearningRuns.get
  • hypercomputecluster.machineLearningRuns.list
  • hypercomputecluster.machineLearningRuns.update
  • hypercomputecluster.operations.cancel
  • hypercomputecluster.operations.delete
  • hypercomputecluster.operations.get
  • hypercomputecluster.operations.list
  • resourcemanager.projects.get
  • Resourcemanager.projects.list

Google Kubernetes Engine의 워크로드의 경우 워크로드 아이덴티티 제휴를 사용하여 Kubernetes 서비스 계정을 필요한 역할이 부여된 Google Cloud 서비스 계정과 연결합니다. 호스트 네트워크 (hostNetwork: true)에서 실행되는 포드는 GKE용 워크로드 아이덴티티 제휴를 사용하지 않습니다. 이러한 경우 GKE용 워크로드 아이덴티티 제휴의 대안을 참조하세요.

가격 책정

Cloud Logging을 통한 측정항목 저장 및 Cloud Storage를 통한 프로필 저장에 대해 요금이 청구됩니다. ML Diagnostics 플랫폼을 사용할 때는 이러한 서비스에 대해 추가 결제를 사용 설정할 필요가 없습니다. ML Diagnostics 플랫폼에서 배포한 관리형 XProf 리소스는 무료입니다.