Well-Architected Framework: AI 및 ML 관점

Last reviewed 2025-02-14 UTC

Google Cloud Well-Architected Framework의 이 문서에서는 운영, 보안, 안정성, 비용, 성능 목표를 충족하는 Google Cloud 에서 AI 및 ML 워크로드를 설계, 빌드, 관리하는 데 도움이 되는 원칙과 권장사항을 설명합니다.

이 문서의 대상 독자에는 Google Cloud에서 AI 및 ML 워크로드를 설계, 빌드, 배포, 유지관리하는 의사 결정권자, 설계자, 관리자, 개발자, 운영자가 포함됩니다.

다음 페이지에서는 Well-Architected Framework의 각 주요 분야에 대해 AI 및 ML과 관련된 원칙과 권장사항을 설명합니다.

참여자

저자:

기타 참여자:

AI 및 ML 관점: 운영 우수성

Well-Architected Framework: AI 및 ML 관점의 이 문서에서는 Google Cloud에서 강력한 AI 및 ML 시스템을 빌드하고 운영하기 위한 원칙과 권장사항을 간략하게 설명합니다. 이러한 권장사항은 관측 가능성, 자동화, 확장성과 같은 기본적인 요소를 설정하는 데 도움이 됩니다. 이 문서의 권장사항은 Google Cloud Well-Architected 프레임워크의 운영 우수성 분야와 일치합니다.

AI 및 ML 도메인 내 운영 우수성은 조직의 전략적 목표를 달성하는 데 도움이 되는 AI 및 ML 시스템과 파이프라인을 원활하게 배포, 관리, 제어하는 능력입니다. 운영 우수성을 통해 변화에 효율적으로 대응하고, 운영 복잡성을 줄이며, 운영이 비즈니스 목표와 일치하도록 할 수 있습니다.

이 문서의 권장사항은 다음 핵심 원칙에 매핑됩니다.

모델 개발을 위한 강력한 기반 구축

비즈니스 목표를 달성하는 데 도움이 되는 확장 가능하고 안정적인 AI 시스템을 개발하고 배포하려면 강력한 모델 개발 기반이 필수적입니다. 이러한 기반을 통해 일관된 워크플로를 지원하고, 오류를 줄이기 위해 중요한 단계를 자동화하며, 수요에 따라 모델을 확장할 수 있습니다. 강력한 모델 개발 기반을 통해 ML 시스템을 원활하게 업데이트, 개선, 재학습할 수 있습니다. 이 토대를 통해 모델의 성능을 비즈니스 요구사항에 맞추고, 영향력 있는 AI 솔루션을 신속하게 배포하고, 변화하는 요구사항에 적응할 수 있습니다.

AI 모델을 개발하기 위한 강력한 기반을 구축하려면 다음 권장사항을 고려하세요.

문제와 필요한 결과 정의

AI 또는 ML 프로젝트를 시작하기 전에 해결해야 하는 비즈니스 문제와 필요한 결과를 명확하게 이해해야 합니다. 비즈니스 목표의 개요부터 시작하여 목표를 측정 가능한 핵심성과지표 (KPI)로 세분화합니다. Jupyter 노트북 환경에서 문제 정의와 가설을 정리하고 문서화하려면 Vertex AI Workbench와 같은 도구를 사용하세요. 코드와 문서의 버전 관리를 구현하고 프로젝트, 목표, 가정을 문서화하려면 Git과 같은 도구를 사용하세요. 생성형 AI 애플리케이션의 프롬프트를 개발하고 관리하려면 Vertex AI Studio를 사용하면 됩니다.

필요한 데이터 수집 및 전처리

데이터 사전 처리 및 변환을 구현하려면 Dataflow(Apache Beam용), Dataproc(Apache Spark용) 또는 SQL 기반 프로세스가 적합한 경우 BigQuery를 사용하면 됩니다. 스키마를 검증하고 이상치를 감지하려면 TensorFlow Data Validation (TFDV)을 사용하고 해당하는 경우 BigQuery의 자동 데이터 품질 스캔을 활용하세요.

생성형 AI의 경우 데이터 품질에는 정확성, 관련성, 다양성, 필수 출력 특성과의 정렬이 포함됩니다. 실제 데이터가 불충분하거나 불균형한 경우 합성 데이터를 생성하여 모델의 견고성과 일반화를 개선할 수 있습니다. 기존 패턴을 기반으로 합성 데이터 세트를 만들거나 모델 성능을 개선하기 위해 학습 데이터를 보강하려면 BigQuery DataFrames 및 Gemini를 사용하세요. 합성 데이터는 프롬프트 다양성과 전반적인 모델 견고성을 개선하는 데 도움이 되므로 생성형 AI에 특히 유용합니다. 생성형 AI 모델을 미세 조정하기 위한 데이터 세트를 빌드할 때는 Vertex AI의 합성 데이터 생성 기능을 사용하는 것이 좋습니다.

파인 튜닝 또는 인간 피드백 기반 강화 학습 (RLHF)과 같은 생성형 AI 작업의 경우 라벨이 생성된 출력의 품질, 관련성, 안전성을 정확하게 반영하는지 확인하세요.

적절한 ML 접근 방식 선택

모델과 매개변수를 설계할 때는 모델의 복잡성과 계산 요구사항을 고려하세요. 분류, 회귀, 생성과 같은 작업에 따라 맞춤 모델 빌드에는 Vertex AI 커스텀 학습을 사용하고 간단한 ML 작업에는 AutoML을 사용하는 것이 좋습니다. 일반적인 애플리케이션의 경우 Vertex AI Model Garden을 통해 사전 학습된 모델에 액세스할 수도 있습니다. 텍스트, 이미지, 코드 생성과 같은 다양한 사용 사례에 최첨단 파운데이션 모델을 실험해 볼 수 있습니다.

특정 사용 사례에 최적의 성능을 달성하기 위해 사전 학습된 파운데이션 모델을 미세 조정하는 것이 좋습니다. 맞춤 학습에서 고성능이 필요한 경우 Cloud 텐서 처리 장치 (TPU) 또는 GPU 리소스를 구성하여 대규모 언어 모델 (LLM) 및 확산 모델과 같은 딥 러닝 모델의 학습 및 추론을 가속화합니다.

코드, 모델, 데이터의 버전 관리 설정

코드 버전을 효과적으로 관리하고 배포하려면 GitHub 또는 GitLab과 같은 도구를 사용하세요. 이러한 도구는 강력한 공동작업 기능, 브랜치 전략, CI/CD 파이프라인과의 통합을 제공하여 간소화된 개발 프로세스를 보장합니다.

다음 예와 같이 적절한 솔루션을 사용하여 ML 시스템의 각 아티팩트를 관리합니다.

  • 컨테이너 이미지 및 파이프라인 구성요소와 같은 코드 아티팩트의 경우 Artifact Registry는 보안을 개선하는 데 도움이 되는 확장 가능한 스토리지 솔루션을 제공합니다. Artifact Registry에는 버전 관리도 포함되어 있으며 Cloud BuildCloud Deploy와 통합할 수 있습니다.
  • 학습 및 평가에 사용되는 데이터 세트와 같은 데이터 아티팩트를 관리하려면 스토리지 및 버전 관리를 위해 BigQuery 또는 Cloud Storage와 같은 솔루션을 사용하세요.
  • 메타데이터와 데이터 위치 포인터를 저장하려면 버전 관리 시스템이나 별도의 데이터 카탈로그를 사용하세요.

특성 데이터의 일관성과 버전 관리를 유지하려면 Vertex AI Feature Store를 사용하세요. 바이너리 및 메타데이터를 비롯한 모델 아티팩트를 추적하고 관리하려면 Vertex AI Model Registry를 사용하세요. 이 레지스트리를 사용하면 모델 버전을 원활하게 저장, 정리, 배포할 수 있습니다.

모델 신뢰성을 보장하려면 Vertex AI Model Monitoring을 구현하세요. 프로덕션에서 데이터 드리프트를 감지하고, 성능을 추적하고, 이상치를 식별합니다. 생성형 AI 시스템의 경우 출력 품질 및 안전 규정 준수의 변화를 모니터링합니다.

모델 개발 수명 주기 자동화

자동화를 사용하면 AI 및 ML 수명 주기의 모든 단계를 간소화할 수 있습니다. 자동화는 수동 작업을 줄이고 프로세스를 표준화하여 운영 효율성을 높이고 오류 위험을 낮춥니다. 자동화된 워크플로를 사용하면 반복 속도가 빨라지고, 환경 전반에서 일관된 배포가 가능하며, 결과의 신뢰성이 높아지므로 시스템을 원활하게 확장하고 적응시킬 수 있습니다.

AI 및 ML 시스템의 개발 수명 주기를 자동화하려면 다음 권장사항을 고려하세요.

관리형 파이프라인 조정 시스템 사용

Vertex AI Pipelines를 사용하여 데이터 준비부터 모델 학습, 평가, 배포까지 ML 수명 주기의 모든 단계를 자동화하세요. 배포를 가속화하고 프로젝트 전반에서 일관성을 유지하려면 예약된 파이프라인 실행으로 반복 작업을 자동화하고, 실행 측정항목으로 워크플로를 모니터링하고, 표준화된 워크플로를 위한 재사용 가능한 파이프라인 템플릿을 개발하세요. 이러한 기능은 생성형 AI 모델로 확장되며, 생성형 AI 모델에는 프롬프트 엔지니어링, 응답 필터링, human-in-the-loop 평가와 같은 전문적인 단계가 필요한 경우가 많습니다. 생성형 AI의 경우 Vertex AI Pipelines는 생성된 출력을 품질 측정항목 및 안전 가이드라인과 비교하는 평가를 비롯한 이러한 단계를 자동화할 수 있습니다. 프롬프트 다양성과 모델 견고성을 개선하기 위해 자동화된 워크플로에는 데이터 증강 기법도 포함될 수 있습니다.

CI/CD 파이프라인 구현

ML 모델의 빌드, 테스트, 배포를 자동화하려면 Cloud Build를 사용하세요. 이 서비스는 애플리케이션 코드의 테스트 스위트를 실행할 때 특히 효과적이며, 이를 통해 인프라, 종속 항목, 모델 패키징이 배포 요구사항을 충족하는지 확인할 수 있습니다.

ML 시스템에는 코드 테스트 외에 추가 단계가 필요한 경우가 많습니다. 예를 들어 다양한 부하에서 모델의 스트레스 테스트를 실행하고, 다양한 데이터 세트에서 모델 성능을 평가하기 위해 대량 평가를 실행하고, 재학습 전에 데이터 무결성을 검증해야 합니다. 스트레스 테스트를 위해 실제 워크로드를 시뮬레이션하려면 Locust, Grafana k6, Apache JMeter와 같은 도구를 사용하면 됩니다. 병목 현상을 식별하려면 Cloud Monitoring을 통해 지연 시간, 오류율, 리소스 사용률과 같은 주요 측정항목을 모니터링하세요. 생성형 AI의 경우 테스트에는 텍스트 품질, 이미지 충실도, 코드 기능과 같이 생성된 콘텐츠 유형에 특화된 평가도 포함되어야 합니다. 이러한 평가에는 언어 모델의 혼란도와 같은 자동화된 측정항목이나 창의성, 안전과 같은 미묘한 측면을 위한 사람 참여 평가가 포함될 수 있습니다.

테스트 및 평가 작업을 구현하려면 Cloud Build를 다른 Google Cloud 서비스와 통합하면 됩니다. 예를 들어 자동 모델 평가를 위해 Vertex AI Pipelines를 사용하고, 대규모 데이터 분석을 위해 BigQuery를 사용하고, 기능 검증을 위해 Dataflow 파이프라인 검증을 사용할 수 있습니다.

Vertex AI를 사용한 지속적 학습을 사용하여 새 데이터에 대한 모델의 자동 재학습을 지원하면 CI/CD 파이프라인을 더욱 개선할 수 있습니다. 특히 생성형 AI의 경우 생성된 출력이 관련성이 있고 다양하도록 재학습에는 새로운 학습 데이터 또는 프롬프트로 모델을 자동으로 업데이트하는 작업이 포함될 수 있습니다. Vertex AI Model Garden을 사용하여 조정에 사용할 수 있는 최신 기본 모델을 선택할 수 있습니다. 이 방법을 사용하면 모델이 최신 상태로 유지되고 변화하는 비즈니스 요구사항에 맞게 최적화됩니다.

안전하고 제어된 모델 출시 구현

위험을 최소화하고 안정적인 배포를 보장하려면 문제를 조기에 감지하고, 성능을 검증하고, 필요한 경우 빠르게 롤백할 수 있는 모델 출시 접근 방식을 구현하세요.

ML 모델과 애플리케이션을 컨테이너 이미지로 패키징하고 배포하려면 Cloud Deploy를 사용하세요. 모델을 Vertex AI 엔드포인트에 배포할 수 있습니다.

카나리아 출시와 같은 전략을 사용하여 AI 애플리케이션 및 시스템의 관리형 출시를 구현합니다. Gemini와 같은 관리형 모델을 사용하는 애플리케이션의 경우 전체 배포 전에 일부 사용자에게 새 애플리케이션 버전을 점진적으로 출시하는 것이 좋습니다. 이 접근 방식을 사용하면 특히 출력이 달라질 수 있는 생성형 AI 모델을 사용하는 경우 잠재적인 문제를 조기에 감지할 수 있습니다.

미세 조정된 모델을 출시하려면 Cloud Deploy를 사용하여 모델 버전의 배포를 관리하고 카나리아 릴리스 전략을 사용하여 위험을 최소화하면 됩니다. 관리형 모델과 미세 조정된 모델을 사용하면 제어된 출시의 목표는 모든 사용자에게 애플리케이션과 모델을 출시하기 전에 제한된 잠재고객을 대상으로 변경사항을 테스트하는 것입니다.

강력한 검증을 위해 Vertex AI Experiments를 사용하여 새 모델을 기존 모델과 비교하고 Vertex AI 모델 평가를 사용하여 모델 성능을 평가하세요. 특히 생성형 AI의 경우 의도한 사용 사례 및 잠재적 위험과 일치하는 평가 측정항목을 정의합니다. Vertex AI의 Gen AI Evaluation Service를 사용하여 유해성, 일관성, 사실 정확성, 안전 가이드라인 준수와 같은 측정항목을 평가할 수 있습니다.

배포 안정성을 보장하려면 강력한 롤백 계획이 필요합니다. 기존 ML 시스템의 경우 Vertex AI Model Monitoring을 사용하여 데이터 드리프트와 성능 저하를 감지합니다. 생성형 AI 모델의 경우 Vertex AI 모델 평가를 Cloud Logging 및 Cloud Monitoring과 함께 사용하여 관련 측정항목을 추적하고 출력 품질의 변화 또는 유해 콘텐츠의 출현에 대한 알림을 설정할 수 있습니다. 생성형 AI 관련 측정항목을 기반으로 알림을 구성하여 필요한 경우 롤백 절차를 트리거합니다. 모델 계보를 추적하고 가장 최근의 안정적인 버전으로 되돌리려면 Vertex AI Model Registry의 통계를 사용하세요.

모니터링 가능성 구현

데이터 또는 환경의 변화와 모델 업데이트로 인해 AI 및 ML 시스템의 동작이 시간이 지남에 따라 변경될 수 있습니다. 이러한 동적인 특성으로 인해 관측 가능성은 성능 문제, 편향 또는 예상치 못한 동작을 감지하는 데 매우 중요합니다. 특히 생성형 AI 모델의 경우 출력이 매우 가변적이고 주관적일 수 있으므로 이러한 문제가 발생할 수 있습니다. 관찰 기능을 사용하면 예기치 않은 동작에 선제적으로 대처하고 AI 및 ML 시스템이 안정적이고 정확하며 공정하게 유지되도록 할 수 있습니다.

AI 및 ML 시스템의 관측 가능성을 구현하려면 다음 권장사항을 고려하세요.

지속적으로 실적 모니터링

배포 후 모델을 지속적으로 평가하기 위해 측정항목과 성공 기준을 사용합니다.

Vertex AI Model Monitoring을 사용하여 모델 성능을 사전 대응 방식으로 추적하고, 학습-제공 편향 및 예측 드리프트를 식별하고, 필요한 모델 재학습 또는 기타 개입을 트리거하는 알림을 받을 수 있습니다. 학습-서빙 편향을 효과적으로 모니터링하려면 이상적인 데이터 분포를 나타내는 골든 데이터 세트를 구성하고 TFDV를 사용하여 학습 데이터를 분석하고 기준 스키마를 설정하세요.

자동 편향 감지를 위해 입력 데이터의 분포를 골든 데이터 세트와 비교하도록 모델 모니터링을 구성합니다. 기존 ML 모델의 경우 정확도, 정밀도, 재현율, F1 점수, AUC-ROC, 로그 손실과 같은 측정항목에 집중하세요. Model Monitoring에서 알림의 맞춤 기준을 정의합니다. 생성형 AI의 경우 Gen AI Evaluation Service를 사용하여 프로덕션에서 모델 출력을 지속적으로 모니터링합니다. 응답 품질, 안전성, 요청 준수, 그라운딩, 글쓰기 스타일, 상세성에 대한 자동 평가 측정항목을 사용 설정할 수도 있습니다. 생성된 출력의 품질, 관련성, 안전성, 가이드라인 준수 여부를 평가하기 위해 human-in-the-loop 평가를 통합할 수 있습니다.

모델 모니터링에서 알림을 트리거할 때 Vertex AI Pipelines로 모델을 자동으로 재학습시키는 피드백 루프를 만듭니다. 이러한 통계를 사용하여 모델을 지속적으로 개선하세요.

개발 중 모델 평가

LLM 및 기타 생성형 AI 모델을 배포하기 전에 개발 단계에서 철저히 평가하세요. Vertex AI 모델 평가를 사용하여 최적의 성능을 달성하고 위험을 완화하세요. Vertex AI 빠른 평가를 사용하여 제공한 데이터 세트와 프롬프트에 따라 평가를 자동으로 실행할 수 있습니다. Google Cloud

사용 사례에 특정한 맞춤 측정항목을 정의하고 통합할 수도 있습니다. 생성된 콘텐츠에 대한 의견을 받으려면 Vertex AI 모델 평가를 사용하여 인간 참여 워크플로를 통합하세요.

적대적 테스트를 사용하여 취약점과 잠재적인 실패 모드를 식별합니다. 잠재적 편향을 식별하고 완화하려면 하위 그룹 분석 및 반사실적 생성과 같은 기법을 사용하세요. 개발 단계에서 완료된 평가에서 수집한 통계를 사용하여 프로덕션에서 모델 모니터링 전략을 정의합니다. 이 문서의 성능 지속적으로 모니터링 섹션에 설명된 대로 지속적인 모니터링을 위해 솔루션을 준비합니다.

사용 가능 여부 모니터링

배포된 엔드포인트와 인프라의 상태 및 성능을 파악하려면 Cloud Monitoring을 사용하세요. Vertex AI 엔드포인트의 경우 요청률, 오류율, 지연 시간, 리소스 사용률과 같은 주요 측정항목을 추적하고 비정상에 대한 알림을 설정합니다. 자세한 내용은 Vertex AI용 Cloud Monitoring 측정항목을 참고하세요.

Compute Engine 인스턴스, Google Kubernetes Engine (GKE) 클러스터, TPU 및 GPU를 포함할 수 있는 기본 인프라의 상태를 모니터링합니다. Active Assist에서 자동 최적화 추천을 받으세요. 자동 확장을 사용하는 경우 확장 동작을 모니터링하여 자동 확장이 트래픽 패턴의 변화에 적절하게 대응하는지 확인하세요.

Cloud Deploy를 Cloud Monitoring과 통합하여 카나리아 출시 및 롤백을 비롯한 모델 배포 상태를 추적합니다. 또한 Security Command Center를 사용하여 잠재적인 보안 위협과 취약점을 모니터링합니다.

비즈니스별 기준에 대한 맞춤 알림 설정

이상치와 문제를 적시에 식별하고 수정하려면 비즈니스 목표에 맞는 기준을 기반으로 맞춤 알림을 설정하세요. 맞춤 알림 시스템을 구현하는 데 사용할 수 있는 Google Cloud 제품의 예는 다음과 같습니다.

  • Cloud Logging: AI 및 ML 시스템의 모든 구성요소에서 로그를 수집, 저장, 분석합니다.
  • Cloud Monitoring: 주요 측정항목과 추세를 시각화하는 맞춤 대시보드를 만들고 필요에 따라 맞춤 측정항목을 정의합니다. 중요한 문제에 대한 알림을 받도록 알림을 구성하고 PagerDuty 또는 Slack과 같은 사고 관리 도구와 알림을 통합하세요.
  • Error Reporting: 오류 및 예외를 자동으로 캡처하고 분석합니다.
  • Cloud Trace: 분산 시스템의 성능을 분석하고 병목 현상을 식별합니다. 트레이싱은 AI 및 ML 파이프라인의 여러 구성요소 간 지연 시간을 이해하는 데 특히 유용합니다.
  • Cloud Profiler: 프로덕션에서 코드의 성능을 지속적으로 분석하고 CPU 또는 메모리 사용량의 성능 병목 현상을 파악합니다.

운영 우수성 문화 구축

모델을 빌드하는 데서 지속 가능하고 안정적이며 영향력 있는 AI 솔루션을 빌드하는 데로 초점을 전환하세요. 팀이 지속적으로 학습하고, 혁신하고, 개선할 수 있도록 지원하여 개발 주기를 단축하고, 오류를 줄이고, 효율성을 높입니다. 자동화, 표준화, 윤리적 고려사항을 우선시하면 AI 및 ML 이니셔티브가 지속적으로 가치를 제공하고, 위험을 완화하며, 책임감 있는 AI 개발을 촉진할 수 있습니다.

AI 및 ML 시스템의 운영 우수성 문화를 구축하려면 다음 권장사항을 고려하세요.

자동화 및 표준화 지원

효율성과 일관성을 강조하려면 AI 및 ML 수명 주기의 모든 단계에 자동화 및 표준화된 관행을 포함하세요. 자동화를 통해 수동 오류를 줄이고 팀이 혁신에 집중할 수 있습니다. 표준화를 통해 팀과 프로젝트 전반에서 프로세스를 반복하고 확장할 수 있습니다.

지속적인 학습과 개선 우선시

지속적인 교육과 실험이 핵심 원칙인 환경을 조성합니다. 팀이 AI 및 ML 발전에 대한 최신 정보를 파악하도록 장려하고 과거 프로젝트에서 배울 기회를 제공합니다. 호기심과 적응의 문화는 혁신을 주도하고 팀이 새로운 과제에 대처할 수 있도록 지원합니다.

책임감과 주인의식 함양

명확하게 정의된 역할, 책임, 성공 측정항목을 통해 신뢰와 조화를 구축합니다. 팀이 이러한 경계 내에서 정보에 입각한 결정을 내릴 수 있도록 지원하고 진행 상황을 측정하는 투명한 방법을 설정하세요. 주인의식은 팀에 동기를 부여하고 결과에 대한 집단적 책임을 보장합니다.

AI 윤리 및 안전 고려사항 포함

개발의 모든 단계에서 윤리적 고려사항을 우선시합니다. 팀이 AI 솔루션의 영향에 대해 비판적으로 생각하도록 장려하고 공정성, 편향, 사회적 영향에 관한 토론을 촉진합니다. 명확한 원칙과 책임 메커니즘을 통해 AI 시스템이 조직의 가치에 부합하고 신뢰를 증진할 수 있습니다.

확장성을 고려하여 설계하기

증가하는 데이터 볼륨과 사용자 요구를 수용하고 AI 투자의 가치를 극대화하려면 AI 및 ML 시스템이 확장 가능해야 합니다. 시스템은 효과를 저해하는 성능 병목 현상을 방지하기 위해 적응하고 최적으로 실행되어야 합니다. 확장성을 고려하여 설계하면 AI 인프라가 성장을 처리하고 응답성을 유지할 수 있습니다. 확장 가능한 인프라를 사용하고, 용량을 계획하고, 수평 확장 및 관리형 서비스와 같은 전략을 활용하세요.

확장성을 위해 AI 및 ML 시스템을 설계하려면 다음 권장사항을 고려하세요.

용량 및 할당량 계획

미래 성장을 평가하고 그에 따라 인프라 용량과 리소스 할당량을 계획합니다. 비즈니스 이해관계자와 협력하여 예상되는 성장률을 파악한 다음 그에 따라 인프라 요구사항을 정의합니다.

Cloud Monitoring을 사용하여 이전 리소스 사용량을 분석하고, 추세를 파악하고, 향후 요구사항을 예측합니다. 정기적으로 부하 테스트를 실행하여 워크로드를 시뮬레이션하고 병목 현상을 식별합니다.

Compute Engine, Vertex AI, Cloud Storage와 같이 사용하는 서비스의 Google Cloud 할당량을 숙지합니다. Google Cloud 콘솔을 통해 선제적으로 할당량 증가를 요청하고 예측 및 부하 테스트의 데이터를 사용하여 증가를 정당화합니다. 할당량 사용량을 모니터링하고 사용량이 할당량 한도에 가까워지면 알림을 받도록 알림을 설정합니다.

수요에 따라 리소스 사용량을 최적화하려면 리소스의 크기를 적절하게 조정하고, 내결함성 일괄 워크로드에 스팟 VM을 사용하고, 자동 확장을 구현하세요.

최고 이벤트 대비

시스템이 피크 이벤트 중에 트래픽이나 워크로드의 갑작스러운 급증을 처리할 수 있는지 확인합니다. 최고조 이벤트 전략을 문서화하고 정기적으로 훈련을 실시하여 시스템의 부하 증가 처리 능력을 테스트합니다.

수요가 급증할 때 리소스를 적극적으로 확장하려면 Compute EngineGKE에서 자동 확장 정책을 구성하세요. 예측 가능한 피크 패턴의 경우 예측 자동 확장을 사용하는 것이 좋습니다. 애플리케이션별 신호를 기반으로 자동 확장을 트리거하려면 Cloud Monitoring에서 커스텀 측정항목을 사용하세요.

Cloud Load Balancing을 사용하여 여러 애플리케이션 인스턴스에 트래픽을 분산합니다. 애플리케이션의 요구사항에 따라 적절한 부하 분산기 유형을 선택합니다. 지리적으로 분산된 사용자의 경우 전역 부하 분산을 사용하여 트래픽을 사용 가능한 가장 가까운 인스턴스로 라우팅할 수 있습니다. 복잡한 마이크로서비스 기반 아키텍처의 경우 Cloud Service Mesh를 사용하는 것이 좋습니다.

Cloud CDN을 사용하여 Google 네트워크의 에지에서 정적 콘텐츠를 캐시합니다. 자주 액세스하는 데이터를 캐시하려면 Redis, Valkey 또는 Memcached용 완전 관리형 인메모리 서비스를 제공하는 Memorystore를 사용하면 됩니다.

실시간 메시징에는 Pub/Sub를 사용하고 비동기 작업 실행에는 Cloud Tasks를 사용하여 시스템 구성요소를 분리합니다.

프로덕션을 위한 애플리케이션 확장

프로덕션에서 확장 가능한 서빙을 보장하려면 Vertex AI 분산 학습Vertex AI 추론과 같은 관리형 서비스를 사용하면 됩니다. Vertex AI 추론을 사용하면 모델을 엔드포인트에 배포하거나 배치 예측을 요청할 때 예측 노드의 머신 유형을 구성할 수 있습니다. 일부 구성의 경우 GPU를 추가할 수 있습니다. 적절한 머신 유형과 가속기를 선택하여 지연 시간, 처리량, 비용을 최적화합니다.

분산 컴퓨팅 리소스에서 복잡한 AI 및 Python 애플리케이션과 맞춤 워크로드를 확장하려면 Vertex AI 기반 Ray를 사용하면 됩니다. 이 기능은 성능을 최적화하고Google Cloud 서비스와의 원활한 통합을 지원합니다. Vertex AI의 Ray는 클러스터 관리, 작업 예약, 데이터 전송을 처리하여 분산 컴퓨팅을 간소화합니다. 학습, 예측, 파이프라인과 같은 다른 Vertex AI 서비스와 통합됩니다. Ray는 내결함성 및 자동 확장을 제공하며 변화하는 워크로드에 인프라를 적응시키는 데 도움이 됩니다. 분산 학습, 하이퍼파라미터 조정, 강화 학습, 모델 서빙을 위한 통합 프레임워크를 제공합니다. Dataflow 또는 Dataproc을 사용한 분산 데이터 사전 처리, 가속화된 모델 학습, 확장 가능한 하이퍼파라미터 조정, 강화 학습, 병렬화된 일괄 예측에 Ray를 사용합니다.

참여자

저자:

기타 참여자:

AI 및 ML 관점: 보안

Well-Architected Framework: AI 및 ML 관점의 이 문서에서는 AI 및 ML 배포가 조직의 보안 및 규정 준수 요구사항을 충족하도록 하는 원칙과 권장사항을 개략적으로 설명합니다. 이 문서의 권장사항은 Google Cloud Well-Architected 프레임워크의 보안 분야와 일치합니다.

AI 및 ML 워크로드의 안전한 배포는 특히 엔터프라이즈 환경에서 중요한 요구사항입니다. 이 요구사항을 충족하려면 AI 및 ML 솔루션의 초기 개념화부터 개발, 배포, 지속적인 운영에 이르기까지 전반적인 보안 접근 방식을 채택해야 합니다. Google Cloud 는 AI 및 ML 워크로드를 보호하는 데 도움이 되도록 설계된 강력한 도구와 서비스를 제공합니다.

명확한 목표와 요구사항 정의

설계 및 개발 프로세스 초기에 필요한 보안 및 규정 준수 제어를 통합하는 것이 개발 후에 제어를 추가하는 것보다 쉽습니다. 설계 및 개발 프로세스를 시작할 때 특정 위험 환경과 특정 비즈니스 우선순위에 적합한 결정을 내립니다.

다음 권장사항을 고려하세요.

  • 잠재적인 공격 벡터를 식별하고 처음부터 보안 및 규정 준수 관점을 채택하세요. AI 시스템을 설계하고 발전시킬 때 공격 표면, 잠재적 위험, 발생할 수 있는 의무를 추적하세요.
  • AI 및 ML 보안 노력을 비즈니스 목표에 맞추고 보안이 전반적인 전략의 필수적인 부분인지 확인하세요. 보안 선택이 주요 비즈니스 목표에 미치는 영향을 파악합니다.

데이터를 안전하게 유지하고 손실 또는 잘못된 처리를 방지합니다.

데이터는 안전하게 보호해야 하는 가치 있고 민감한 애셋입니다. 데이터 보안은 사용자 신뢰를 유지하고, 비즈니스 목표를 지원하고, 규정 준수 요구사항을 충족하는 데 도움이 됩니다.

다음 권장사항을 고려하세요.

  • 비즈니스 목표에 반드시 필요한 데이터가 아닌 데이터는 수집, 보관 또는 사용하지 마세요. 가능하면 합성 데이터 또는 완전히 익명처리된 데이터를 사용하세요.
  • 데이터 수집, 저장, 변환을 모니터링합니다. 모든 데이터 액세스 및 조작 활동의 로그를 유지관리합니다. 로그는 데이터 액세스를 감사하고, 무단 액세스 시도를 감지하고, 원치 않는 액세스를 방지하는 데 도움이 됩니다.
  • 사용자 역할에 따라 다양한 수준의 액세스 권한 (예: 액세스 없음, 읽기 전용 또는 쓰기)을 구현합니다. 최소 권한의 원칙에 따라 권한이 할당되었는지 확인합니다. 사용자에게는 역할 활동을 수행하는 데 필요한 최소한의 권한만 있어야 합니다.
  • 암호화, 보안 경계, 데이터 이동 제한과 같은 조치를 구현합니다. 이러한 조치를 통해 데이터 유출 및 데이터 손실을 방지할 수 있습니다.
  • ML 학습 시스템의 데이터 포이즈닝을 방지합니다.

AI 파이프라인을 안전하게 유지하고 조작을 방지하세요.

AI 및 ML 코드와 코드 정의 파이프라인은 중요한 애셋입니다. 보안이 적용되지 않은 코드는 조작될 수 있으며, 이로 인해 데이터 유출, 규정 준수 실패, 중요한 비즈니스 활동 중단이 발생할 수 있습니다. AI 및 ML 코드를 안전하게 유지하면 모델과 모델 출력의 무결성과 가치를 보장할 수 있습니다.

다음 권장사항을 고려하세요.

  • 모델 개발 중에 종속 항목 관리 또는 입력 유효성 검사 및 정리와 같은 안전한 코딩 관행을 사용하여 취약점을 방지하세요.
  • 파이프라인 코드와 파일, 모델 가중치, 배포 사양과 같은 모델 아티팩트를 무단 액세스로부터 보호합니다. 사용자 역할과 필요에 따라 각 아티팩트에 대해 다양한 액세스 수준을 구현합니다.
  • 애셋 및 파이프라인 실행의 계보 및 추적을 적용합니다. 이 시행을 통해 규정 준수 요구사항을 충족하고 프로덕션 시스템이 손상되지 않도록 할 수 있습니다.

보안 도구 및 아티팩트를 사용하여 보안 시스템에 배포

코드와 모델이 환경에 배포된 도구와 아티팩트에 대한 보안 보증이 포함된 강력한 액세스 제어 시스템이 있는 보안 환경에서 실행되도록 합니다.

다음 권장사항을 고려하세요.

  • 적절한 액세스 제어가 있고 무단 사용이나 조작으로부터 보호되는 안전한 환경에서 모델을 학습시키고 배포하세요.
  • 모델, 소프트웨어 패키지와 같은 AI 관련 아티팩트에 관한 표준 소프트웨어 아티팩트에 대한 공급망 등급 (SLSA) 가이드라인을 따르세요.
  • AI 워크로드용으로 특별히 설계된 검증된 사전 빌드 컨테이너 이미지를 사용하는 것이 좋습니다.

입력 보호 및 모니터링

AI 시스템은 예측을 하거나, 콘텐츠를 생성하거나, 작업을 자동화하기 위해 입력이 필요합니다. 일부 입력은 위험을 초래하거나 감지 및 정리해야 하는 공격 벡터로 사용될 수 있습니다. 잠재적인 악성 입력을 조기에 감지하면 AI 시스템을 안전하게 유지하고 의도한 대로 작동하도록 할 수 있습니다.

다음 권장사항을 고려하세요.

  • 생성형 AI 시스템의 프롬프트를 개발하고 관리하기 위한 보안 관행을 구현하고 프롬프트에 유해한 의도가 있는지 검사합니다.
  • 예측 또는 생성 시스템에 대한 입력을 모니터링하여 과부하된 엔드포인트나 시스템이 처리하도록 설계되지 않은 프롬프트와 같은 문제를 방지합니다.
  • 배포된 시스템의 의도된 사용자만 시스템을 사용할 수 있는지 확인합니다.

출력을 모니터링, 평가하고 출력에 대응할 준비

AI 시스템은 인간의 의사 결정을 보강, 최적화 또는 자동화하는 출력을 생성하므로 가치를 제공합니다. AI 시스템과 애플리케이션의 무결성과 신뢰성을 유지하려면 출력이 안전하고 예상 매개변수 내에 있는지 확인해야 합니다. 또한 인시던트에 대응하기 위한 계획도 필요합니다.

다음 권장사항을 고려하세요.

  • 프로덕션에서 AI 및 ML 모델의 출력을 모니터링하고 성능, 보안, 규정 준수 문제를 식별합니다.
  • 범위 외 생성형 응답 또는 예측 모델의 극단적인 출력을 식별하는 등 강력한 측정항목과 보안 조치를 구현하여 모델 성능을 평가합니다. 모델 성능에 대한 사용자 피드백을 수집합니다.
  • 잠재적인 문제를 해결하기 위해 강력한 알림 및 사고 대응 절차를 구현합니다.

참여자

저자:

기타 참여자:

AI 및 ML 관점: 안정성

Google Cloud Well-Architected Framework: AI 및 ML 관점의 이 문서에서는 Google Cloud에서 안정적인 AI 및 ML 시스템을 설계하고 운영하기 위한 원칙과 권장사항을 개략적으로 설명합니다. 고급 신뢰성 관행과 관측 가능성을 아키텍처 청사진에 통합하는 방법을 살펴봅니다. 이 문서의 권장사항은 Google Cloud Well-Architected 프레임워크의 안정성 분야와 일치합니다.

빠르게 진화하는 AI 및 ML 환경에서 고객 만족도를 높이고 비즈니스 목표를 달성하려면 안정적인 시스템이 필수적입니다. 예측 ML과 생성형 AI의 고유한 요구사항을 모두 충족하려면 강력하고 안정적이며 적응 가능한 AI 및 ML 시스템이 필요합니다. 개발부터 배포, 지속적인 개선에 이르기까지 MLOps의 복잡성을 처리하려면 안정성 우선 접근 방식을 사용해야 합니다. Google Cloud 는 사이트 안정성 엔지니어링 (SRE) 원칙에 부합하고 안정적인 AI 및 ML 시스템을 위한 강력한 기반을 제공하는 맞춤형 AI 인프라를 제공합니다.

이 문서의 권장사항은 다음 핵심 원칙에 매핑됩니다.

ML 인프라가 확장 가능하고 가용성이 높아야 합니다.

클라우드에서 안정적인 AI 및 ML 시스템을 사용하려면 확장 가능하고 가용성이 높은 인프라가 필요합니다. 이러한 시스템은 동적 요구사항, 다양한 리소스 요구사항, 모델 가용성에 대한 중요한 종속성이 있습니다. 확장 가능한 아키텍처는 변동하는 부하와 데이터 볼륨 또는 추론 요청의 변화에 적응합니다. 고가용성 (HA)은 구성요소, 영역 또는 리전 수준에서 장애에 대한 복원력을 보장하는 데 도움이 됩니다.

확장 가능하고 가용성이 높은 ML 인프라를 빌드하려면 다음 권장사항을 고려하세요.

자동 및 동적 확장 기능 구현

AI 및 ML 워크로드는 데이터 도착률, 학습 빈도, 추론 트래픽 볼륨에 따라 수요가 변동하는 동적인 워크로드입니다. 자동 및 동적 확장을 통해 인프라 리소스를 수요 변동에 원활하게 적응시킬 수 있습니다. 워크로드를 효과적으로 확장하면 다운타임을 방지하고, 성능을 유지하고, 비용을 최적화할 수 있습니다.

AI 및 ML 워크로드를 자동 확장하려면 Google Cloud에서 다음 제품과 기능을 사용하세요.

  • 데이터 처리 파이프라인: Dataflow에서 데이터 파이프라인을 만듭니다. CPU 사용률, 파이프라인 병렬 처리, 대기 중인 데이터를 기반으로 작업자 인스턴스 수를 동적으로 조정하는 Dataflow의 수평 자동 확장 기능을 사용하도록 파이프라인을 구성합니다. 작업을 실행할 때 파이프라인 옵션을 통해 자동 확장 매개변수를 구성할 수 있습니다.
  • 학습 작업: Vertex AI 커스텀 학습을 사용하여 학습 작업의 확장/축소를 자동화합니다. 머신 유형, 가속기 유형 및 수, 작업자 풀 수와 같은 작업자 풀 사양을 정의할 수 있습니다. 중단을 허용할 수 있는 작업과 학습 코드에서 체크포인트를 구현하는 작업의 경우 스팟 VM을 사용하여 비용을 절감할 수 있습니다.
  • 온라인 추론: 온라인 추론의 경우 Vertex AI 엔드포인트를 사용합니다. 자동 확장을 사용 설정하려면 최소 및 최대 복제본 수를 구성합니다. 고가용성을 위해 복제본을 2개 이상 지정합니다. Vertex AI는 트래픽과 CPU 사용률, 복제본 사용률과 같은 구성된 자동 확장 측정항목을 기반으로 복제본 수를 자동으로 조정합니다.
  • Google Kubernetes Engine의 컨테이너화된 워크로드: 노드 및 포드 수준에서 자동 확장을 구성합니다. 클러스터 자동 확장 처리기노드 자동 프로비저닝을 구성하여 CPU, 메모리, GPU, TPU와 같은 대기 중인 포드 리소스 요청에 따라 노드 수를 조정합니다. 배포에 수평형 포드 자동 확장 처리 (HPA)를 사용하여 CPU 및 메모리 사용률과 같은 측정항목을 기반으로 확장 정책을 정의합니다. GPU 또는 TPU 사용률, 초당 예측 요청 수와 같은 맞춤 AI 및 ML 측정항목을 기반으로 확장할 수도 있습니다.
  • 서버리스 컨테이너화된 서비스: Cloud Run에 서비스를 배포하고 컨테이너 인스턴스의 최소 및 최대 수를 지정하여 자동 확장을 구성합니다. 권장사항을 사용하여 가속기 유형을 지정하여 GPU 지원 인스턴스를 자동 확장합니다. Cloud Run은 수신 요청에 따라 구성된 최소 및 최대 한도 사이에서 인스턴스를 자동으로 확장합니다. 요청이 없으면 인스턴스 0개로 효율적으로 확장됩니다. Cloud Run의 자동 요청 기반 확장 기능을 활용하여 Vertex AI 에이전트를 배포하고 Ollama를 사용하는 양자화된 모델, vLLM을 사용하는 LLM 모델 추론, Huggingface Text Generation Inference (TGI)와 같은 서드 파티 워크로드를 배포할 수 있습니다.

HA 및 내결함성을 위한 설계

프로덕션 등급 AI 및 ML 워크로드의 경우 지속적인 운영과 장애에 대한 복원력을 보장하는 것이 중요합니다. HA 및 내결함성을 구현하려면 Google Cloud에서 아키텍처에 중복 및 복제를 빌드해야 합니다. 이 접근 방식은 개별 구성요소의 장애가 전체 시스템의 장애를 일으키지 않도록 하는 데 도움이 됩니다.

Google Cloud에서 중요한 AI 및 ML 구성요소의 중복성을 구현합니다. 다음은 리소스 중복을 구현할 수 있는 제품 및 기능의 예입니다.

  • 여러 영역에 GKE 리전 클러스터를 배포합니다.
  • Cloud Storage 멀티 리전 또는 이중 리전 버킷을 사용하여 데이터 세트 및 체크포인트의 데이터 중복을 보장합니다.
  • 전역적으로 일관되고 가용성이 높은 메타데이터 스토리지를 위해 Spanner를 사용합니다.
  • 운영 데이터베이스용 Cloud SQL 읽기 복제본을 구성합니다.
  • 검색 증강 생성 (RAG)을 위한 벡터 데이터베이스가 고가용성이며 멀티 영역 또는 멀티 리전인지 확인합니다.

선제적으로 리소스를 관리하고 요구사항 예측

효과적인 리소스 관리는 비용, 성능, 안정성을 최적화하는 데 중요합니다. AI 및 ML 워크로드는 동적이며 GPU 및 TPU와 같은 전문 하드웨어에 대한 수요가 높습니다. 따라서 사전 예방적 리소스 관리를 적용하고 리소스 가용성을 보장하는 것이 중요합니다.

Cloud Monitoring의 GPU 또는 TPU 사용률 및 처리량과 같은 이전 모니터링 데이터와 Cloud Logging의 로그를 기반으로 용량을 계획합니다. BigQuery 또는 Looker Studio를 사용하여 이 원격 분석 데이터를 분석하고 성장 또는 새 모델을 기반으로 향후 GPU 수요를 예측합니다. 리소스 사용 패턴과 추세를 분석하면 중요한 특수 가속기가 언제 어디에 필요한지 예측할 수 있습니다.

  • 엄격한 부하 테스트를 통해 용량 추정치를 검증합니다. Apache JMeter 또는 LoadView와 같은 도구를 사용하여 서빙 및 파이프라인과 같은 AI 및 ML 서비스의 트래픽을 시뮬레이션합니다.
  • 스트레스 상태에서 시스템 동작을 분석합니다.
    • 프로덕션에서 증가하는 워크로드 요구사항을 예측하고 충족하려면 리소스 요구사항을 사전에 파악하세요. 지연 시간, 처리량, 오류, 리소스 사용률(특히 GPU 및 TPU 사용률)을 모니터링합니다. 필요에 따라 리소스 할당량을 늘립니다.
    • 생성형 AI 서빙의 경우 높은 동시 부하에서 테스트하고 가속기 가용성이 성능을 제한하는 수준을 식별합니다.
  • 모델 쿼리에 대한 지속적인 모니터링을 수행하고 에이전트에 대한 사전 대응형 알림을 설정합니다.
    • 모델 모니터링 가능성 대시보드를 사용하여 모델의 초당 쿼리 수 (QPS), 토큰 처리량, 최초 토큰 지연 시간과 같이 Cloud Monitoring에서 수집되는 측정항목을 확인합니다.

리소스 가용성 및 획득 가능성 최적화

워크로드 요구사항에 따라 적절한 컴퓨팅 리소스를 전략적으로 선택하여 비용을 최적화하고 리소스 가용성을 보장합니다.

  • 안정적인 24x7 추론 또는 고정되거나 예측 가능한 용량 요구사항이 있는 학습 워크로드의 경우 VM 및 가속기에 약정 사용 할인 (CUD)을 사용하세요.
  • GKE 노드 및 Compute Engine VM의 경우 스팟 VM 및 동적 워크로드 스케줄러 (DWS) 기능을 사용하세요.

    • 평가 및 실험 워크로드와 같은 내결함성 작업에는 Spot VM을 사용합니다. 스팟 VM은 선점될 수 있지만 전체 비용을 줄이는 데 도움이 될 수 있습니다.
    • 수요가 많은 액셀러레이터의 선점 위험을 관리하려면 DWS를 사용하여 획득 가능성을 높이면 됩니다.
      • 최대 7일 동안 실행되는 고급 GPU가 필요한 복잡한 배치 학습의 경우 DWS Flex-Start 모드를 사용하세요.
      • 최대 3개월 동안 실행되는 장기 실행 워크로드의 경우 캘린더 모드를 사용하여 특정 GPU (H100 및 H200)와 TPU (Trillium)를 예약합니다.
  • GKE에서 AI 추론을 최적화하려면 변동하는 용량 및 성능 요구사항을 해결하기 위해 TPU와 GPU를 동적으로 사용하는 vLLM 엔진을 실행하면 됩니다. 자세한 내용은 vLLM GPU/TPU 대체 가능성을 참고하세요.

  • 액셀러레이터가 포함된 복잡한 리소스 및 토폴로지 요구사항이 있는 고급 시나리오의 경우 도구를 사용하여 리소스 관리를 추상화하세요.

    • Cluster Director를 사용하면 다중 GPU 학습 (A3 Ultra H200 및 A4 B200)을 위해 공동 배치 및 예약이 포함된 가속기 그룹을 배포하고 관리할 수 있습니다. Cluster Director는 GKE 및 Slurm 클러스터를 지원합니다.
    • Vertex AI 기반 Ray는 분산 컴퓨팅 인프라를 추상화합니다. 이를 통해 애플리케이션은 VM과 컨테이너를 직접 관리할 필요 없이 학습 및 제공을 위한 리소스를 요청할 수 있습니다.

수신 트래픽을 여러 인스턴스에 분산

효과적인 부하 분산은 수요가 변동하는 AI 애플리케이션에 매우 중요합니다. 부하 분산은 트래픽을 분산하고, 리소스 사용률을 최적화하고, 고가용성 및 짧은 지연 시간을 제공하며, 원활한 사용자 환경을 보장하는 데 도움이 됩니다.

  • 다양한 리소스 요구사항을 사용한 추론: 모델 측정항목을 기반으로 부하 분산을 구현합니다. GKE Inference Gateway를 사용하면 모델 인식 라우팅을 통해 부하 분산기 뒤에 모델을 배포할 수 있습니다. 게이트웨이는 생성형 AI 및 LLM 추론과 같은 컴퓨팅 집약적인 작업을 위해 GPU 및 TPU 가속기가 있는 인스턴스의 우선순위를 지정합니다. 모델 상태를 평가하기 위해 자세한 상태 점검을 구성합니다. LLM 측정항목에 vLLM 또는 Triton과 같은 서빙 프레임워크를 사용하고 Google Cloud Managed Service for Prometheus를 사용하여 측정항목을 Cloud Monitoring에 통합합니다.
  • GPU 또는 TPU가 필요한 추론 워크로드: 특히 GPU 및 TPU 사용 가능 여부가 제한적인 경우 중요한 AI 및 ML 추론 워크로드가 워크로드 요구사항에 적합한 머신에서 일관되게 실행되도록 하려면 GKE 커스텀 컴퓨팅 클래스를 사용하세요. 자동 확장용 대체 정책을 사용하여 특정 컴퓨팅 프로필을 정의할 수 있습니다. 예를 들어 예약된 GPU 또는 TPU 인스턴스의 우선순위를 높게 지정하는 프로필을 정의할 수 있습니다. 프로필에는 예약된 리소스를 일시적으로 사용할 수 없는 경우 비용 효율적인 스팟 VM을 사용하는 대체 옵션이 포함될 수 있습니다.
  • 다양한 오케스트레이션 플랫폼의 생성형 AI: 중앙 집중식 부하 분산기를 사용합니다. 예를 들어 비용 및 관리 효율성을 위해 GPU 요구사항이 낮은 요청은 Cloud Run으로 라우팅하고 더 복잡하고 GPU 집약적인 작업은 GKE로 라우팅할 수 있습니다. 서비스 간 통신 및 정책 관리를 위해 Cloud Service Mesh를 사용하여 서비스 메시를 구현합니다. Cloud Logging 및 Cloud Monitoring을 사용하여 일관된 로깅 및 모니터링을 보장합니다.
  • 전역 부하 분산: 지연 시간이 짧아야 하는 전 세계 사용자의 트래픽을 부하 분산하려면 전역 외부 애플리케이션 부하 분산기를 사용하세요. 가장 가까운 리전으로 위치정보 라우팅을 구성하고 장애 조치를 구현합니다. Vertex AI 또는 GKE에서 리전 엔드포인트 복제를 설정합니다. 정적 애셋에 대해 Cloud CDN을 구성합니다. Cloud Monitoring을 사용하여 전역 트래픽과 지연 시간을 모니터링합니다.
  • 세부적인 트래픽 관리: 데이터 유형이나 복잡성이 다양하고 장기 실행 요청이 있는 요청의 경우 세부적인 트래픽 관리를 구현합니다.
    • URL 경로 및 헤더와 같은 속성을 기반으로 요청을 전문 백엔드로 전달하도록 콘텐츠 기반 라우팅을 구성합니다. 예를 들어 이미지 또는 동영상 모델의 경우 GPU 지원 백엔드에 직접 요청하고 텍스트 기반 모델의 경우 CPU 최적화 백엔드에 직접 요청합니다.
    • 장기 실행 생성형 AI 요청 또는 일괄 워크로드의 경우 WebSockets 또는 gRPC를 사용하세요. 트래픽 관리를 구현하여 타임아웃과 버퍼링을 처리합니다. API Gateway 또는 Apigee를 사용하여 요청 시간 제한 및 재시도를 구성하고 비율 제한 및 할당량을 구현합니다.

모듈화되고 느슨하게 결합된 아키텍처 사용

모듈식의 느슨하게 결합된 AI 및 ML 아키텍처에서 복잡한 시스템은 잘 정의된 인터페이스를 통해 상호작용하는 더 작고 자체 포함된 구성요소로 나뉩니다. 이 아키텍처는 모듈 종속 항목을 최소화하고 개발 및 테스트를 간소화하며 재현성을 향상하고 오류를 포함하여 내결함성을 개선합니다. 모듈식 접근 방식은 복잡성을 관리하고, 혁신을 가속화하며, 장기적인 유지관리 가능성을 보장하는 데 중요합니다.

AI 및 ML 워크로드용 모듈식의 느슨하게 결합된 아키텍처를 설계하려면 다음 권장사항을 고려하세요.

작은 자체 포함 모듈 또는 구성요소 구현

엔드 투 엔드 AI 및 ML 시스템을 작고 독립적인 모듈이나 구성요소로 분리합니다. 각 모듈 또는 구성요소는 데이터 수집, 기능 변환, 모델 학습, 추론 제공 또는 평가와 같은 특정 기능을 담당합니다. 모듈식 설계는 AI 및 ML 시스템에 유지 관리성 향상, 확장성 증가, 재사용성, 유연성 및 민첩성 향상 등 여러 가지 주요 이점을 제공합니다.

다음 섹션에서는 Google Cloud AI 및 ML 시스템의 모듈식 아키텍처를 설계하는 데 사용할 수 있는 제품, 기능, 도구를 설명합니다.

GKE의 컨테이너화된 마이크로서비스

복잡한 AI 및 ML 시스템이나 세부적인 조정이 필요한 복잡한 생성형 AI 파이프라인의 경우 GKE를 사용하여 조정되는 마이크로서비스로 모듈을 구현합니다. 각 개별 단계를 Docker 컨테이너 내의 개별 마이크로서비스로 패키징합니다. 이러한 고유한 단계에는 다양한 형식에 맞게 조정된 데이터 수집, 전문 데이터 전처리 또는 특성 추출, 대규모 기본 모델의 분산 모델 학습 또는 미세 조정, 평가 또는 서빙이 포함됩니다.

컨테이너화된 마이크로서비스를 GKE에 배포하고 CPU 및 메모리 사용률 또는 GPU 사용률과 같은 맞춤 측정항목, 순차적 업데이트, YAML 매니페스트의 재현 가능한 구성을 기반으로 자동 확장을 활용합니다. GKE 서비스 검색을 사용하여 마이크로서비스 간의 효율적인 통신을 보장합니다. 비동기 패턴의 경우 Pub/Sub와 같은 메시지 큐를 사용합니다.

GKE의 마이크로서비스 접근 방식을 사용하면 단계를 별도의 서비스로 설계할 수 있는 복잡한 RAG 애플리케이션과 같은 작업을 위한 확장 가능하고 복원력이 뛰어난 플랫폼을 빌드할 수 있습니다.

서버리스 이벤트 기반 서비스

서버리스 자동 확장의 이점을 누릴 수 있는 이벤트 기반 작업에는 Cloud Run 또는 Cloud Run 함수를 사용하세요. 이러한 서비스는 전처리 같은 비동기 작업이나 소규모 추론 작업에 적합합니다. Cloud Storage에 생성된 새 데이터 파일이나 Artifact Registry의 모델 업데이트와 같은 이벤트에서 Cloud Run 함수를 트리거합니다. 컨테이너 환경이 필요한 웹훅 작업 또는 서비스의 경우 Cloud Run을 사용하세요.

Cloud Run 서비스와 Cloud Run 함수는 빠르게 확장하고 0으로 축소할 수 있으므로 변동하는 워크로드의 비용 효율성을 보장하는 데 도움이 됩니다. 이러한 서비스는 Vertex AI 에이전트 워크플로의 모듈식 구성요소에 적합합니다. 워크플로 또는 Application Integration을 사용하여 구성요소 시퀀스를 조정할 수 있습니다.

Vertex AI 관리형 서비스

Vertex AI 서비스는 모듈성을 지원하며 AI 및 ML 시스템의 개발 및 배포를 간소화하는 데 도움이 됩니다. 서비스는 인프라 복잡성을 추상화하므로 애플리케이션 로직에 집중할 수 있습니다.

  • 모듈식 단계로 빌드된 워크플로를 조정하려면 Vertex AI Pipelines를 사용하세요.
  • 커스텀 AI 및 ML 코드를 실행하려면 Vertex AI 커스텀 학습 및 Vertex AI 예측과 같은 관리형 서비스에서 실행할 수 있는 Docker 컨테이너에 코드를 패키징하세요.
  • 모듈식 특성 엔지니어링 파이프라인의 경우 Vertex AI Feature Store를 사용하세요.
  • 모듈식 탐색 및 프로토타입 제작에는 Vertex AI Workbench 또는 Colab Enterprise와 같은 노트북 환경을 사용하세요. 코드를 재사용 가능한 함수, 클래스, 스크립트로 정리합니다.

에이전트형 애플리케이션

AI 에이전트의 경우 에이전트 개발 키트 (ADK)도구상태와 같은 모듈식 기능을 제공합니다. LangChain, LangGraph, LlamaIndex, Vertex AI와 같은 프레임워크 간의 상호 운용성을 사용 설정하려면 ADK를 Agent2Agent (A2A) 프로토콜Model Context Protocol (MCP)과 결합하면 됩니다. 이 상호 운용성을 통해 다양한 구성요소를 사용하여 에이전트 워크플로를 구성할 수 있습니다.

확장 가능한 에이전트 배포에 최적화된 관리형 런타임인 Vertex AI Agent Engine에 에이전트를 배포할 수 있습니다. 컨테이너화된 에이전트를 실행하려면 Cloud Run의 자동 확장 기능을 활용하면 됩니다.

잘 정의된 인터페이스 설계

강력하고 유지관리 가능한 소프트웨어 시스템을 빌드하려면 시스템 구성요소가 느슨하게 결합되고 모듈화되어야 합니다. 이 접근 방식은 시스템의 여러 부분 간 종속성을 최소화하므로 상당한 이점을 제공합니다. 모듈이 느슨하게 결합되면 한 모듈의 변경사항이 다른 모듈에 미치는 영향이 최소화됩니다. 이 격리를 통해 개별 모듈의 독립적인 업데이트와 개발 워크플로가 가능합니다.

다음 섹션에서는 AI 및 ML 시스템의 모듈 간 원활한 통신과 통합을 보장하는 데 도움이 되는 가이드를 제공합니다.

프로토콜 선택

  • 범용 액세스를 위해서는 HTTP API를 사용하고, RESTful 원칙을 준수하며, 언어에 구애받지 않는 데이터 교환을 위해 JSON을 사용하세요. 리소스에 대한 작업을 나타내도록 API 엔드포인트를 설계합니다.
  • 마이크로서비스 간의 고성능 내부 통신에는 효율적인 직렬화와 엄격한 타이핑을 위해 프로토콜 버퍼 (ProtoBuf)와 함께 gRPC를 사용하세요. .proto 파일을 사용하여 ModelInput, PredictionResult, ADK Tool 데이터와 같은 데이터 구조를 정의한 다음 언어 바인딩을 생성합니다.
  • 성능이 중요한 사용 사례의 경우 대규모 데이터 세트 또는 실시간 텍스트 음성 변환이나 동영상 애플리케이션과 같은 연속 흐름에 gRPC 스트리밍을 활용하세요. GKE에 gRPC 서비스를 배포합니다.

표준화되고 포괄적인 문서

선택한 인터페이스 프로토콜과 관계없이 표준화된 문서가 중요합니다. OpenAPI 사양은 RESTful API를 설명합니다. OpenAPI를 사용하여 AI 및 ML API(경로, 메서드, 매개변수, JSON 스키마에 연결된 요청-응답 형식, 보안)를 문서화합니다. 포괄적인 API 문서는 검색 가능성과 클라이언트 통합을 개선하는 데 도움이 됩니다. API 작성 및 시각화에는 Swagger Editor와 같은 UI 도구를 사용합니다. 개발을 가속화하고 일관성을 유지하려면 Gemini Code Assist와 같은 AI 지원 코딩 도구를 사용하여 클라이언트 SDK와 서버 스텁을 생성하면 됩니다. OpenAPI 문서를 CI/CD 흐름에 통합합니다.

Vertex AI와 같은 Google Cloud 관리형 서비스와의 상호작용

개발 생산성에 적합한 Vertex AI SDK의 높은 추상화와 REST API가 제공하는 세부적인 제어 중에서 선택합니다.

  • Vertex AI SDK는 작업과 인증을 간소화합니다. Vertex AI와 상호작용해야 하는 경우 SDK를 사용합니다.
  • REST API는 특히 시스템의 레이어 간에 상호 운용성이 필요한 경우 강력한 대안입니다. SDK가 없는 언어의 도구에 유용하며 세부적인 제어가 필요한 경우에도 유용합니다.

API를 사용하여 모듈을 격리하고 구현 세부정보를 추상화

보안, 확장성, 가시성을 위해 AI 및 ML 서비스에 강력한 API 관리를 구현하는 것이 중요합니다. 정의된 인터페이스에 API 관리를 구현하려면 다음 제품을 사용하세요.

  • API 게이트웨이: 외부에 노출되고 관리되는 API의 경우 API 게이트웨이는 중앙 집중식의 안전한 진입점을 제공합니다. 예측, 학습, 데이터 API와 같은 서버리스 백엔드 서비스에 대한 액세스를 간소화합니다. API 게이트웨이는 액세스 포인트를 통합하고, API 계약을 적용하고, API 키 및 OAuth 2.0과 같은 보안 기능을 관리하는 데 도움이 됩니다. 백엔드의 과부하를 방지하고 안정성을 보장하려면 API Gateway에서 비율 제한 및 사용량 할당량을 구현하세요.
  • Cloud Endpoints: GKE 및 Cloud Run에서 API 개발 및 배포를 간소화하려면 API 키를 생성하는 개발자 친화적인 솔루션을 제공하는 Cloud Endpoints를 사용하세요. 또한 API 호출을 위한 통합 모니터링 및 추적을 제공하고 OpenAPI 사양 생성을 자동화하여 문서화 및 클라이언트 통합을 간소화합니다. Cloud Endpoints를 사용하여 학습을 트리거하고 기능 저장소를 관리하는 등 내부 또는 제어된 AI 및 ML API에 대한 액세스를 관리할 수 있습니다.
  • Apigee: 엔터프라이즈 규모의 AI 및 ML, 특히 정교한 생성형 AI API의 경우 Apigee는 고급의 포괄적인 API 관리를 제공합니다. Apigee를 사용하여 위협 보호 및 OAuth 2.0과 같은 고급 보안, 캐싱, 할당량, 중재와 같은 트래픽 관리, 분석을 수행합니다. Apigee는 생성형 AI API 사용을 이해하는 데 중요한 API 사용 패턴, 성능, 참여도에 대한 심층적인 통계를 얻는 데 도움이 됩니다.

단계적 성능 저하 계획

프로덕션 AI 및 ML 시스템에서는 다른 시스템과 마찬가지로 구성요소 장애가 불가피합니다. 단계적 성능 저하를 통해 필수 기능이 계속 작동할 수 있으며, 성능이 저하될 수도 있습니다. 이 접근 방식을 사용하면 완전한 서비스 중단을 방지하고 전반적인 가용성을 개선할 수 있습니다. 그레이스풀 디그레이션은 지연 시간에 민감한 추론, 분산 학습, 생성형 AI에 매우 중요합니다.

다음 섹션에서는 점진적 성능 저하를 계획하고 구현하는 데 사용하는 기법을 설명합니다.

결함 격리

  • 분산 아키텍처에서 결함이 있는 구성요소를 격리하려면 Java의 Resilience4j 및 Python의 CircuitBreaker와 같은 복원력 라이브러리를 사용하여 서킷 브레이커 패턴을 구현하세요.
  • 연속 장애를 방지하려면 오류율, 지연 시간과 같은 AI 및 ML 워크로드 측정항목을 기반으로 임계값을 구성하고 더 간단한 모델, 캐시된 데이터와 같은 대체를 정의하세요.

구성요소 중복

중요한 구성요소의 경우 중복 및 자동 장애 조치를 구현합니다. 예를 들어 GKE 다중 영역 클러스터 또는 리전별 클러스터를 사용하고 여러 리전에 Cloud Run 서비스를 중복 배포합니다. 비정상 인스턴스가 감지될 때 정상 인스턴스로 트래픽을 라우팅하려면 Cloud Load Balancing을 사용하세요.

Cloud Storage 멀티 리전 버킷을 사용하여 데이터 중복성을 보장합니다. 분산 학습의 경우 장애 발생 후 재개할 수 있도록 비동기 체크포인트를 구현합니다. 복원력 있고 탄력적인 학습에는 Pathways를 사용합니다.

사전 예방적 모니터링

정상적인 성능 저하는 오류 발생 시 시스템 가용성을 보장하는 데 도움이 되지만, 지속적인 상태 점검과 포괄적인 모니터링을 위한 사전 조치도 구현해야 합니다. 지연 시간, 처리량, GPU 사용률과 같은 AI 및 ML 관련 측정항목을 수집합니다. 또한 Cloud Monitoring 및 Vertex AI Model Monitoring을 사용하여 모델 및 데이터 드리프트와 같은 모델 성능 저하 측정항목을 수집합니다.

상태 점검을 통해 결함이 있는 노드를 교체하거나, 용량을 추가로 배포하거나, 업데이트된 데이터를 사용하는 파이프라인의 지속적인 재학습 또는 미세 조정이 자동으로 트리거될 수 있습니다. 이 사전 예방적 접근 방식은 정확도 기반 성능 저하와 시스템 수준의 점진적 성능 저하를 모두 방지하고 전반적인 안정성을 향상하는 데 도움이 됩니다.

SRE 관행

시스템 상태를 모니터링하려면 SRE 관행을 채택하여 서비스 수준 목표 (SLO)를 구현하는 것이 좋습니다. 오류 예산 손실 및 소진율에 대한 알림은 시스템의 안정성 문제를 나타내는 조기 지표가 될 수 있습니다. SRE 관행에 대한 자세한 내용은 Google SRE 도서를 참고하세요.

자동화된 엔드 투 엔드 MLOps 플랫폼 빌드

강력하고 확장 가능하며 안정적인 AI 및 ML 시스템을 Google Cloud 구축하려면 모델 개발 수명 주기를 위한 자동화된 엔드 투 엔드 MLOps 플랫폼이 필요합니다. 개발 수명 주기에는 초기 데이터 처리, 지속적인 모델 학습, 프로덕션 배포 및 모니터링이 포함됩니다. Google Cloud에서 이러한 단계를 자동화하면 반복 가능한 프로세스를 설정하고, 수동 작업을 줄이며, 오류를 최소화하고, 혁신 속도를 높일 수 있습니다.

애플리케이션의 프로덕션 등급 신뢰성을 설정하려면 자동화된 MLOps 플랫폼이 필수입니다. 자동화는 모델 품질을 보장하고, 재현성을 보장하며, AI 및 ML 아티팩트의 지속적인 통합 및 배포를 지원합니다.

자동화된 엔드 투 엔드 MLOps 플랫폼을 빌드하려면 다음 권장사항을 고려하세요.

모델 개발 수명 주기 자동화

자동화된 MLOps 플랫폼의 핵심 요소는 데이터 준비 및 검증부터 모델 학습, 평가, 배포, 모니터링에 이르기까지 전체 AI 및 ML 워크플로를 연결된 자동화된 단계의 시리즈로 조정하는 것입니다.

  • Vertex AI Pipelines를 중앙 조정자로 사용합니다.
    • 데이터 처리, 학습, 평가, 배포를 위한 모듈식 구성요소로 엔드 투 엔드 워크플로를 정의합니다.
    • 새 데이터 또는 코드 변경과 같은 일정이나 트리거를 사용하여 파이프라인 실행을 자동화합니다.
    • 각 파이프라인 실행에 대해 자동화된 매개변수화 및 버전 관리를 구현하고 버전 기록을 만듭니다.
    • 기본 제공 로깅 및 추적을 사용하여 파이프라인 진행 상황과 리소스 사용량을 모니터링하고 Cloud Monitoring 알림과 통합합니다.
  • Kubeflow Pipelines (KFP) SDK 또는 TensorFlow Extended SDK를 사용하여 프로그래매틱 방식으로 ML 파이프라인을 정의합니다. 자세한 내용은 Vertex AI Pipelines 인터페이스를 참고하세요.
  • Dataflow, Vertex AI 커스텀 학습, Vertex AI Model Registry, Vertex AI 엔드포인트와 같은 Google Cloud 서비스를 사용하여 작업을 오케스트레이션합니다.
  • 생성형 AI 워크플로의 경우 프롬프트 관리, 일괄 추론, 인간 참여형 (HITL) 평가, ADK 구성요소 조정 단계를 조정합니다.

코드형 인프라 관리

코드형 인프라 (IaC)는 AI 및 ML 시스템 인프라를 관리하고 재현 가능하고 확장 가능하며 유지관리 가능한 배포를 지원하는 데 매우 중요합니다. AI 및 ML 시스템의 인프라 요구사항은 동적이고 복잡합니다. 이러한 시스템에는 GPU, TPU와 같은 전문 하드웨어가 필요한 경우가 많습니다. IaC는 일관성을 보장하고, 롤백을 지원하고, 배포를 반복 가능하게 만들어 수동 인프라 관리의 위험을 완화하는 데 도움이 됩니다.

인프라 리소스를 코드로 효과적으로 관리하려면 다음 기법을 사용하세요.

리소스 프로비저닝 자동화

Google Cloud에서 IaC를 효과적으로 관리하려면 Terraform을 사용하여 AI 및 ML 인프라 리소스를 정의하고 프로비저닝하세요. 인프라에는 다음과 같은 리소스가 포함될 수 있습니다.

  • 노드 풀로 구성된 GKE 클러스터 노드 풀은 워크로드 요구사항에 따라 최적화할 수 있습니다. 예를 들어 학습에는 A100, H100, H200 또는 B200 GPU를 사용하고 추론에는 L4 GPU를 사용할 수 있습니다.
  • 모델 서빙을 위해 구성되고 머신 유형과 확장 정책이 정의된 Vertex AI 엔드포인트
  • 데이터 및 아티팩트용 Cloud Storage 버킷

구성 템플릿 사용

Terraform 구성을 모듈식 템플릿으로 정리합니다. AI 및 ML 리소스의 프로비저닝을 가속화하려면 Cluster Toolkit을 사용하면 됩니다. 이 툴킷은 Slurm 또는 GKE에서 바로 사용할 수 있는 HPC, AI, ML 클러스터를 배포하는 데 사용할 수 있는 Google 선별 Terraform 템플릿인 예시 청사진을 제공합니다. Terraform 코드를 맞춤설정하고 버전 제어 시스템에서 관리할 수 있습니다. 리소스 프로비저닝 및 업데이트 워크플로를 자동화하려면 Cloud Build를 사용하여 코드를 CI/CD 파이프라인에 통합하면 됩니다.

구성 변경 자동화

인프라를 프로비저닝한 후에는 지속적인 구성 변경사항을 선언적으로 관리합니다.

  • Kubernetes 중심 환경에서는 구성 커넥터를 사용하여 Google Cloud리소스를 Kubernetes 객체로 관리합니다.
  • YAML 매니페스트를 사용하여 데이터 세트, 모델, 엔드포인트, Cloud SQL 인스턴스, Pub/Sub 주제, Cloud Storage 버킷과 같은 Vertex AI 리소스를 정의하고 관리합니다.
  • 애플리케이션 및 인프라 구성을 통합하기 위해 매니페스트를 GKE 클러스터에 배포합니다.
  • CI/CD 파이프라인을 사용하여 구성 업데이트를 자동화하고 템플릿을 사용하여 환경 차이를 처리합니다.
  • IaC를 사용하여 ID 및 액세스 관리 (IAM) 정책 및 서비스 계정의 구성을 구현합니다.

CI/CD와 통합

  • Cloud BuildInfrastructure Manager와 같은 도구를 사용하여 IaC를 CI/CD 파이프라인에 통합하여 인프라 리소스의 수명 주기를 자동화합니다. Google Cloud
  • 코드 커밋 시 자동 업데이트 트리거를 정의합니다.
  • 파이프라인 내에서 자동 테스트 및 유효성 검사를 구현합니다. 예를 들어 Terraform validateplan 명령어를 자동으로 실행하는 스크립트를 만들 수 있습니다.
  • 구성을 아티팩트로 저장하고 버전 관리를 사용 설정합니다.
  • 버전 관리에서 고유한 구성으로 개발, 스테이징, 프로덕션과 같은 별도의 환경을 정의하고 환경 승격을 자동화합니다.

모델 동작 검증

시간이 지남에 따라 모델의 정확성과 관련성을 유지하려면 MLOps 플랫폼 내에서 학습 및 평가 프로세스를 자동화하세요. 이 자동화는 엄격한 검증과 결합되어 모델이 프로덕션에 배포되기 전에 관련 데이터로 예상대로 작동하도록 지원합니다.

  • 새 데이터와 데이터 드리프트와 같은 모니터링 신호에 의해 트리거되거나 일정에 따라 실행되는 지속적 학습 파이프라인을 설정합니다.
    • 초매개변수 조정 트라이얼, 대형 모델의 분산 학습 구성과 같은 자동화된 학습 작업을 관리하려면 Vertex AI 커스텀 학습을 사용하세요.
    • 파운데이션 모델을 세부 조정하는 경우 세부 조정 프로세스를 자동화하고 작업을 파이프라인에 통합하세요.
  • 자동화된 모델 버전 관리를 구현하고 학습이 성공적으로 실행될 때마다 학습된 모델 아티팩트를 안전하게 저장합니다. 아티팩트를 Cloud Storage에 저장하거나 모델 레지스트리에 등록할 수 있습니다.
  • 평가 지표를 정의하고 최소 정확도, 최대 오류율, 최소 F1 점수와 같은 명확한 기준을 설정합니다.
    • 모델이 평가를 자동으로 통과하고 배포 대상으로 고려될 수 있는 기준을 충족하는지 확인합니다.
    • Vertex AI의 모델 평가와 같은 서비스를 사용하여 평가를 자동화합니다.
    • 평가에 생성된 출력의 품질, 사실에 기반한 정확성, 안전 속성, 지정된 스타일 또는 형식 준수와 관련된 측정항목이 포함되어 있는지 확인합니다.
  • 각 학습 및 평가 실행의 파라미터, 코드 버전, 데이터 세트 버전, 결과를 자동으로 로깅하고 추적하려면 Vertex AI Experiments를 사용하세요. 이 접근 방식은 비교, 디버깅, 재현에 유용한 기록을 제공합니다.
  • 초매개변수 미세 조정을 최적화하고 정의된 목표에 따라 최적의 모델 구성을 자동으로 검색하려면 Vertex AI Vizier를 사용하세요.
  • 개발 중에 학습 측정항목을 시각화하고 디버그하려면 Vertex AI TensorBoard를 사용하세요.

AI 및 ML 파이프라인의 입력 및 출력 검증

AI 및 ML 시스템의 신뢰성과 무결성을 보장하려면 데이터가 시스템에 입력되고 파이프라인을 통해 이동할 때 데이터를 검증해야 합니다. 구성요소 경계에서 입력과 출력을 확인해야 합니다. 모든 입력과 출력(원시 데이터, 처리된 데이터, 구성, 인수, 파일)을 강력하게 검증하면 예기치 않은 동작을 방지하고 MLOps 수명 주기 전반에 걸쳐 모델 품질을 유지하는 데 도움이 됩니다. 이 선제적 접근 방식을 MLOps 플랫폼에 통합하면 오류가 시스템 전체에 전파되기 전에 감지할 수 있어 시간과 리소스를 절약할 수 있습니다.

AI 및 ML 파이프라인의 입력과 출력을 효과적으로 검증하려면 다음 기법을 사용하세요.

데이터 검증 자동화

  • TensorFlow 데이터 검증 (TFDV)을 사용하여 데이터 수집 및 전처리 파이프라인에서 자동화된 데이터 검증을 구현합니다.
    • 대규모 SQL 기반 데이터 품질 검사의 경우 BigQuery와 같은 확장 가능한 처리 서비스를 활용하세요.
    • 스트리밍 또는 일괄 데이터에 대한 복잡한 프로그래매틱 검증에는 Dataflow를 사용하세요.
  • TFDV 기능을 사용하여 시간 경과에 따른 데이터 분포를 모니터링합니다.
    • Cloud Monitoring과 통합된 도구를 사용하여 추세를 시각화하여 데이터 드리프트를 감지합니다. 데이터 패턴이 크게 변경되면 모델 재학습 파이프라인을 자동으로 트리거할 수 있습니다.
  • 분석 및 기록 추적을 위해 BigQuery에 검증 결과와 측정항목을 저장하고 Cloud Storage에 검증 아티팩트를 보관합니다.

파이프라인 구성 및 입력 데이터 유효성 검사

잘못된 설정으로 인한 파이프라인 실패 또는 예기치 않은 동작을 방지하려면 모든 파이프라인 구성 및 명령줄 인수에 대해 엄격한 유효성 검사를 구현하세요.

  • Python용 jsonschema와 같은 스키마 유효성 검사 라이브러리를 사용하여 YAML 또는 JSON과 같은 구성 파일의 명확한 스키마를 정의합니다. 파이프라인 실행이 시작되기 전과 구성요소가 실행되기 전에 이러한 스키마에 대해 구성 객체를 검증합니다.
  • argparse와 같은 인수 파싱 라이브러리를 사용하여 모든 명령줄 인수와 파이프라인 매개변수에 대한 입력 유효성 검사를 구현합니다. 유효성 검사에서는 올바른 데이터 유형, 유효한 값, 필수 인수를 확인해야 합니다.
  • Vertex AI Pipelines 내에서 기본 제공 구성요소 입력 유효성 검사 기능을 사용하여 구성요소 매개변수의 예상 유형과 속성을 정의합니다.
  • 파이프라인 실행의 재현성을 보장하고 감사 추적을 유지하려면 검증되고 버전이 지정된 구성 파일을 Cloud Storage 또는 Artifact Registry에 저장하세요.

입력 및 출력 파일 유효성 검사

데이터 세트, 모델 아티팩트, 평가 보고서와 같은 입력 및 출력 파일의 무결성과 형식 정확성을 검사합니다.

  • 라이브러리를 사용하여 CSV, Parquet, 이미지 유형과 같은 파일 형식을 검증합니다.
  • 대용량 파일 또는 중요한 아티팩트의 경우 Cloud Storage 데이터 검증 및 변경 감지를 사용하여 파일 크기와 체크섬을 검증하여 손상 또는 불완전한 전송을 감지합니다.
  • Cloud Run 함수(예: 파일 업로드 이벤트 기반)를 사용하거나 Dataflow 파이프라인 내에서 파일 유효성 검사를 실행합니다.
  • 더 쉽게 검색하고 분석할 수 있도록 BigQuery에 검증 결과를 저장합니다.

배포 자동화 및 지속적 모니터링 구현

프로덕션에서 모델을 자동 배포하고 지속적으로 모니터링하면 안정성을 보장하고, 신속하게 업데이트하고, 문제를 즉시 감지할 수 있습니다. 여기에는 다음 섹션에 설명된 대로 모델 버전 관리, 제어된 배포, CI/CD를 사용한 자동 배포, 포괄적인 모니터링이 포함됩니다.

모델 버전 관리

버전 관리 도구를 사용하여 모델 반복 및 연결된 아티팩트를 관리합니다.

  • 모델 버전과 메타데이터를 추적하고 기본 모델 아티팩트에 연결하려면 Model Registry를 사용하세요.
  • 명확한 버전 관리 스키마 (예: 시맨틱 버전 관리)를 구현합니다. 각 모델 버전에는 학습 매개변수, 검증 파이프라인의 평가 측정항목, 데이터 세트 버전과 같은 포괄적인 메타데이터를 첨부합니다.
  • 모델 파일, 사전 학습된 가중치, 서빙 컨테이너 이미지와 같은 모델 아티팩트를 Artifact Registry에 저장하고 버전 관리 및 태그 지정 기능을 사용합니다.
  • 보안 및 거버넌스 요구사항을 충족하려면 Model Registry 및 Artifact Registry에 대한 엄격한 액세스 제어 정책을 정의하세요.
  • 프로그래매틱 방식으로 버전을 등록 및 관리하고 자동화된 CI/CD 파이프라인에 버전을 통합하려면 Vertex AI SDK 또는 API를 사용하세요.

제어된 배포 실행

서빙 플랫폼의 트래픽 관리 기능을 사용하여 엔드포인트에 모델 버전을 배포하는 것을 제어합니다.

  • Vertex AI 엔드포인트의 트래픽 분할 기능을 사용하여 롤링 배포를 구현합니다.
  • 모델을 GKE에 배포하는 경우 카나리아 배포와 같은 고급 트래픽 관리 기법을 사용하세요.
    1. 프로덕션 트래픽의 작은 하위 집합을 새 모델 버전으로 라우팅합니다.
    2. 측정항목을 통해 성능과 오류율을 지속적으로 모니터링합니다.
    3. 모델이 신뢰할 수 있는지 확인합니다.
    4. 모든 트래픽에 버전을 출시합니다.
  • AI 에이전트의 A/B 테스트를 실행합니다.
    1. 동일한 엔드포인트에 서로 다른 두 모델-에이전트 버전을 배포하거나 완전히 다른 모델을 배포합니다.
    2. 배포 간에 트래픽을 분할합니다.
    3. 비즈니스 목표에 대한 결과를 분석합니다.
  • 모니터링 알림이 트리거되거나 성능 기준을 충족하지 못하는 경우 엔드포인트 트래픽을 이전의 안정적인 모델 버전으로 신속하게 되돌릴 수 있는 자동 롤백 메커니즘을 구현합니다.
  • Vertex AI SDK 또는 API를 사용하여 프로그래매틱 방식으로 트래픽 분할 및 배포 설정을 구성합니다.
  • Cloud Monitoring을 사용하여 버전 간 성능과 트래픽을 추적합니다.
  • CI/CD 파이프라인으로 배포 자동화 Cloud Build를 사용하여 컨테이너를 빌드하고, 아티팩트 버전을 지정하고, Vertex AI 엔드포인트에 배포를 트리거할 수 있습니다.
  • CI/CD 파이프라인이 버전을 관리하고 Artifact Registry에서 가져오는지 확인합니다.
  • 트래픽을 이동하기 전에 예측 정확도, 지연 시간, 처리량, API 기능을 위한 자동 엔드포인트 테스트를 실행합니다.
  • 모든 구성을 버전 제어에 저장합니다.

지속적으로 모니터링

  • 모델 모니터링을 사용하여 성능 저하, 데이터 드리프트 (학습에 비해 입력 분포의 변화), 예측 드리프트 (모델 출력의 변화)를 자동으로 감지합니다.
    • 임곗값과 알림을 사용하여 드리프트 감지 작업을 구성합니다.
    • 실시간 성능(예측 지연 시간, 처리량, 오류율)을 모니터링합니다.
  • 비즈니스 KPI에 대해 Cloud Monitoring에서 맞춤 측정항목을 정의합니다.
  • 알림 및 대시보드를 위해 모델 모니터링 결과와 맞춤 측정항목을 Cloud Monitoring과 통합합니다.
  • 이메일, Slack, PagerDuty와 같은 알림 채널을 구성하고 자동 수정 작업을 구성합니다.
  • 예측 로그를 디버깅하려면 Cloud Logging을 사용하세요.
  • 모니터링을 사고 관리와 통합합니다.

생성형 AI 엔드포인트의 경우 유해성, 일관성과 같은 출력 특성을 모니터링합니다.

  • 드리프트가 있는지 특성 제공을 모니터링합니다.
  • 세부적인 예측 검증 구현: 맞춤 로직을 사용하여 예상 범위 및 형식에 대해 출력을 검증합니다.
  • 예측 분포의 변화를 모니터링합니다.
  • 출력 스키마를 검증합니다.
  • 예상치 못한 출력 및 변화에 대한 알림을 구성합니다.
  • Pub/Sub를 사용하여 실시간 검증 이벤트를 추적하고 이에 응답합니다.

포괄적인 모니터링의 출력이 지속적인 학습에 다시 제공되는지 확인합니다.

데이터 및 모델 거버넌스를 통해 신뢰와 관리 유지

AI 및 ML 안정성은 기술적 업타임을 넘어섭니다. 여기에는 신뢰와 강력한 데이터 및 모델 거버넌스가 포함됩니다. AI 출력은 부정확하거나, 편향되거나, 오래되었을 수 있습니다. 이러한 문제는 신뢰를 저하시키고 피해를 야기할 수 있습니다. 포괄적인 추적 가능성, 강력한 액세스 제어, 자동화된 검증, 투명한 관행은 AI 출력이 신뢰할 수 있고 윤리 표준을 준수하도록 지원합니다.

데이터 및 모델 거버넌스를 통해 신뢰와 제어력을 유지하려면 다음 권장사항을 고려하세요.

추적성을 위해 데이터 및 모델 카탈로그 설정

AI 및 ML 애셋의 포괄적인 추적, 감사, 계보 이해를 용이하게 하려면 수명 주기 전반에 걸쳐 데이터 및 모델 버전의 강력한 중앙화된 기록을 유지하세요. 신뢰할 수 있는 데이터 및 모델 카탈로그는 원시 데이터 소스 및 처리된 데이터 세트부터 학습된 모델 버전 및 배포된 엔드포인트에 이르기까지 AI 및 ML 파이프라인에서 사용되고 생성되는 모든 아티팩트의 단일 정보 소스 역할을 합니다.

다음 제품, 도구, 기법을 사용하여 데이터 애셋의 카탈로그를 만들고 유지관리하세요.

  • Dataplex Universal Catalog를 사용하여 데이터 애셋의 전사적 카탈로그를 빌드합니다. 데이터 애셋을 자동으로 검색하고 인벤토리를 빌드하려면 Dataplex Universal Catalog를 BigQuery, Cloud Storage, Pub/Sub과 같은 스토리지 시스템과 통합하세요.
  • Cloud Storage 멀티 리전 또는 이중 리전 버킷에 데이터를 저장하여 데이터의 고가용성과 내구성을 보장하세요. 이러한 버킷에 업로드하는 데이터는 최소 두 개 이상의 지리적 위치에 중복 저장됩니다. 이 중복성은 리전 서비스 중단에 대한 내장된 복원력을 제공하며 데이터 무결성을 보장하는 데 도움이 됩니다.
  • 관련 비즈니스 메타데이터, 소유권 정보, 민감도 수준, 계보 세부정보로 데이터 세트에 태그를 지정하고 주석을 추가합니다. 예를 들어 처리된 데이터 세트를 원시 소스 및 데이터 세트를 만든 파이프라인에 연결합니다.
  • Model Registry를 사용하여 모델 버전의 중앙 저장소를 만듭니다. 학습된 각 모델 버전을 등록하고 연결된 메타데이터에 연결합니다. 메타데이터에는 다음이 포함될 수 있습니다.
    • 학습 매개변수입니다.
    • 검증 파이프라인의 평가 측정항목입니다.
    • 학습에 사용된 데이터 세트 버전으로, 계보가 관련 Dataplex 범용 카탈로그 항목으로 추적됩니다.
    • 데이터 세트를 생성한 코드 버전입니다.
    • 사용된 프레임워크 또는 기반 모델에 관한 세부정보입니다.
  • 모델을 Model Registry로 가져오기 전에 모델 파일, 사전 학습된 가중치와 같은 모델 아티팩트를 Cloud Storage와 같은 서비스에 저장합니다. Artifact Registry와 같은 보안 저장소에 서빙 또는 맞춤 학습 작업을 위한 맞춤 컨테이너 이미지를 저장합니다.
  • 데이터 및 모델 애셋이 생성되거나 수정될 때 해당 카탈로그에 자동으로 등록되고 업데이트되도록 하려면 MLOps 파이프라인 내에서 자동화된 프로세스를 구현하세요. 이 포괄적인 카탈로그를 통해 원시 데이터에서 예측까지 엔드 투 엔드 추적 가능성을 제공하므로 특정 모델 버전이나 예측으로 이어진 입력과 프로세스를 감사할 수 있습니다. 감사 기능은 예기치 않은 동작을 디버깅하고, 데이터 사용 정책을 준수하며, 시간이 지남에 따라 데이터 또는 모델 변경사항이 미치는 영향을 파악하는 데 매우 중요합니다.
  • 생성형 AI 및 파운데이션 모델의 경우 카탈로그에서 사용된 특정 파운데이션 모델, 미세 조정 매개변수, 생성된 출력의 품질 및 안전성과 관련된 평가 결과에 관한 세부정보도 추적해야 합니다.

강력한 액세스 제어 및 감사 추적 구현

AI 및 ML 시스템에서 신뢰와 제어력을 유지하려면 민감한 데이터와 모델을 무단 액세스로부터 보호하고 모든 변경사항에 대한 책임을 져야 합니다.

  • AI 및 ML 시스템의 모든 구성요소에서 엄격한 액세스 제어를 구현하고 세부 감사 추적을 유지하세요( Google Cloud).
  • AI 및 ML 리소스와 상호작용하는 사용자, 그룹, 서비스 계정에 대해 IAM에서 세부적인 권한을 정의합니다.
  • 최소 권한의 원칙을 엄격하게 따릅니다.
  • 특정 작업에 필요한 최소한의 권한만 부여합니다. 예를 들어 학습 서비스 계정에는 학습 데이터에 대한 읽기 액세스 권한과 모델 아티팩트에 대한 쓰기 액세스 권한이 필요하지만 서비스에는 프로덕션 제공 엔드포인트에 대한 쓰기 액세스 권한이 필요하지 않을 수 있습니다.

다음과 같은 AI 및 ML 시스템의 모든 관련 애셋과 리소스에 IAM 정책을 일관되게 적용합니다.

  • 민감한 정보 또는 모델 아티팩트가 포함된 Cloud Storage 버킷
  • BigQuery 데이터 세트
  • 모델 저장소, 엔드포인트, 파이프라인, Feature Store 리소스와 같은 Vertex AI 리소스
  • GKE 클러스터, Cloud Run 서비스와 같은 컴퓨팅 리소스

감사 및 로그를 사용하여 액세스 활동을 캡처, 모니터링, 분석합니다.

  • AI 및 ML 시스템에서 사용하는 모든 Google Cloud 서비스에 Cloud 감사 로그를 사용 설정합니다.
  • API 호출, 데이터 액세스 이벤트, 리소스에 대한 구성 변경에 관한 세부정보를 캡처하도록 감사 로그를 구성합니다. 로그에서 의심스러운 활동, 무단 액세스 시도 또는 중요한 데이터나 모델 애셋의 예기치 않은 수정이 있는지 모니터링합니다.
  • 실시간 분석, 알림, 시각화를 위해 감사 로그를 Cloud Logging으로 스트리밍하세요.
  • 비용 효율적인 장기 스토리지와 회고적 보안 분석 또는 규정 준수 감사를 위해 로그를 BigQuery로 내보냅니다.
  • 중앙 집중식 보안 모니터링을 위해 감사 로그를 보안 정보 및 이벤트 관리 (SIEM) 시스템과 통합합니다. 액세스 정책과 감사 추적을 정기적으로 검토하여 거버넌스 요구사항을 준수하고 잠재적인 정책 위반을 감지합니다.
  • 학습 또는 추론을 위해 개인 식별 정보 (PII)와 같은 민감한 데이터를 처리하는 애플리케이션의 경우 파이프라인 내 또는 데이터 스토리지에서 민감한 정보 보호 검사를 사용하세요.
  • 생성형 AI 및 에이전트 솔루션의 경우 감사 추적을 사용하여 특정 모델 또는 도구에 액세스한 사용자, 미세 조정 또는 프롬프트에 사용된 데이터, 프로덕션 엔드포인트로 전송된 쿼리를 추적하세요. 감사 추적은 책임성을 보장하는 데 도움이 되며 데이터 오용 또는 정책 위반을 조사하는 데 중요한 데이터를 제공합니다.

편향, 투명성, 설명 가능성 해결

신뢰할 수 있는 AI 및 ML 시스템을 구축하려면 데이터와 모델에 내재된 잠재적 편향을 해결하고, 시스템 동작의 투명성을 위해 노력하고, 모델 출력에 대한 설명 가능성을 제공해야 합니다. 특히 민감한 도메인에서 신뢰할 수 있는 시스템을 빌드하거나 생성형 AI 애플리케이션에 일반적으로 사용되는 복잡한 모델을 사용하는 경우 신뢰할 수 있는 시스템을 빌드하는 것이 중요합니다.

  • MLOps 수명 주기 전반에서 편향을 식별하고 완화하기 위한 사전 예방적 관행을 구현합니다.
  • 다양한 인구통계 그룹 또는 민감한 속성 전반의 특성 분포에서 편향을 감지하는 도구를 사용하여 학습 데이터의 편향을 분석합니다.
  • 전체 모델 성능과 사전 정의된 데이터 슬라이스 전반의 성능을 평가합니다. 이러한 평가를 통해 특정 하위 그룹에 영향을 미치는 이질적인 성능이나 편향을 식별할 수 있습니다.

모델 투명성과 설명 가능성을 위해 사용자와 개발자가 모델이 특정 예측을 하거나 특정 출력을 생성한 이유를 이해하는 데 도움이 되는 도구를 사용하세요.

  • Vertex AI 엔드포인트에 배포된 표 형식 모델의 경우 Vertex Explainable AI를 사용하여 특성 기여도를 생성합니다. 특성 기여 분석은 예측에 가장 많이 기여한 입력 특성을 나타냅니다.
  • TensorBoard와 통합되는 What-If 도구와 같은 모델에 구애받지 않는 도구를 사용하여 데이터 세트의 모델 동작과 잠재적 편향을 대화형으로 탐색합니다.
  • 설명 가능성을 모니터링 대시보드에 통합합니다. 모델의 추론을 이해하는 것이 신뢰 또는 의사결정에 중요한 상황에서는 애플리케이션 인터페이스를 통해 최종 사용자에게 직접 설명 가능성 데이터를 제공하세요.
  • 생성형 AI 모델에 사용되는 LLM과 같은 복잡한 모델의 경우 추적 로그를 사용하는 등 에이전트가 따른 프로세스를 설명합니다. 이러한 모델의 경우 설명 가능성이 비교적 어렵지만 여전히 중요합니다.
  • RAG 애플리케이션에서 검색된 정보에 대한 인용을 제공합니다. 프롬프트 엔지니어링과 같은 기법을 사용하여 모델이 설명을 제공하거나 추론 단계를 표시하도록 안내할 수도 있습니다.
  • 프로덕션에서 지속적인 모니터링을 구현하여 모델 동작이나 출력의 변화를 감지하여 편향이나 불공정성이 발생할 수 있는지 확인합니다. 모델 레지스트리의 모델 메타데이터의 일부로 모델 제한사항, 의도된 사용 사례, 알려진 잠재적 편향을 문서화합니다.

전체적인 AI 및 ML 모니터링 가능성 및 안정성 관행 구현

전체적인 모니터링 가능성은 프로덕션에서 복잡한 AI 및 ML 시스템을 관리하는 데 필수적입니다. 또한 복잡성, 리소스 집약도, 예측 불가능한 출력 가능성으로 인해 복잡한 AI 및 ML 시스템, 특히 생성형 AI의 신뢰성을 측정하는 데도 필수적입니다. 전체적인 관측 가능성에는 인프라, 애플리케이션 코드, 데이터, 모델 동작을 관찰하여 사전 예방적 문제 감지, 진단, 대응을 위한 통계를 얻는 것이 포함됩니다. 이러한 관측 가능성은 궁극적으로 고성능의 안정적인 시스템으로 이어집니다. 전체적인 관측 가능성을 달성하려면 다음을 수행해야 합니다.

  • SRE 원칙을 채택합니다.
  • 명확한 안정성 목표를 정의합니다.
  • 시스템 레이어 전반에서 측정항목을 추적합니다.
  • 관측 가능성에서 얻은 통계를 사용하여 지속적으로 개선하고 선제적으로 관리합니다.

Google Cloud에서 AI 및 ML 워크로드에 대한 전체적인 모니터링 가능성 및 안정성 관행을 구현하려면 다음 권장사항을 고려하세요.

안정성 목표 및 비즈니스 지표 설정

AI 및 ML 시스템이 직접 영향을 미치는 핵심성과지표 (KPI)를 파악합니다. KPI에는 AI 추천의 영향을 받는 수익, AI 시스템에서 예측하거나 완화한 고객 이탈, 생성형 AI 기능으로 유도된 사용자 참여 및 전환율이 포함될 수 있습니다.

각 KPI별로 KPI에 영향을 미치는 해당 기술 신뢰성 측정항목을 정의합니다. 예를 들어 KPI가 '대화형 AI 어시스턴트의 고객 만족도'인 경우 해당 안정성 측정항목에는 다음이 포함될 수 있습니다.

  • 사용자 요청의 성공률입니다.
  • 대답의 지연 시간: LLM의 첫 번째 토큰까지의 시간 (TTFT) 및 토큰 스트리밍
  • 관련성이 없거나 유해한 대답의 비율입니다.
  • 상담사의 성공적인 작업 완료율입니다.

AI 및 ML 학습의 경우 안정성 측정항목에는 모델 FLOPS 사용률 (MFU), 초당 반복, 초당 토큰, 기기당 토큰이 포함될 수 있습니다.

AI 및 ML 안정성을 효과적으로 측정하고 개선하려면 먼저 전반적인 비즈니스 목표에 부합하는 명확한 안정성 목표를 설정해야 합니다. 사용자 관점에서 AI 및 ML 서비스의 허용 가능한 안정성 및 성능 수준을 정량화하는 SLO를 정의하여 SRE 접근 방식을 채택합니다. 구체적인 SLO 타겟을 사용하여 이러한 기술적 안정성 측정항목을 정량화합니다.

다음은 SLO 타겟의 예입니다.

  • API 호출의 99.9% 가 성공 응답을 반환해야 합니다.
  • 95번째 백분위수 추론 지연 시간이 300ms 미만이어야 합니다.
  • TTFT는 요청의 99% 에 대해 500ms 미만이어야 합니다.
  • 유해한 출력의 비율이 0.1% 미만이어야 합니다.

SLO를 비즈니스 요구사항과 직접적으로 일치시키면 안정성 노력이 사용자 및 비즈니스에 영향을 미치는 가장 중요한 시스템 동작에 집중됩니다. 이 접근 방식을 사용하면 안정성을 측정 가능하고 실행 가능한 엔지니어링 속성으로 변환할 수 있습니다.

인프라 및 애플리케이션 성능 모니터링

AI 및 ML 시스템에서 사용하는 모든 리소스의 인프라 측정항목을 추적합니다. 측정항목에는 프로세서 사용량 (CPU, GPU, TPU), 메모리 사용량, 네트워크 처리량 및 지연 시간, 디스크 I/O가 포함됩니다. Vertex AI 학습 및 제공과 같은 관리형 환경과 GKE 노드 및 Cloud Run 인스턴스와 같은 자체 관리형 리소스의 측정항목을 추적합니다.

AI 및 ML 애플리케이션의 4가지 황금 신호를 모니터링합니다.

  • 지연 시간: 요청에 응답하는 데 걸리는 시간입니다.
  • 트래픽: 요청 또는 워크로드의 양입니다.
  • 오류율: 실패한 요청 또는 작업의 비율입니다.
  • 포화: CPU, 메모리, GPU 또는 TPU 가속기와 같은 중요 리소스의 사용률로, 시스템이 용량 한계에 얼마나 근접했는지를 나타냅니다.

다음 기법을 사용하여 모니터링을 실행합니다.

  • Cloud Monitoring을 사용하여 인프라 및 애플리케이션 측정항목을 수집, 저장, 시각화합니다. Google Cloud 서비스용 사전 빌드된 대시보드를 사용하고 워크로드의 특정 성능 지표 및 인프라 상태를 기반으로 맞춤설정된 대시보드를 만들 수 있습니다.
  • Cloud Logging을 사용하여 AI 및 ML 애플리케이션과 기본 인프라에서 자세한 로그를 수집합니다. 이러한 로그는 문제 해결 및 성능 분석에 필수적입니다. 이러한 로그는 이벤트와 오류에 관한 컨텍스트를 제공합니다.
  • Cloud Trace를 사용하여 지연 시간 문제를 파악하고 분산된 AI 및 ML 마이크로서비스 전반의 요청 흐름을 파악합니다. 이 기능은 복잡한 Vertex AI 에이전트 상호작용이나 다중 구성요소 추론 파이프라인을 디버깅하는 데 중요합니다.
  • Cloud Profiler를 사용하여 애플리케이션 코드의 함수 블록 내에서 성능 병목 현상을 식별합니다. 성능 병목 현상을 식별하면 리소스 사용량과 실행 시간을 최적화하는 데 도움이 됩니다.
  • NVIDIA Data Center GPU Manager (DCGM)와 같은 도구를 사용하여 프로세스별 세부 GPU 사용률, 프로세스별 메모리 사용량, 온도와 같은 특정 액셀러레이터 관련 측정항목을 수집합니다.

데이터 및 모델 모니터링 가능성 구현

신뢰할 수 있는 생성형 AI 시스템에는 강력한 데이터 및 모델 관측 가능성이 필요하며, 이는 엔드 투 엔드 파이프라인 모니터링에서 시작됩니다.

  • Dataflow와 같은 서비스를 사용하여 데이터 수집률, 처리된 볼륨, 변환 지연 시간을 추적합니다.
  • Vertex AI Pipelines에서 관리하는 파이프라인을 비롯한 MLOps 파이프라인 내에서 작업 성공률과 실패율을 모니터링합니다.

데이터 품질을 지속적으로 평가하는 것이 중요합니다.

  • Dataplex Universal Catalog을 사용하여 데이터를 관리하고 제어합니다.
    • 정답에 대해 검증하거나 이상치 감지 비율을 추적하여 정확도를 평가합니다.
    • 데이터의 경과 시간과 SLA에 따른 업데이트 빈도를 기준으로 업데이트를 모니터링합니다.
    • null 값 비율과 필수 필드 입력률을 추적하여 완전성을 평가합니다.
    • 스키마 준수 및 중복 확인을 통해 유효성과 일관성을 보장합니다.
  • Cloud Monitoring 알림을 사용하고 추적 가능성을 위해 명확한 데이터 계보를 통해 이상치를 사전 감지합니다.
  • RAG 시스템의 경우 검색된 컨텍스트의 관련성과 대답의 그라운딩 (소스에 대한 속성 지정)을 검사합니다.
  • 벡터 데이터베이스 쿼리의 처리량을 모니터링합니다.

주요 모델 관측 가능성 측정항목에는 입력-출력 토큰 수와 환각 또는 질문 해결 실패와 같은 모델별 오류율이 포함됩니다. 이러한 측정항목을 추적하려면 모델 모니터링을 사용하세요.

  • 출력의 악의성 점수와 사용자 피드백 평가를 지속적으로 모니터링합니다.
  • Gen AI Evaluation Service를 사용하여 정의된 기준에 따라 모델 출력을 자동으로 평가합니다.
  • 포괄적인 오류율 측정항목으로 데이터 및 개념 드리프트를 체계적으로 모니터링하여 지속적인 성능을 보장합니다.

모델 측정항목을 추적하려면 TensorBoard 또는 MLflow를 사용하면 됩니다. 성능 문제를 해결하기 위한 심층 분석 및 프로파일링에는 PyTorch XLA 프로파일링 또는 NVIDIA Nsight를 사용할 수 있습니다.

참여자

저자:

기타 참여자:

AI 및 ML 관점: 비용 최적화

Well-Architected Framework: AI 및 ML 관점의 이 문서에서는 ML 수명 주기 전반에서 AI 시스템의 비용을 최적화하기 위한 원칙과 권장사항을 간략하게 설명합니다. 선제적이고 정보에 입각한 비용 관리 접근 방식을 채택하면 조직에서 AI 및 ML 시스템의 잠재력을 최대한 실현하고 재정 규율을 유지할 수 있습니다. 이 문서의 권장사항은 Google Cloud Well-Architected Framework의 비용 최적화 원칙과 일치합니다.

AI 및 ML 시스템은 데이터에서 유용한 통계와 예측 기능을 확보하는 데 도움이 됩니다. 예를 들어 내부 프로세스의 어려움을 줄이고, 사용자 환경을 개선하고, 고객에 대한 더 깊은 통계를 얻을 수 있습니다. 클라우드는 AI 및 ML 워크로드에 대한 대규모 선행 투자 없이도 방대한 리소스와 빠른 가치 창출 시간을 제공합니다. 비즈니스 가치를 극대화하고 지출을 비즈니스 목표에 맞추려면 비용 동인을 파악하고, 비용을 사전 대응적으로 최적화하고, 지출 관리를 설정하고, FinOps 관행을 채택해야 합니다.

이 문서의 권장사항은 다음 핵심 원칙에 매핑됩니다.

비용 및 수익 정의 및 측정

Google Cloud에서 AI 및 ML 비용을 효과적으로 관리하려면 클라우드 리소스 비용과 AI 및 ML 이니셔티브의 비즈니스 가치를 정의하고 측정해야 합니다. 세부적으로 비용을 추적할 수 있도록 Google Cloud 에서는 다음과 같은 포괄적인 결제 및 비용 관리 도구를 제공합니다.

  • Cloud Billing 보고서 및 표
  • Looker Studio 대시보드, 예산, 알림
  • Cloud Monitoring
  • Cloud Logging

리소스 할당 및 최적화에 대해 정보에 입각한 결정을 내리려면 다음 권장사항을 고려하세요.

비즈니스 목표 및 KPI 설정

AI 및 ML 프로젝트의 기술적 선택을 비즈니스 목표 및 핵심성과지표 (KPI)와 일치시킵니다.

전략적 목표 및 ROI 중심 KPI 정의

AI 및 ML 프로젝트가 수익 증대, 비용 절감, 고객 만족도, 효율성과 같은 전략적 목표와 일치하는지 확인합니다. 비즈니스 우선순위를 파악하기 위해 이해관계자와 소통합니다. 구체적이고, 측정 가능하며, 달성 가능하고, 관련성이 있으며, 기한이 정해진 (SMART) AI 및 ML 목표를 정의합니다. 예를 들어 SMART 목표는 'AI 챗봇을 사용하여 6개월 내에 고객 지원 채팅 처리 시간을 15% 단축'입니다.

비즈니스 목표를 달성하고 투자수익 (ROI)을 측정하려면 다음 카테고리의 측정항목에 대한 KPI를 정의하세요.

  • 특정 단위 비용 (예: 추론, 데이터 포인트 또는 작업당 비용)을 포함한 학습, 추론, 스토리지, 네트워크 리소스 비용 이러한 측정항목은 효율성 및 비용 최적화 기회에 대한 유용한 정보를 얻는 데 도움이 됩니다. Cloud Billing 보고서Cloud Monitoring 대시보드를 사용하여 이러한 비용을 추적할 수 있습니다.
  • 수익 성장, 비용 절감, 고객 만족도, 효율성, 정확성, 채택과 같은 비즈니스 가치 측정항목 BigQuery 분석Looker 대시보드를 사용하여 이러한 측정항목을 추적할 수 있습니다.
  • 다음과 같은 업종별 측정항목

    • 소매업: 수익 상승도 및 이탈 측정
    • 의료 업계: 환자 시간 및 환자 치료 결과 측정
    • 금융 업계: 사기 감소 측정
  • 프로젝트별 측정항목입니다. Vertex AI Experiments평가를 사용하여 이러한 측정항목을 추적할 수 있습니다.

    • 예측 AI: 정확도 및 정밀도 측정
    • 생성형 AI: 도입, 만족도, 콘텐츠 품질 측정
    • 컴퓨터 비전 AI: 정확도 측정

비용 인식 및 지속적인 최적화 문화 조성

FinOps 원칙을 채택하여 각 AI 및 ML 프로젝트에 예상 비용이 있고 수명 주기 전반에 걸쳐 실제 비용을 측정하고 추적할 수 있는 방법을 마련합니다. 프로젝트의 비용과 비즈니스 이점에 소유자가 할당되어 있고 책임이 명확한지 확인합니다.

자세한 내용은 Google Cloud 잘 설계된 프레임워크의 비용 최적화 필라에 있는 비용 인식 문화 조성을 참고하세요.

반복과 피드백을 통해 가치를 창출하고 지속적으로 최적화

AI 및 ML 애플리케이션을 비즈니스 목표에 직접 매핑하고 ROI를 측정합니다.

ROI 가설을 검증하려면 파일럿 프로젝트를 시작하고 다음 반복 최적화 주기를 사용하세요.

  1. 지속적으로 모니터링하고 데이터 분석: KPI와 비용을 모니터링하여 편차와 최적화 기회를 파악합니다.
  2. 데이터 기반 조정: 데이터 통계를 기반으로 전략, 모델, 인프라, 리소스 할당을 최적화합니다.
  3. 반복적으로 개선: 학습한 내용과 변화하는 비즈니스 요구사항에 따라 비즈니스 목표와 KPI를 조정합니다. 이 반복을 통해 관련성과 전략적 일관성을 유지할 수 있습니다.
  4. 피드백 루프 설정: 이해관계자와 함께 실적, 비용, 가치를 검토하여 지속적인 최적화 및 향후 프로젝트 계획에 반영합니다.

Cloud Billing 및 라벨로 결제 데이터 관리

효과적인 비용 최적화를 위해서는 각 비용 요소의 소스를 파악할 수 있어야 합니다. 이 섹션의 권장사항을 따르면 Google Cloud도구를 사용하여 AI 및 ML 비용에 대한 세부정보를 파악할 수 있습니다. 특정 AI 및 ML 프로젝트, 팀, 활동에 비용을 귀속시킬 수도 있습니다. 이러한 통계는 비용 최적화를 위한 기반을 마련합니다.

Google Cloud 리소스 정리 및 라벨 지정

  • 조직 구조와 AI 및 ML 워크플로를 반영하는 계층 구조로 프로젝트와 리소스를 구성합니다. 다양한 수준에서 비용을 추적하고 분석하려면 조직, 폴더, 프로젝트를 사용하여 Google Cloud 리소스를 구성하세요. 자세한 내용은 Google Cloud 시작 영역의 리소스 계층 구조 결정을 참고하세요.
  • 리소스에 의미 있는 라벨을 적용합니다. 프로젝트, 팀, 환경, 모델 이름, 데이터 세트, 사용 사례, 성능 요구사항을 나타내는 라벨을 사용할 수 있습니다. 라벨은 결제 데이터에 유용한 컨텍스트를 제공하고 세분화된 비용 분석을 지원합니다.
  • 모든 AI 및 ML 프로젝트에서 라벨 지정 규칙의 일관성을 유지합니다. 일관된 라벨 지정 규칙을 사용하면 청구 데이터가 정리되어 쉽게 분석할 수 있습니다.
  • 자세한 분석 및 보고를 위해 결제 데이터를 BigQuery로 내보내기 BigQuery에는 비용을 파악하는 데 도움이 되는 청구 데이터를 분석할 수 있는 강력한 쿼리 기능이 있습니다.
  • 라벨, 프로젝트 또는 특정 기간별로 비용을 집계하려면 BigQuery에서 맞춤 SQL 쿼리를 작성하면 됩니다. 이러한 쿼리를 사용하면 모델 학습, 하이퍼파라미터 조정 또는 추론과 같은 특정 AI 및 ML 활동에 비용을 귀속시킬 수 있습니다.
  • 비용 이상치 또는 예상치 못한 지출 급증을 파악하려면 BigQuery의 분석 기능을 사용하세요. 이 접근 방식을 사용하면 AI 및 ML 워크로드의 잠재적인 문제나 비효율성을 감지할 수 있습니다.
  • 예상치 못한 비용을 파악하고 관리하려면 Cloud Billing의 이상 감지 대시보드를 사용하세요.
  • 리소스 사용량을 기준으로 여러 팀 또는 부서에 비용을 분배하려면 Google Cloud의비용 할당 기능을 사용하세요. 비용 할당은 책임성과 투명성을 증진합니다.
  • 지출 패턴을 파악하려면 사전 빌드된 Cloud Billing 보고서를 살펴보세요. 이러한 보고서를 필터링하고 맞춤설정하여 특정 AI 및 ML 프로젝트 또는 서비스에 집중할 수 있습니다.

대시보드, 알림, 보고서로 리소스를 지속적으로 모니터링

비용을 추적하는 확장 가능하고 탄력적인 방법을 만들려면 지속적인 모니터링과 보고가 필요합니다. 대시보드, 알림, 보고서는 효과적인 비용 추적의 기반을 구성합니다. 이 기반을 통해 비용 정보에 지속적으로 액세스하고, 최적화 영역을 파악하고, 비즈니스 목표와 비용 간의 일관성을 유지할 수 있습니다.

신고 시스템 만들기

예약된 보고서를 만들어 적절한 이해관계자와 공유합니다.

Cloud Monitoring을 사용하여 애플리케이션, 인프라, Compute Engine, Google Kubernetes Engine (GKE), Cloud Run 함수와 같은 서비스 등 다양한 소스에서 측정항목을 수집합니다. Google Cloud 측정항목과 로그를 실시간으로 시각화하려면 사전 빌드된 Cloud Monitoring 대시보드를 사용하거나 맞춤 대시보드를 만들면 됩니다. 맞춤 대시보드를 사용하면 모델 성능, API 호출, 비즈니스 수준 KPI와 같은 시스템의 특정 측면을 추적하는 측정항목을 정의하고 추가할 수 있습니다.

Cloud Logging을 사용하여 애플리케이션, 시스템, Google Cloud 서비스의 로그를 중앙에서 수집하고 저장합니다. 다음과 같은 목적으로 로그를 사용합니다.

  • CPU, 메모리, 스토리지, 네트워크와 같은 리소스의 비용과 사용률을 추적합니다.
  • 과도한 프로비저닝 (리소스가 완전히 활용되지 않음) 및 부족한 프로비저닝 (리소스가 부족함) 사례를 식별합니다. 과도한 프로비저닝은 불필요한 비용을 발생시킵니다. 프로비저닝 부족은 학습 시간을 늦추고 성능 문제를 일으킬 수 있습니다.
  • VM, GPU와 같은 유휴 또는 사용률이 낮은 리소스를 식별하고 비용을 최적화하기 위해 이러한 리소스를 종료하거나 크기를 조정하는 단계를 따릅니다.
  • 비용 급증을 식별하여 리소스 사용량 또는 비용의 갑작스럽고 예상치 못한 증가를 감지합니다.

Looker 또는 Looker Studio를 사용하여 대화형 대시보드와 보고서를 만드세요. 대시보드와 보고서를 BigQuery, Cloud Monitoring 등 다양한 데이터 소스에 연결합니다.

주요 KPI를 기반으로 알림 기준 설정

KPI에 대해 알림을 트리거해야 하는 기준을 결정합니다. 의미 있는 알림 기준을 사용하면 알림으로 인한 피로를 방지할 수 있습니다. Cloud Monitoring에서 알림 정책을 만들어 KPI와 관련된 알림을 받습니다. 예를 들어 정확도가 특정 기준 미만으로 떨어지거나 지연 시간이 정의된 한도를 초과하면 알림을 받을 수 있습니다. 로그 데이터를 기반으로 하는 알림은 잠재적인 비용 문제를 실시간으로 알려줍니다. 이러한 알림을 통해 즉시 수정 조치를 취하고 추가적인 금전적 손실을 방지할 수 있습니다.

리소스 할당 최적화

Google Cloud에서 AI 및 ML 워크로드의 비용 효율성을 달성하려면 리소스 할당을 최적화해야 합니다. 불필요한 비용을 방지하고 워크로드가 최적으로 실행하는 데 필요한 리소스를 확보하려면 리소스 할당을 워크로드의 요구사항에 맞게 조정하세요.

AI 및 ML 워크로드에 대한 클라우드 리소스 할당을 최적화하려면 다음 권장사항을 고려하세요.

자동 확장을 사용하여 리소스 동적으로 조정

자동 확장을 지원하는 Google Cloud 서비스를 사용합니다. 자동 확장은 현재 수요에 맞게 리소스 할당을 자동으로 조정합니다. 자동 확장은 다음과 같은 이점을 제공합니다.

  • 비용 및 성능 최적화: 유휴 리소스에 대한 비용을 지불하지 않습니다. 동시에 자동 확장 기능을 사용하면 최대 부하 시에도 시스템이 최적으로 작동하는 데 필요한 리소스를 확보할 수 있습니다.
  • 효율성 향상: 팀이 다른 작업에 집중할 수 있습니다.
  • 민첩성 향상: 변화하는 요구에 신속하게 대응하고 애플리케이션의 고가용성을 유지할 수 있습니다.

다음 표에는 AI 프로젝트의 다양한 단계에서 자동 확장 기능을 구현하는 데 사용할 수 있는 기법이 요약되어 있습니다.

단계 자동 확장 기법
학습
  • 학습 작업을 위한 자동 확장 기능이 내장된 Vertex AI 또는 GKE와 같은 관리형 서비스를 사용합니다.
  • CPU 사용률, 메모리 사용량, 작업 대기열 길이와 같은 측정항목을 기반으로 학습 인스턴스 수를 확장하도록 자동 확장 정책을 구성합니다.
  • 맞춤 확장 측정항목을 사용하여 특정 워크로드의 자동 확장 동작을 미세 조정합니다.
추론
  • Vertex AI 추론, GKE의 GPU 또는 GKE의 TPU와 같은 확장 가능한 플랫폼에 모델을 배포합니다.
  • 자동 확장 기능을 사용하여 요청 속도, 지연 시간, 리소스 사용률과 같은 측정항목을 기반으로 복제본 수를 조정합니다.
  • 부하 분산을 구현하여 트래픽을 복제본에 균등하게 분산하고 고가용성을 보장합니다.

소규모 모델 및 데이터 세트로 시작

비용을 절감하려면 가능할 때 소규모로 ML 가설을 테스트하고 반복적 접근 방식을 사용하세요. 이 접근 방식은 더 작은 모델과 데이터 세트를 사용하여 다음과 같은 이점을 제공합니다.

  • 처음부터 비용 절감: 컴퓨팅 성능, 스토리지, 처리 시간이 줄어 초기 실험 및 개발 단계에서 비용이 절감될 수 있습니다.
  • 더 빠른 반복: 학습 시간이 적게 필요하므로 더 빠르게 반복하고, 대체 접근 방식을 탐색하고, 유망한 방향을 더 효율적으로 식별할 수 있습니다.
  • 복잡성 감소: 디버깅, 분석, 결과 해석이 간소화되어 개발 주기가 단축됩니다.
  • 효율적인 리소스 사용: 리소스 초과 프로비저닝 가능성 감소 현재 워크로드에 필요한 리소스만 프로비저닝합니다.

다음 권장사항을 고려하세요.

  • 먼저 샘플 데이터 사용: 데이터의 대표 하위 집합으로 모델을 학습시킵니다. 이 접근 방식을 사용하면 전체 데이터 세트를 처리하지 않고도 모델의 성능을 평가하고 잠재적 문제를 식별할 수 있습니다.
  • 노트북을 사용하여 실험: 작은 인스턴스로 시작하여 필요에 따라 확장합니다. 다양한 모델 아키텍처와 데이터 세트를 실험하는 데 적합한 관리형 Jupyter 노트북 환경인 Vertex AI Workbench를 사용할 수 있습니다.
  • 더 간단하거나 선행 학습된 모델로 시작: Vertex AI Model Garden을 사용하여 선행 학습된 모델을 살펴보고 탐색합니다. 이러한 모델은 컴퓨팅 리소스가 적게 필요합니다. 성능 요구사항에 따라 필요에 따라 복잡성을 점진적으로 높입니다.

    • 이미지 분류, 자연어 처리와 같은 작업에 선행 학습된 모델을 사용합니다. 학습 비용을 절약하려면 처음에는 더 작은 데이터 세트로 모델을 미세 조정하면 됩니다.
    • 구조화된 데이터에는 BigQuery ML을 사용합니다. BigQuery ML을 사용하면 BigQuery 내에서 직접 모델을 만들고 배포할 수 있습니다. BigQuery의 쿼리당 지불 가격 책정 모델을 활용할 수 있으므로 이 접근 방식은 초기 실험에 비용 효율적일 수 있습니다.
  • 리소스 최적화를 위한 확장: Google Cloud의 유연한 인프라를 사용하여 필요에 따라 리소스를 확장합니다. 작은 인스턴스로 시작하고 필요한 경우 크기나 수를 조정합니다.

실험을 통해 리소스 요구사항 파악

AI 및 ML 워크로드의 리소스 요구사항은 크게 다를 수 있습니다. 리소스 할당과 비용을 최적화하려면 체계적인 실험을 통해 워크로드의 구체적인 요구사항을 파악해야 합니다. 모델에 가장 효율적인 구성을 파악하려면 다양한 구성을 테스트하고 성능을 분석하세요. 그런 다음 요구사항에 따라 학습 및 서빙에 사용한 리소스의 크기를 적절하게 조정합니다.

실험에는 다음 접근 방식을 사용하는 것이 좋습니다.

  1. 기준으로 시작: 워크로드 요구사항의 초기 추정치를 기반으로 기준 구성으로 시작합니다. 기준을 만들려면 새 워크로드의 비용 추정기를 사용하거나 기존 청구 보고서를 사용하면 됩니다. 자세한 내용은 Google Cloud에서 엔터프라이즈 AI의 실제 비용 알아보기를 참고하세요.
  2. 할당량 파악: 광범위한 실험을 시작하기 전에 사용할 리소스 및 API의 Google Cloud 프로젝트할당량을 숙지하세요. 할당량에 따라 실제로 테스트할 수 있는 구성 범위가 결정됩니다. 할당량을 숙지하면 실험 단계에서 사용 가능한 리소스 한도 내에서 작업할 수 있습니다.
  3. 체계적으로 실험: CPU 수, 메모리 양, GPU 및 TPU 수와 유형, 스토리지 용량과 같은 매개변수를 조정합니다. Vertex AI 학습Vertex AI 예측을 사용하면 다양한 머신 유형과 구성을 실험할 수 있습니다.
  4. 사용률, 비용, 성능 모니터링: 실험하는 각 구성의 리소스 사용률, 비용, 주요 성능 측정항목(예: 학습 시간, 추론 지연 시간, 모델 정확도)을 추적합니다.

    • 리소스 사용률과 성능 측정항목을 추적하려면 Vertex AI 콘솔을 사용하면 됩니다.
    • 자세한 성능 측정항목을 수집하고 분석하려면 Cloud Monitoring을 사용하세요.
    • 비용을 확인하려면 Cloud Billing 보고서Cloud Monitoring 대시보드를 사용하세요.
    • 모델의 성능 병목 현상을 식별하고 리소스 사용률을 최적화하려면 Vertex AI TensorBoard와 같은 프로파일링 도구를 사용하세요.
  5. 비용 분석: 각 구성의 비용과 성능을 비교하여 가장 비용 효율적인 옵션을 파악합니다.

  6. 할당량을 기반으로 리소스 한계 및 개선 목표 설정: 상당한 비용 증가에 비해 학습 시간이나 지연 시간이 최소한으로 감소하는 등 확장으로 인해 성능이 감소하는 시점을 나타내는 한계를 정의합니다. 이러한 기준점을 설정할 때는 프로젝트 할당량을 고려하세요. 추가 확장으로 인한 비용과 잠재적인 할당량 영향을 성능 향상으로 더 이상 정당화할 수 없는 지점을 파악합니다.

  7. 반복적으로 개선: 실험 결과를 바탕으로 개선된 구성으로 실험 과정을 반복합니다. 항상 리소스 사용량이 할당된 할당량 내에 있고 설정된 비용 편익 기준과 일치하는지 확인하세요.

MLOps를 사용하여 비효율성 줄이기

조직에서 혁신과 효율성을 높이기 위해 ML을 사용하는 사례가 늘면서 ML 수명 주기를 효과적으로 관리하는 것이 중요해지고 있습니다. ML 작업 (MLOps)은 모델 개발부터 배포 및 모니터링에 이르기까지 ML 수명 주기를 자동화하고 간소화하는 일련의 방식입니다.

비용 원인에 맞게 MLOps 조정

비용 효율성을 위해 MLOps를 활용하려면 ML 수명 주기의 주요 비용 동인을 파악하세요. 그런 다음 비용 동인에 부합하는 MLOps 관행을 채택하고 구현할 수 있습니다. 가장 큰 영향을 미치는 비용 동인을 해결하는 MLOps 기능을 우선 적용합니다. 이 접근 방식을 사용하면 상당한 비용 절감을 달성하기 위한 관리 가능하고 성공적인 경로를 확보할 수 있습니다.

비용 최적화를 위한 MLOps 구현

다음은 비용을 절감하는 데 도움이 되는 일반적인 MLOps 사례입니다.

  • 버전 관리: Git과 같은 도구를 사용하면 코드, 데이터, 모델의 버전을 추적할 수 있습니다. 버전 관리는 재현성을 보장하고, 공동작업을 촉진하며, 버전 관리 문제로 인해 발생할 수 있는 비용이 많이 드는 재작업을 방지합니다.
  • 지속적 통합 및 지속적 배포 (CI/CD): Cloud BuildArtifact Registry를 사용하면 CI/CD 파이프라인을 구현하여 ML 모델의 빌드, 테스트, 배포를 자동화할 수 있습니다. CI/CD 파이프라인은 효율적인 리소스 사용을 보장하고 수동 개입과 관련된 비용을 최소화합니다.
  • 관측 가능성: Cloud MonitoringCloud Logging을 사용하면 프로덕션 환경에서 모델 성능을 추적하고, 문제를 식별하고, 선제적 개입을 위한 알림을 트리거할 수 있습니다. 관측 가능성을 통해 모델 정확도를 유지하고, 리소스 할당을 최적화하고, 비용이 많이 드는 다운타임이나 성능 저하를 방지할 수 있습니다.
  • 모델 재학습: Vertex AI Pipelines는 모델을 주기적으로 또는 성능이 저하될 때 재학습하는 프로세스를 간소화합니다. Vertex AI Pipelines를 재학습에 사용하면 모델의 정확성과 효율성을 유지할 수 있어 불필요한 리소스 소비를 방지하고 최적의 성능을 유지할 수 있습니다.
  • 자동화된 테스트 및 평가: Vertex AI를 사용하면 모델 평가를 가속화하고 표준화할 수 있습니다. ML 수명 주기 전반에 걸쳐 자동화된 테스트를 구현하여 모델의 품질과 신뢰성을 보장합니다. 이러한 테스트는 오류를 조기에 포착하고, 프로덕션에서 비용이 많이 드는 문제를 방지하며, 광범위한 수동 테스트의 필요성을 줄이는 데 도움이 됩니다.

자세한 내용은 MLOps: 머신러닝의 지속적 배포 및 자동화 파이프라인을 참고하세요.

데이터 관리 및 거버넌스 관행 시행

효과적인 데이터 관리 및 거버넌스 관행은 비용 최적화에 매우 중요합니다. 데이터가 잘 정리되어 있으면 팀에서 데이터 세트를 재사용하고, 불필요한 중복을 피하고, 고품질 데이터를 얻기 위한 노력을 줄일 수 있습니다. 데이터를 사전 대응 방식으로 관리하면 스토리지 비용을 절감하고 데이터 품질을 개선하며 ML 모델이 가장 관련성 있고 가치 있는 데이터로 학습되도록 할 수 있습니다.

데이터 관리 및 거버넌스 관행을 구현하려면 다음 권장사항을 고려하세요.

데이터 거버넌스 프레임워크 수립 및 채택

AI와 ML의 중요성이 커짐에 따라 디지털 혁신을 진행하는 조직에서 데이터가 가장 가치 있는 자산이 되었습니다. 데이터 거버넌스를 위한 강력한 프레임워크는 대규모로 AI 및 ML 워크로드를 비용 효율적으로 관리하는 데 중요한 요구사항입니다. 정책, 절차, 역할이 명확하게 정의된 데이터 거버넌스 프레임워크는 수명 주기 전반에 걸쳐 데이터를 관리하는 구조화된 접근 방식을 제공합니다. 이러한 프레임워크는 데이터 품질을 개선하고, 보안을 강화하며, 활용도를 높이고, 중복을 줄이는 데 도움이 됩니다.

데이터 거버넌스 프레임워크 수립

EDM Council에서 게시한 프레임워크와 같이 데이터 거버넌스를 위한 기존 프레임워크가 많이 있으며, 다양한 업계와 조직 규모에 맞는 옵션을 사용할 수 있습니다. 특정 요구사항과 우선순위에 맞는 프레임워크를 선택하고 적용하세요.

데이터 거버넌스 프레임워크 구현

Google Cloud 는 강력한 데이터 거버넌스 프레임워크를 구현하는 데 도움이 되는 다음과 같은 서비스와 도구를 제공합니다.

  • Dataplex Universal Catalog은 분산된 데이터를 통합하고 한곳에 데이터 세트를 통합하지 않고도 데이터 거버넌스를 자동화할 수 있도록 지원하는 지능형 데이터 패브릭입니다. 이렇게 하면 데이터를 배포하고 유지하는 비용을 줄이고, 데이터 검색을 용이하게 하며, 재사용을 촉진할 수 있습니다.

  • Dataplex Universal Catalog는 확장 가능한 완전 관리형 메타데이터 관리 서비스이기도 합니다. 카탈로그는 데이터 애셋에 액세스할 수 있고 재사용할 수 있도록 하는 기반을 제공합니다.

    • 지원되는 Google Cloud 소스의 메타데이터는 범용 카탈로그에 자동으로 수집됩니다. Google Cloud외부의 데이터 소스의 경우 맞춤 항목을 만듭니다.
    • 데이터 애셋의 검색 가능성과 관리 기능을 개선하려면 관점을 사용하여 비즈니스 메타데이터로 기술 메타데이터를 보강하세요.
    • 데이터 과학자 및 ML 실무자가 Dataplex Universal Catalog에 액세스하고 검색 기능을 사용할 수 있는 충분한 권한이 있는지 확인합니다.
  • BigQuery 공유를 사용하면 조직 전체에서 데이터 애셋을 효율적이고 안전하게 교환하여 데이터 안정성과 비용 문제를 해결할 수 있습니다.

    • 데이터 교환을 설정하고 선별된 데이터 애셋을 등록정보로 볼 수 있는지 확인합니다.
    • 데이터 클린룸을 사용하여 민감한 데이터에 대한 액세스를 안전하게 관리하고 AI 및 ML 프로젝트에서 외부 팀 및 조직과 효율적으로 협력하세요.
    • 데이터 과학자와 ML 실무자가 BigQuery 공유에 데이터 세트를 보고 게시할 수 있는 충분한 권한을 보유하고 있는지 확인합니다.

ML 수명 주기 전반에서 데이터 세트와 기능을 재사용할 수 있도록 지원

효율성과 비용을 크게 절감하려면 여러 ML 프로젝트에서 데이터 세트와 기능을 재사용하세요. 중복된 데이터 엔지니어링 및 기능 개발 노력을 피하면 조직에서 모델 개발을 가속화하고, 인프라 비용을 절감하고, 다른 중요한 작업을 위해 귀중한 리소스를 확보할 수 있습니다.

Google Cloud 는 데이터 세트와 기능을 재사용하는 데 도움이 되는 다음과 같은 서비스와 도구를 제공합니다.

  • 데이터 및 ML 실무자는 데이터 제품을 게시하여 여러 팀에서 재사용을 극대화할 수 있습니다. 그러면 Dataplex Universal Catalog 및 BigQuery 공유를 통해 데이터 제품을 검색하고 사용할 수 있습니다.
  • 표 형식 및 구조화된 데이터 세트의 경우 Vertex AI Feature Store를 사용하여 재사용성을 높이고 BigQuery를 통해 특성 관리를 간소화할 수 있습니다.
  • Cloud Storage에 비정형 데이터를 저장하고 BigQuery 객체 테이블 및 서명된 URL을 사용하여 데이터를 관리할 수 있습니다.
  • 벡터 검색 색인에 메타데이터를 포함하여 벡터 임베딩을 관리할 수 있습니다.

MLOps로 자동화 및 간소화

MLOps 관행을 도입하면 기술 및 인력 비용을 절감할 수 있습니다. 자동화를 사용하면 ML 활동의 중복을 방지하고 데이터 과학자와 ML 엔지니어의 워크로드를 줄일 수 있습니다.

MLOps로 ML 개발을 자동화하고 간소화하려면 다음 권장사항을 고려하세요.

데이터 수집 및 처리 자동화 및 표준화

ML 개발 노력과 시간을 줄이려면 데이터 수집 및 처리 기술을 자동화하고 표준화하세요.

데이터 수집 및 처리 자동화

이 섹션에서는 데이터 수집 및 처리를 자동화하는 데 사용할 수 있는 제품, 도구, 기법을 요약합니다.

AI 및 ML 작업에 적합한 데이터 소스를 식별하고 선택합니다.

각 데이터 소스에 대해 수집 도구를 선택합니다.

  • Dataflow: 다양한 소스의 데이터를 일괄 및 스트림 처리하고 ML 구성요소를 통합합니다. 이벤트 기반 아키텍처의 경우 Dataflow를 Eventarc와 결합하여 ML 데이터를 효율적으로 처리할 수 있습니다. MLOps 및 ML 작업 효율성을 향상하려면 GPU 및 적합 맞춤 기능을 사용하세요.
  • Cloud Run 함수: 실시간 애플리케이션의 데이터 소스 변경으로 트리거되는 이벤트 기반 데이터 수집에 사용됩니다.
  • BigQuery: 자주 액세스하는 기존 표 형식 데이터 수집에 적합합니다.

데이터 변환 및 로드 도구를 선택합니다.

  • Dataflow 또는 Dataform과 같은 도구를 사용하여 특성 스케일링, 범주형 변수 인코딩, 일괄, 스트리밍 또는 실시간으로 새 특성 생성과 같은 데이터 변환을 자동화합니다. 선택하는 도구는 요구사항과 선택한 서비스에 따라 달라집니다.
  • Vertex AI Feature Store를 사용하여 특성 생성 및 관리를 자동화합니다. 여러 모델과 프로젝트에서 재사용할 수 있도록 기능을 중앙 집중화할 수 있습니다.

데이터 수집 및 처리 표준화

데이터 애셋을 검색, 이해, 관리하려면 Dataplex Universal Catalog과 같은 메타데이터 관리 서비스를 사용하세요. 데이터 정의를 표준화하고 조직 전체에서 일관성을 유지하는 데 도움이 됩니다.

표준화를 적용하고 여러 맞춤 구현을 유지하는 비용을 방지하려면 자동화된 학습 파이프라인과 오케스트레이션을 사용하세요. 자세한 내용은 다음 섹션을 참고하세요.

학습 파이프라인 자동화 및 기존 애셋 재사용

MLOps의 효율성과 생산성을 높이려면 자동화된 학습 파이프라인이 중요합니다. Google Cloud 는 기존 애셋 재사용을 중점적으로 고려하여 학습 파이프라인을 빌드하고 배포할 수 있는 강력한 도구 및 서비스 세트를 제공합니다. 자동화된 학습 파이프라인은 모델 개발을 가속화하고, 일관성을 보장하며, 중복된 노력을 줄이는 데 도움이 됩니다.

학습 파이프라인 자동화

다음 표에서는 학습 파이프라인의 다양한 기능을 자동화하는 데 사용할 수 있는 Google Cloud 서비스와 기능을 설명합니다.

함수 Google Cloud 서비스 및 기능
조정: 여러 단계와 종속 항목으로 구성된 복잡한 ML 워크플로를 정의합니다. 각 단계를 별도의 컨테이너화된 작업으로 정의할 수 있으므로 개별 작업을 쉽게 관리하고 확장할 수 있습니다.
  • 파이프라인을 만들고 조정하려면 Vertex AI Pipelines 또는 Kubeflow Pipelines를 사용하세요. 이러한 도구는 간단한 데이터 변환, 모델 학습, 모델 배포, 파이프라인 버전 관리를 지원합니다. 이를 통해 단계 간 종속 항목을 정의하고, 데이터 흐름을 관리하고, 전체 워크플로의 실행을 자동화할 수 있습니다.
  • CI/CD 및 추출, 변환, 로드 (ETL) 요구사항이 많은 복잡한 운영 작업에는 Cloud Composer를 사용하세요. 데이터 오케스트레이션에 Airflow를 선호하는 경우 Cloud Composer는 Airflow를 기반으로 빌드된 호환 관리형 서비스입니다.
  • Vertex AI Pipelines 외부에서 관리되는 파이프라인의 경우 VM 시작 및 중지 또는 외부 시스템과의 통합과 같은 인프라 중심 작업에는 Workflows를 사용합니다.
  • CI/CD 프로세스를 자동화하려면 Pub/Sub와 함께 Cloud Build를 사용하세요. 새 코드가 푸시되거나 새 모델을 학습시켜야 할 때 알림과 자동 트리거를 설정할 수 있습니다.
  • 파이프라인 관리를 위한 완전 관리형 확장 가능한 솔루션의 경우 Cloud Data Fusion을 사용하세요.
버전 관리: 파이프라인과 구성요소의 다양한 버전을 추적하고 제어하여 재현성과 감사 가능성을 보장합니다. Artifact Registry의 Kubeflow Pipelines 저장소에 Kubeflow 파이프라인 템플릿을 저장합니다.
재사용성: 준비된 데이터 세트, 학습된 모델과 같은 기존 파이프라인 구성요소와 아티팩트를 재사용하여 개발 속도를 높입니다. Cloud Storage에 파이프라인 템플릿을 저장하고 조직 전체에서 공유합니다.
모니터링: 파이프라인 실행을 모니터링하여 문제를 식별하고 해결합니다. Cloud Logging 및 Cloud Monitoring 사용 자세한 내용은 대시보드, 알림, 보고서로 리소스 지속적으로 모니터링을 참고하세요.

파이프라인을 넘어 재사용성 확장

학습 파이프라인을 넘어 재사용성을 확장할 기회를 찾습니다. 다음은 ML 기능, 데이터 세트, 모델, 코드를 재사용할 수 있는 Google Cloud 기능의 예입니다.

  • Vertex AI Feature Store는 ML 특성을 구성, 저장, 제공할 수 있는 중앙 집중식 저장소를 제공합니다. 이를 통해 여러 프로젝트와 모델에서 기능을 재사용할 수 있으므로 일관성을 개선하고 특성 추출 노력을 줄일 수 있습니다. 온라인 및 오프라인 사용 사례 모두에 대해 기능을 저장, 공유, 액세스할 수 있습니다.
  • Vertex AI 데이터 세트를 사용하면 팀에서 데이터 세트를 중앙에서 생성하고 관리할 수 있으므로 조직에서 재사용성을 극대화하고 데이터 중복을 줄일 수 있습니다. 팀은 Dataplex Universal Catalog을 사용하여 데이터 세트를 검색하고 찾을 수 있습니다.
  • Vertex AI Model Registry를 사용하면 학습된 모델을 저장, 관리, 배포할 수 있습니다. 모델 레지스트리를 사용하면 후속 파이프라인이나 온라인 예측에서 모델을 재사용할 수 있으므로 이전 학습 노력을 활용할 수 있습니다.
  • 커스텀 컨테이너를 사용하면 학습 코드와 종속 항목을 컨테이너에 패키징하고 컨테이너를 Artifact Registry에 저장할 수 있습니다. 커스텀 컨테이너를 사용하면 다양한 파이프라인과 프로젝트에서 일관되고 재현 가능한 학습 환경을 제공할 수 있습니다.

모델 평가 및 조정을 위해 Google Cloud 서비스 사용

Google Cloud 은 모델 평가 및 조정을 간소화하고 자동화하는 강력한 도구 및 서비스 모음을 제공합니다. 이러한 도구와 서비스를 사용하면 프로덕션까지 걸리는 시간을 줄이고 지속적인 학습 및 모니터링에 필요한 리소스를 줄일 수 있습니다. 이러한 서비스를 사용하면 AI 및 ML 팀이 비용이 많이 드는 반복을 줄여 모델 성능을 개선하고, 더 빠른 결과를 얻고, 낭비되는 컴퓨팅 리소스를 최소화할 수 있습니다.

리소스 효율적인 모델 평가 및 실험 사용

솔루션을 확장하기 전에 실험을 통해 AI 프로젝트를 시작하세요. 실험에서 데이터 세트 버전, 모델 매개변수, 모델 유형과 같은 다양한 메타데이터를 추적합니다. 결과의 재현성과 비교를 높이려면 Git의 기능과 유사한 코드 버전 관리 외에 메타데이터 추적을 사용하세요. 정보가 누락되거나 프로덕션에 잘못된 버전이 배포되지 않도록 하려면 대규모 배포 또는 학습 작업을 구현하기 전에 Vertex AI Experiments를 사용하세요.

Vertex AI Experiments를 사용하면 다음 작업을 할 수 있습니다.

  • 프로덕션 준비가 완료된 워크로드를 위해 사용자 친화적인 UI와 API를 통해 메타데이터 추적 및 검색을 간소화하고 자동화합니다.
  • 모델의 성능 측정항목을 분석하고 여러 모델의 측정항목을 비교합니다.

모델을 학습시킨 후에는 수신 데이터에 대해 시간 경과에 따른 성능 및 데이터 드리프트를 지속적으로 모니터링합니다. 이 프로세스를 간소화하려면 Vertex AI Model Monitoring을 사용하여 Model Registry에서 생성된 모델에 직접 액세스하세요. Model Monitoring은 온라인 및 일괄 예측을 통해 데이터와 결과에 대한 모니터링도 자동화합니다. 결과를 BigQuery로 내보내 추가 분석 및 추적을 할 수 있습니다.

학습을 자동화하기 위한 최적의 전략 선택

초매개변수 조정에는 다음 방법을 사용하는 것이 좋습니다.

  • 모델에 최적의 초매개변수를 찾는 프로세스를 자동화하려면 Vertex AI 초매개변수 조정을 사용하세요. Vertex AI는 고급 알고리즘을 사용하여 초매개변수 공간을 탐색하고 최적의 구성을 식별합니다.
  • 효율적인 하이퍼파라미터 미세 조정을 위해 특히 복잡한 모델과 대규모 데이터 세트를 다룰 때는 베이지안 최적화 기법을 사용하는 것이 좋습니다.

분산 학습의 경우 다음 방법을 사용하는 것이 좋습니다.

  • 대규모 데이터 세트와 복잡한 모델의 경우 Vertex AI의 분산 학습 인프라를 사용하세요. 이 방법을 사용하면 여러 머신에서 모델을 학습할 수 있으므로 학습 시간과 관련 비용을 크게 줄일 수 있습니다. 다음과 같은 도구를 사용합니다.

  • 분산 학습과 효율적인 리소스 활용을 지원하는 최적화된 ML 프레임워크(예: Keras 및 PyTorch)를 선택합니다.

설명 가능한 AI 사용

모델이 특정 결정을 내리는 이유를 이해하고 잠재적인 편향이나 개선이 필요한 부분을 파악하는 것이 중요합니다. Vertex Explainable AI를 사용하여 모델의 예측에 대한 유용한 정보를 얻습니다. Vertex Explainable AI는 Vertex AI 실험에 연결된 기능 기반 및 예시 기반 설명을 자동화하는 방법을 제공합니다.

  • 특성 기반: 모델의 예측에 가장 큰 영향을 미치는 특성을 파악하려면 특성 기여도를 분석하세요. 이러한 이해는 특성 추출 노력을 안내하고 모델 해석 가능성을 개선할 수 있습니다.
  • 예시 기반: 입력과 가장 유사한 예시 목록 (일반적으로 학습 세트)을 반환하기 위해 Vertex AI는 최근접 이웃 검색을 사용합니다. 유사한 입력은 일반적으로 유사한 예측을 생성하므로 이러한 설명을 사용하여 모델의 동작을 탐색하고 설명할 수 있습니다.

관리형 서비스 및 사전 학습된 모델 사용

모델 선택 및 모델 개발에 점진적 접근 방식을 채택합니다. 이 방법을 사용하면 매번 새로 시작하는 데 드는 과도한 비용을 방지할 수 있습니다. 비용을 관리하려면 ML 프레임워크, 관리형 서비스, 사전 학습된 모델을 사용하세요.

관리형 서비스와 사전 학습된 모델을 최대한 활용하려면 다음 권장사항을 고려하세요.

탐색 및 실험에 노트북 사용

Notebook 환경은 비용 효율적인 ML 실험에 매우 중요합니다. 노트북은 데이터 과학자와 엔지니어가 데이터를 탐색하고, 모델을 개발하고, 지식을 공유하고, 효율적으로 반복할 수 있는 대화형 공동작업 공간을 제공합니다. 노트북을 통한 공동작업과 지식 공유는 개발, 코드 검토, 지식 이전을 크게 가속화합니다. 노트북은 워크플로를 간소화하고 중복된 노력을 줄이는 데 도움이 됩니다.

개발 환경을 위해 값비싼 하드웨어를 조달하고 관리하는 대신 Vertex AI Workbench 및 Colab Enterprise의 확장 가능하고 주문형 인프라를 사용할 수 있습니다.

  • Vertex AI Workbench는 전체 데이터 과학 워크플로에 사용되는 Jupyter 노트북 개발 환경입니다. 인스턴스의 Jupyter 노트북 내에서 Vertex AI 및 기타 Google Cloud서비스와 상호작용할 수 있습니다. Vertex AI Workbench 통합 및 기능을 사용하면 다음 작업을 할 수 있습니다.

    • BigQuery 및 Cloud Storage 통합을 사용하여 Jupyter 노트북에서 데이터에 액세스하고 탐색합니다.
    • Vertex AI에서 실행되는 코드의 예약된 실행을 사용하여 모델의 반복 업데이트를 자동화합니다.
    • Dataproc 클러스터에서 노트북을 실행하여 데이터를 빠르게 처리합니다.
    • Vertex AI 파이프라인을 사용하여 파이프라인에서 노트북을 단계로 실행합니다.
  • Colab Enterprise는 Google Cloud의 보안 및 규정 준수 기능이 포함된 공동작업을 위한 관리형 노트북 환경입니다. 프로젝트의 우선순위에 공동 개발과 인프라 관리 노력 감소가 포함된다면 Colab Enterprise가 적합합니다. Colab Enterprise는Google Cloud 서비스 및 Gemini를 사용하는 AI 기반 지원과 통합됩니다. Colab Enterprise를 사용하면 다음 작업을 할 수 있습니다.

    • 인프라를 관리할 필요 없이 노트북에서 작업할 수 있습니다.
    • 단일 사용자, Google 그룹 또는 Google Workspace 도메인과 노트북을 공유합니다. Identity and Access Management (IAM)를 통해 노트북 액세스를 제어할 수 있습니다.
    • Vertex AI 및 BigQuery에 기본 제공된 기능과 상호작용합니다.

변경사항을 추적하고 필요한 경우 이전 버전으로 되돌리려면 노트북을 Git과 같은 버전 관리 도구와 통합하면 됩니다.

기존 모델 및 사전 학습된 모델로 시작

복잡한 모델, 특히 딥 러닝 모델을 처음부터 학습시키려면 상당한 컴퓨팅 리소스와 시간이 필요합니다. 모델 선택 및 개발 프로세스를 가속화하려면 기존 모델과 사전 학습된 모델로 시작하세요. 방대한 데이터 세트로 학습된 이러한 모델을 사용하면 모델을 처음부터 학습할 필요가 없으므로 비용과 개발 시간을 크게 줄일 수 있습니다.

교육 및 개발 비용 절감

각 ML 작업에 적합한 모델 또는 API를 선택하고 이를 결합하여 엔드 투 엔드 ML 개발 프로세스를 만듭니다.

Vertex AI Model Garden은 이미지 분류, 객체 감지, 자연어 처리와 같은 작업을 위한 다양한 선행 학습된 모델을 제공합니다. 모델은 다음 카테고리로 그룹화됩니다.

Google Cloud 는 개발자가 처음부터 모델을 빌드하지 않고도 강력한 AI 기능을 애플리케이션에 통합할 수 있는 AI 및 ML API를 제공합니다.

  • Cloud Vision API를 사용하면 이미지에서 유용한 정보를 도출할 수 있습니다. 이 API는 이미지 분석, 콘텐츠 검토, 자동 데이터 입력과 같은 애플리케이션에 유용합니다.
  • Cloud Natural Language API를 사용하면 텍스트를 분석하여 구조와 의미를 파악할 수 있습니다. 이 API는 고객 의견 분석, 콘텐츠 분류, 소셜 미디어 트렌드 파악과 같은 작업에 유용합니다.
  • Speech-to-Text API는 오디오를 텍스트로 변환합니다. 이 API는 다양한 언어와 방언을 지원합니다.
  • Video Intelligence API는 동영상 콘텐츠를 분석하여 객체, 장면, 동작을 식별합니다. 동영상 콘텐츠 분석, 콘텐츠 검토, 동영상 검색에 이 API를 사용하세요.
  • Document AI API는 문서를 처리하여 데이터를 추출, 분류, 이해합니다. 이 API를 사용하면 문서 처리 워크플로를 자동화할 수 있습니다.
  • Dialogflow API를 사용하면 챗봇, 음성 어시스턴트와 같은 대화형 인터페이스를 만들 수 있습니다. 이 API를 사용하여 고객 서비스 봇과 가상 어시스턴트를 만들 수 있습니다.
  • Vertex AI의 Gemini API는 Google의 가장 강력한 범용 AI 모델에 대한 액세스를 제공합니다.

튜닝 비용 절감

광범위한 데이터와 컴퓨팅 시간의 필요성을 줄이려면 특정 데이터 세트에서 사전 학습된 모델을 미세 조정하세요. 다음 방법을 권장합니다.

  • 학습 전이: 처음부터 시작하는 대신 사전 학습된 모델의 지식을 새 작업에 사용합니다. 이 접근 방식은 데이터와 컴퓨팅 시간이 적게 필요하므로 비용을 절감하는 데 도움이 됩니다.
  • 어댑터 조정 (파라미터 효율적 조정): 전체 미세 조정 없이 모델을 새로운 작업이나 도메인에 적응시킵니다. 이 접근 방식은 훨씬 적은 컴퓨팅 리소스와 더 작은 데이터 세트가 필요합니다.
  • 지도 미세 조정: 라벨이 지정된 데이터 세트를 사용하여 모델 동작을 조정합니다. 이 접근 방식을 사용하면 기본 인프라 관리와 맞춤 학습 작업에 필요한 개발 노력이 간소화됩니다.

Vertex AI Studio를 사용하여 살펴보고 실험하기

Vertex AI Studio를 사용하면 생성형 AI 애플리케이션을 신속하게 테스트하고, 프로토타입으로 제작하고, 배포할 수 있습니다.

  • Model Garden과의 통합: 최신 모델에 빠르게 액세스하고 모델을 효율적으로 배포하여 시간과 비용을 절약할 수 있습니다.
  • 특수 모델에 대한 통합 액세스: 채팅, 텍스트, 미디어, 번역, 음성용 모델을 비롯한 다양한 사전 학습된 모델과 API에 대한 액세스를 통합합니다. 이 통합 액세스를 사용하면 개별 서비스를 검색하고 통합하는 데 소요되는 시간을 줄일 수 있습니다.

관리형 서비스를 사용하여 모델 학습 또는 서빙

관리형 서비스를 사용하면 모델 학습 비용을 줄이고 인프라 관리를 간소화하여 모델 개발 및 최적화에 집중할 수 있습니다. 이 접근 방식을 사용하면 비용이 크게 절감되고 효율성이 향상될 수 있습니다.

운영 오버헤드 감소

인프라 관리의 복잡성과 비용을 줄이려면 다음 관리 서비스를 사용하세요.

  • Vertex AI 학습은 모델을 대규모로 학습시키기 위한 완전 관리형 환경을 제공합니다. 인기 있는 ML 프레임워크가 포함된 다양한 사전 빌드 컨테이너 중에서 선택하거나 자체 맞춤 컨테이너를 사용할 수 있습니다. Google Cloud 인프라 프로비저닝, 확장, 유지보수를 처리하므로 운영 오버헤드가 줄어듭니다.
  • Vertex AI 예측은 인프라 확장, 부하 분산, 요청 라우팅을 처리합니다. 수동 개입 없이 고가용성과 고성능을 얻을 수 있습니다.
  • Vertex AI의 Ray는 완전 관리형 Ray 클러스터를 제공합니다. 클러스터를 사용하여 자체 인프라를 관리할 필요 없이 많은 계산 (하이퍼 매개변수 조정, 모델 미세 조정, 분산 모델 학습, 인간 피드백 기반 강화 학습)을 실행하는 복잡한 맞춤 AI 워크로드를 실행할 수 있습니다.

관리형 서비스를 사용하여 리소스 사용률 최적화

효율적인 리소스 사용에 관한 자세한 내용은 리소스 사용 최적화를 참고하세요.

참여자

저자:

기타 참여자:

AI 및 ML 관점: 성능 최적화

Well-Architected Framework: AI 및 ML 관점의 이 문서에서는 Google Cloud에서 AI 및 ML 워크로드의 성능을 최적화하는 데 도움이 되는 원칙 및 권장사항을 개략적으로 설명합니다. 이 문서의 권장사항은 Google Cloud Well-Architected 프레임워크의 성능 최적화 필라와 일치합니다.

AI 및 ML 시스템을 통해 조직에서 새로운 자동화 및 의사 결정 기능을 사용할 수 있습니다. 이러한 시스템의 성능은 수익, 비용, 고객 만족도와 같은 비즈니스 동인에 직접적인 영향을 미칠 수 있습니다. AI 및 ML 시스템의 잠재력을 최대한 활용하려면 비즈니스 목표와 기술 요구사항에 따라 성능을 최적화해야 합니다. 성능 최적화 프로세스에는 특정 트레이드오프가 수반되는 경우가 많습니다. 예를 들어 필요한 성능을 제공하는 설계 선택으로 인해 비용이 증가할 수 있습니다. 이 문서의 권장사항은 비용과 같은 다른 고려사항보다 성능을 우선시합니다.

AI 및 ML 성능을 최적화하려면 모델 아키텍처, 파라미터, 학습 전략과 같은 요소를 고려하여 결정을 내려야 합니다. 이러한 결정을 내릴 때는 AI 및 ML 시스템의 전체 수명 주기와 배포 환경을 고려하세요. 예를 들어 매우 큰 LLM은 대규모 학습 인프라에서 높은 성능을 보일 수 있지만, 매우 큰 모델은 모바일 기기와 같이 용량이 제한된 환경에서는 성능이 좋지 않을 수 있습니다.

비즈니스 목표를 성능 목표로 변환

성능을 최적화하는 아키텍처 결정을 내리려면 명확한 비즈니스 목표를 설정해야 합니다. 비즈니스 목표와 우선순위를 지원하는 데 필요한 기술적 성능을 제공하는 AI 및 ML 시스템을 설계하세요. 기술팀은 실적 목표와 비즈니스 목표 간의 매핑을 이해해야 합니다.

다음 권장사항을 고려하세요.

  • 비즈니스 목표를 기술 요구사항으로 변환: AI 및 ML 시스템의 비즈니스 목표를 구체적인 기술 성능 요구사항으로 변환하고 요구사항을 충족하지 않을 때의 영향을 평가합니다. 예를 들어 고객 이탈을 예측하는 애플리케이션의 경우 ML 모델이 정확성 및 재현율과 같은 표준 측정항목에서 우수한 성능을 보여야 하며 애플리케이션이 낮은 지연 시간과 같은 운영 요구사항을 충족해야 합니다.
  • 모델 수명 주기의 모든 단계에서 성능 모니터링: 모델 배포 후 실험 및 학습 중에 핵심성과지표 (KPI)를 모니터링하고 비즈니스 목표와의 편차를 관찰합니다.
  • 평가를 자동화하여 재현 가능하고 표준화된 평가 만들기: 실험 평가를 위한 표준화되고 비교 가능한 플랫폼과 방법론을 사용하면 엔지니어가 성능 개선 속도를 높일 수 있습니다.

자주 실험 실행 및 추적

혁신과 창의성을 실적 개선으로 전환하려면 실험을 지원하는 문화와 플랫폼이 필요합니다. AI 및 ML 기술은 지속적으로 빠르게 발전하므로 성능 개선은 지속적인 프로세스입니다. 빠른 속도의 반복적인 프로세스를 유지하려면 실험 공간을 학습 및 서빙 플랫폼과 분리해야 합니다. 표준화되고 강력한 실험 프로세스가 중요합니다.

다음 권장사항을 고려하세요.

  • 실험 환경 빌드: 성능 개선에는 ML 파이프라인의 실험 및 공동 개발을 지원하는 전용의 강력한 대화형 환경이 필요합니다.
  • 실험을 문화로 내재화: 프로덕션 배포 전에 실험을 실행합니다. 새 버전을 반복적으로 출시하고 항상 성능 데이터를 수집합니다. 다양한 데이터 유형, 특성 변환, 알고리즘, 하이퍼파라미터를 실험합니다.

학습 및 서빙 서비스 빌드 및 자동화

AI 모델 학습 및 서빙은 AI 서비스의 핵심 구성요소입니다. AI 모델을 빠르고 안정적으로 생성, 배포, 제공할 수 있는 강력한 플랫폼과 관행이 필요합니다. 핵심 AI 학습 및 서빙 작업을 위한 기본 플랫폼을 만드는 데 시간과 노력을 투자하세요. 이러한 기본 플랫폼은 팀의 시간과 노력을 줄이고 중장기적으로 결과물의 품질을 개선하는 데 도움이 됩니다.

다음 권장사항을 고려하세요.

  • 학습 서비스의 AI 전문 구성요소 사용: 이러한 구성요소에는 고성능 컴퓨팅과 특성 스토어, 모델 레지스트리, 메타데이터 스토어, 모델 성능 평가 서비스와 같은 MLOps 구성요소가 포함됩니다.
  • 예측 서비스의 AI 전문 구성요소 사용: 이러한 구성요소는 고성능의 확장 가능한 리소스를 제공하고, 기능 모니터링을 지원하며, 모델 성능 모니터링을 지원합니다. 성능 저하를 방지하고 관리하려면 안정적인 배포 및 롤백 전략을 구현하세요.

성능 요구사항에 맞게 디자인 선택

성능을 개선하기 위해 디자인을 선택할 때는 선택한 디자인이 비즈니스 요구사항을 지원하는지 아니면 낭비적이고 비생산적인지 신중하게 평가하세요. 적절한 인프라, 모델 또는 구성을 선택하려면 성능 병목 현상을 파악하고 성능 측정과 어떻게 연결되는지 평가하세요. 예를 들어 매우 강력한 GPU 가속기에서도 스토리지 레이어의 데이터 I/O 문제나 모델 자체의 성능 제한으로 인해 학습 작업에 성능 병목 현상이 발생할 수 있습니다.

다음 권장사항을 고려하세요.

  • 성능 목표에 따라 하드웨어 소비 최적화: 성능 요구사항을 충족하는 ML 모델을 학습시키고 제공하려면 컴퓨팅, 스토리지, 네트워크 레이어에서 인프라를 최적화해야 합니다. 실적 목표에 영향을 미치는 변수를 측정하고 이해해야 합니다. 이러한 변수는 학습과 추론에서 다릅니다.
  • 워크로드별 요구사항에 집중: AI 및 ML 워크로드의 고유한 요구사항에 성능 최적화 노력을 집중하세요. 기본 인프라의 성능을 위해 관리형 서비스를 사용합니다.
  • 적절한 학습 전략 선택: 다양한 사전 학습 모델과 기본 모델을 사용할 수 있으며 이러한 모델이 자주 출시됩니다. 작업에 최적의 성능을 제공할 수 있는 학습 전략을 선택하세요. 자체 모델을 빌드할지, 데이터로 선행 학습된 모델을 미세 조정할지, 선행 학습된 모델 API를 사용할지 결정합니다.
  • 실적 최적화 전략의 수익이 감소할 수 있음을 인식: 특정 실적 최적화 전략이 측정 가능한 비즈니스 가치를 증대하지 않는 경우 해당 전략을 중단합니다.

혁신하고, 문제를 해결하고, 성능 문제를 조사하려면 설계 선택과 성능 결과 간의 명확한 연결을 설정하세요. 실험 외에도 애셋, 배포, 모델 출력, 출력을 생성한 구성 및 입력을 안정적으로 기록해야 합니다.

다음 권장사항을 고려하세요.

  • 데이터 및 모델 계보 시스템 구축: 배포된 모든 애셋과 그 실적 측정항목은 배포된 시스템을 생성한 데이터, 구성, 코드, 선택사항에 다시 연결되어야 합니다. 또한 모델 출력은 특정 모델 버전 및 출력이 생성된 방식과 연결되어야 합니다.
  • 설명 가능성 도구를 사용하여 모델 성능 개선: 모델 탐색 및 설명 가능성을 위한 도구와 벤치마크를 채택하고 표준화합니다. 이러한 도구를 사용하면 ML 엔지니어가 모델 동작을 이해하고 성능을 개선하거나 편향을 제거할 수 있습니다.

참여자

저자:

기타 참여자: