AI 및 ML 관점: 성능 최적화

Last reviewed 2026-02-13 UTC

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

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

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

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

성능 목표 및 평가 방법 설정

비즈니스 전략과 목표는 AI 및 ML 기술을 활용하기 위한 토대입니다. 비즈니스 목표를 측정 가능한 핵심성과지표 (KPI)로 변환합니다. KPI의 예로는 총수익, 비용, 전환율, 유지율 또는 이탈률, 고객 만족도, 직원 만족도가 있습니다.

현실적인 목표 정의

사이트 안정성 엔지니어링 (SRE) 권장사항에 따르면 서비스의 목표는 일반 고객의 요구사항을 충족하는 성능 수준을 반영해야 합니다. 즉, 서비스 목표는 규모와 기능 성능 측면에서 현실적이어야 합니다.

비현실적인 목표는 최소한의 실적 향상을 위해 리소스를 낭비하게 할 수 있습니다. 성능이 가장 높은 모델이 최적의 비즈니스 결과를 가져오지 않을 수도 있습니다. 이러한 모델은 학습하고 실행하는 데 더 많은 시간과 비용이 필요할 수 있습니다.

목표를 정의할 때는 품질 목표와 성능 목표를 구분하고 우선순위를 지정하세요.

  • 품질은 항목의 값을 결정하는 고유한 특성을 나타냅니다. 이 기능을 사용하면 법인이 기대치와 표준을 충족하는지 평가할 수 있습니다.
  • 성능은 항목이 얼마나 효율적이고 효과적으로 작동하거나 의도된 목적을 수행하는지를 나타냅니다.

ML 엔지니어는 학습 과정에서 모델의 성능 측정항목을 개선할 수 있습니다. Vertex AI는 ML 엔지니어가 품질 측정항목의 표준화되고 반복 가능한 추적을 구현하는 데 사용할 수 있는 평가 서비스를 제공합니다. 모델의 예측 효율성은 모델이 프로덕션 또는 추론 시간에 얼마나 잘 작동하는지를 나타냅니다. 성능을 모니터링하려면 Cloud MonitoringVertex AI Model Monitoring을 사용하세요. 적절한 모델을 선택하고 학습 방법을 결정하려면 비즈니스 목표를 품질 및 성능 측정항목을 결정하는 기술 요구사항으로 변환해야 합니다.

현실적인 목표를 설정하고 적절한 성능 측정항목을 식별하는 방법을 이해하려면 AI 기반 사기 감지 시스템의 다음 예를 참고하세요.

  • 비즈니스 목표: 사기 감지 시스템의 경우 비현실적인 비즈니스 목표는 초당 1, 000억 건의 트래픽이 최고조에 달할 때 1나노초 이내에 사기 거래를 100% 정확하게 감지하는 것입니다. 더 현실적인 목표는 미국 근무 시간 동안 초당 백만 건의 거래가 최고조에 달할 때 온라인 예측의 90% 에 대해 100밀리초 내에 95% 의 정확도로 사기성 거래를 감지하는 것입니다.
  • 성능 측정항목: 사기 감지는 분류 문제입니다. 재현율, F1 점수, 정확도와 같은 측정항목을 사용하여 사기 감지 시스템의 품질을 측정할 수 있습니다. 시스템 성능이나 속도를 추적하려면 추론 지연 시간을 측정하면 됩니다. 사기일 가능성이 있는 거래를 감지하는 것이 정확성보다 더 중요할 수 있습니다. 따라서 현실적인 목표는 p90 지연 시간이 100밀리초 미만인 높은 재현율일 수 있습니다.

모델 수명 주기의 모든 단계에서 성능 모니터링

실험 및 학습 중, 그리고 모델 배포 후에는 KPI를 모니터링하고 비즈니스 목표와의 편차를 관찰합니다. 종합적인 모니터링 전략은 다음과 같은 모델 품질 및 리소스 활용에 관한 중요한 결정을 내리는 데 도움이 됩니다.

  • 학습 작업을 중지할 시기를 결정합니다.
  • 프로덕션에서 모델의 성능이 저하되는지 확인합니다.
  • 새 모델의 비용과 출시 기간을 개선합니다.

실험 및 학습 중 모니터링

실험 단계의 목표는 특정 작업에 대한 최적의 전체 접근 방식, 모델 아키텍처, 초매개변수를 찾는 것입니다. 실험을 통해 최적의 성능을 제공하는 구성과 모델 학습 방법을 반복적으로 결정할 수 있습니다. 모니터링을 통해 개선이 필요한 부분을 효율적으로 파악할 수 있습니다.

모델의 품질과 학습 효율성을 모니터링하려면 ML 엔지니어가 다음을 수행해야 합니다.

  • 각 시험의 모델 품질 및 성능 측정항목을 시각화합니다.
  • 가중치 및 편향의 히스토그램과 같은 모델 그래프 및 측정항목을 시각화합니다.
  • 학습 데이터를 시각적으로 표현합니다.
  • 다양한 하드웨어에서 학습 알고리즘을 프로파일링합니다.

실험 및 학습을 모니터링하려면 다음 권장사항을 고려하세요.

모니터링 측면 권장사항
모델 품질

정확도와 같은 실험 측정항목을 시각화하고 추적하고 모델 아키텍처 또는 학습 데이터를 시각화하려면 TensorBoard를 사용하세요. TensorBoard는 다음과 같은 ML 프레임워크와 호환되는 오픈소스 도구 모음입니다.

실험 추적 Vertex AI Experiments는 관리형 엔터프라이즈급 Vertex AI TensorBoard 인스턴스와 통합되어 실험 추적을 지원합니다. 이 통합을 통해 로그와 측정항목을 안정적으로 저장하고 공유할 수 있습니다. 여러 팀과 개인이 실험을 추적할 수 있도록 최소 권한의 원칙을 사용하는 것이 좋습니다.
학습 및 실험 효율성 Vertex AI는 측정항목을 Monitoring으로 내보내고 관측 가능성 에이전트를 사용하여 원격 분석 데이터와 로그를 수집합니다. Google Cloud 콘솔에서 측정항목을 시각화할 수 있습니다. 또는 Monitoring을 사용하여 이러한 측정항목을 기반으로 대시보드나 알림을 만드세요. 자세한 내용은 Vertex AI 모니터링 측정항목을 참고하세요.
NVIDIA GPU

작업 에이전트를 사용하면 Compute Engine 및 작업 에이전트가 지원하는 기타 제품의 GPU 모니터링이 가능합니다.

클러스터 환경에서 NVIDIA GPU를 관리하고 모니터링하기 위한 도구 모음인 NVIDIA Data Center GPU Manager (DCGM)를 사용할 수도 있습니다. NVIDIA GPU 모니터링은 딥 러닝 모델을 학습시키고 제공하는 데 특히 유용합니다.

심층 디버깅 학습 코드 또는 Vertex AI Training 작업 구성 문제를 디버깅하려면 대화형 셸 세션을 사용하여 학습 컨테이너를 검사하면 됩니다.

제공 중 모니터링: 스트리밍 예측

모델을 학습시키고 Vertex AI Model Registry로 내보낸 후 Vertex AI 엔드포인트를 만들 수 있습니다. 이 엔드포인트는 모델의 HTTP 엔드포인트를 제공합니다.

모델 모니터링은 입력 또는 출력 특성의 분포에서 큰 변화를 파악하는 데 도움이 됩니다. 기준 분포와 비교하여 프로덕션에서 기능 기여도를 모니터링할 수도 있습니다. 기준 분포는 학습 세트일 수도 있고 프로덕션 트래픽의 과거 분포를 기반으로 할 수도 있습니다. 제공 분포의 변화는 학습에 비해 예측 성능이 감소했음을 의미할 수 있습니다.

  • 모니터링 목표 선택: 모델에 제공되는 데이터의 변화에 대한 사용 사례의 민감도에 따라 입력 특성 드리프트, 출력 드리프트, 특성 기여도 등 다양한 유형의 목표를 모니터링할 수 있습니다. 모델 모니터링 v2를 사용하면 Vertex AI와 같은 관리형 서빙 플랫폼과 Google Kubernetes Engine (GKE)과 같은 자체 호스팅 서비스에 배포된 모델을 모니터링할 수 있습니다. 또한 세부적인 성능 추적을 위해 엔드포인트가 아닌 모델 수준에서 매개변수를 모니터링할 수 있습니다.
  • 생성형 AI 모델 서빙 모니터링: 안정성을 보장하고 지연 시간을 최소화하려면 특히 LLM 엔드포인트의 경우 강력한 모니터링 스택을 설정하세요. Gemini 모델은 첫 번째 토큰까지의 시간 (TTFT)과 같은 내장 측정항목을 제공하며, 이러한 측정항목은 측정항목 탐색기에서 직접 액세스할 수 있습니다. 모든Google Cloud 모델의 처리량, 지연 시간, 오류율을 모니터링하려면 모델 모니터링 가능성 대시보드를 사용하세요.

서빙 중 모니터링: 일괄 예측

일괄 예측을 모니터링하려면 Vertex AI 평가 서비스에서 표준 평가 작업을 실행하면 됩니다. Model Monitoring은 일괄 추론 모니터링을 지원합니다. 배치를 사용하여 서빙 워크로드를 실행하는 경우 측정항목 탐색기의 측정항목을 사용하여 리소스 소비를 모니터링할 수 있습니다.

재현성 및 표준화를 위한 평가 자동화

프로토타입에서 안정적인 프로덕션 시스템으로 모델을 전환하려면 표준화된 평가 프로세스가 필요합니다. 이 프로세스를 통해 반복 작업 전반의 진행 상황을 추적하고, 다양한 모델을 비교하고, 편향을 감지하고 완화하며, 규제 요구사항을 충족할 수 있습니다. 재현성과 확장성을 보장하려면 평가 프로세스를 자동화해야 합니다.

ML 성능 평가 프로세스를 표준화하고 자동화하려면 다음 단계를 완료하세요.

  1. 정량적 및 정성적 지표를 정의합니다.
  2. 적절한 데이터 소스와 기법을 선택합니다.
  3. 평가 파이프라인을 표준화합니다.

이러한 단계는 다음 섹션에서 설명합니다.

1. 정량적 및 정성적 지표 정의

계산 기반 측정항목은 숫자 공식을 사용하여 계산됩니다. 학습 손실 측정항목은 비즈니스 목표와 관련된 평가 측정항목과 다를 수 있습니다. 예를 들어 지도 사기 감지에 사용되는 모델은 학습에 교차 엔트로피 손실을 사용할 수 있습니다. 하지만 추론 성능을 평가하려면 사기 거래의 범위를 나타내는 재현율이 더 적절한 측정항목일 수 있습니다. Vertex AI는 재현율, 정밀도, 정밀도-재현율 곡선 아래 면적 (AuPRC)과 같은 측정항목을 위한 평가 서비스를 제공합니다. 자세한 내용은 Vertex AI의 모델 평가를 참고하세요.

정성적 지표(예: 생성된 콘텐츠의 유창성 또는 재미)는 객관적으로 계산할 수 없습니다. 이러한 지표를 평가하려면 LLM-as-a-judge 전략이나 Labelbox와 같은 인적 라벨링 서비스를 사용하면 됩니다.

2. 적절한 데이터 소스 및 기법 선택

평가는 다양한 예의 특정 최소 볼륨에서 실행될 때 통계적으로 유의미합니다. 다음과 같은 방법을 사용하여 평가에 사용할 데이터 세트와 기법을 선택합니다.

  • 골든 데이터 세트: 프로덕션의 모델 확률 분포를 반영하는 신뢰할 수 있고 일관되며 정확한 데이터 샘플을 사용합니다.
  • LLM-as-a-judge: LLM을 사용하여 생성형 모델의 출력을 평가합니다. 이 접근 방식은 LLM이 모델을 평가할 수 있는 작업에만 관련이 있습니다.
  • 사용자 의견: 향후 개선을 위해 프로덕션 트래픽의 일부로 직접적인 사용자 의견을 수집합니다.

평가 기법, 평가 데이터의 크기 및 유형, 평가 빈도에 따라 Vertex AI 평가 서비스를 비롯한 데이터 소스로 BigQuery 또는 Cloud Storage를 사용할 수 있습니다.

3. 평가 파이프라인 표준화

평가 프로세스를 자동화하려면 다음 서비스와 도구를 고려하세요.

  • Vertex AI 평가 서비스: Vertex AI의 ML 수명 주기의 일부로 모델 성능을 추적하는 데 사용할 수 있는 기본 요소를 제공합니다.
  • 생성형 AI 평가 서비스: 생성형 모델이나 애플리케이션을 평가하고 자체 판단 및 평가 기준에 따라 평가 결과를 벤치마킹할 수 있습니다. 이 서비스는 프롬프트 엔지니어링, 검색 증강 생성 (RAG), AI 에이전트 최적화와 같은 전문적인 작업을 수행하는 데도 도움이 됩니다.
  • Vertex AI 자동 정렬 (AutoSxS) 도구: 쌍별 모델 기반 평가를 지원합니다.
  • Kubeflow: 모델 평가를 실행하는 특수 구성요소를 제공합니다.

자주 실험 실행 및 추적

ML 성능을 효과적으로 최적화하려면 실험을 위한 전용의 강력한 대화형 플랫폼이 필요합니다. 플랫폼에는 다음 기능이 있어야 합니다.

  • 팀이 아이디어에서 검증된 결과로 신속하고 안정적이며 확장 가능한 방식으로 이동할 수 있도록 반복적인 개발을 지원합니다.
  • 팀이 학습 작업을 트리거하는 데 사용할 수 있는 최적의 구성을 효율적으로 검색할 수 있도록 지원합니다.
  • 실험을 실행하고 추적하는 데 필요한 관련 데이터, 기능, 도구에 대한 제어된 액세스를 제공합니다.
  • 재현성 및 데이터 계보 추적 지원

데이터를 서비스로 취급

다음 기법을 사용하여 실험적 워크로드를 프로덕션 시스템에서 격리하고 데이터 애셋에 적절한 보안 제어를 설정하세요.

기법 설명 이점
리소스 격리 별도의 Google Cloud 프로젝트에서 여러 환경의 리소스를 격리합니다. 예를 들어 ml-dev, ml-staging, ml-prod와 같은 별도의 프로젝트에서 개발, 스테이징, 프로덕션 환경의 리소스를 프로비저닝합니다. 리소스 격리는 실험적 워크로드가 프로덕션 시스템에 필요한 리소스를 소비하지 않도록 방지하는 데 도움이 됩니다. 예를 들어 실험 프로덕션에 단일 프로젝트를 사용하는 경우 실험에서 Vertex AI Training에 사용할 수 있는 모든 NVIDIA A100 GPU를 사용할 수 있습니다. 이로 인해 중요한 프로덕션 모델의 재학습이 중단될 수 있습니다.
ID 및 액세스 제어 제로 트러스트 및 최소 권한 원칙을 적용하고 워크로드별 서비스 계정을 사용합니다. Vertex AI 사용자 (roles/aiplatform.user)와 같은 사전 정의된 ID 및 액세스 관리(IAM) 역할을 사용하여 액세스 권한을 부여합니다. 이 접근 방식은 실험을 손상시킬 수 있는 실수 또는 악의적인 행위를 방지하는 데 도움이 됩니다.
네트워크 보안 가상 프라이빗 클라우드 (VPC) 네트워크를 사용하여 네트워크 트래픽을 격리하고 VPC 서비스 제어를 사용하여 보안 경계를 적용합니다. 이 접근 방식을 사용하면 민감한 데이터를 보호하고 실험 트래픽이 프로덕션 서비스에 영향을 미치지 않도록 할 수 있습니다.
데이터 격리 실험 데이터를 별도의 Cloud Storage 버킷과 BigQuery 데이터 세트에 저장합니다. 데이터 격리는 프로덕션 데이터의 실수로 인한 수정을 방지합니다. 예를 들어 데이터 격리가 없으면 실험에서 공유 BigQuery 테이블의 기능 값을 실수로 변경할 수 있으며, 이로 인해 프로덕션 환경에서 모델 정확도가 크게 저하될 수 있습니다.

팀에 적절한 도구 제공

데이터 탐색부터 모델 학습 및 분석에 이르기까지 전체 실험 수명 주기를 가속화하기 위해 선별된 도구 세트를 설정하려면 다음 기법을 사용하세요.

  • 대화형 프로토타입 제작: 신속한 데이터 탐색, 가설 테스트, 코드 프로토타입 제작을 위해 Vertex AI Workbench에서 Colab Enterprise 또는 관리형 JupyterLab 인스턴스를 사용합니다. 자세한 내용은 노트북 솔루션 선택을 참고하세요.
  • 확장 가능한 모델 학습: 분산 학습과 확장 가능한 컴퓨팅 리소스(예: GPU, TPU)를 지원하는 관리형 서비스에서 학습 작업을 실행합니다. 이 접근 방식을 사용하면 학습 시간을 며칠에서 몇 시간으로 줄이고 더 많은 병렬 실험을 실행할 수 있습니다. 자세한 내용은 학습에 특수 구성요소 사용을 참고하세요.
  • 인 데이터베이스 ML: SQL을 사용하여 BigQuery ML에서 직접 모델을 학습시킵니다. 이 기법은 데이터 이동을 없애고 분석가와 SQL 중심 사용자의 실험을 가속화하는 데 도움이 됩니다.
  • 실험 추적: 모든 실험 실행에 대해 매개변수, 측정항목, 아티팩트를 로깅하여 검색 가능하고 비교 가능한 실험 데이터 기록을 만듭니다. 자세한 내용은 데이터 및 모델 계보 시스템 빌드를 참고하세요.
  • 생성형 AI 최적화: 생성형 AI 애플리케이션의 성능을 최적화하려면 프롬프트, 모델 선택, 미세 조정으로 실험해야 합니다. 빠른 프롬프트 엔지니어링을 위해서는 Vertex AI Studio를 사용하세요. 기반 모델 (예: Gemini)을 실험하고 사용 사례 및 비즈니스 목표에 적합한 모델을 찾으려면 Model Garden을 사용하세요.

재현성 및 효율성을 위해 표준화

실험에서 리소스를 효율적으로 사용하고 일관되고 신뢰할 수 있는 결과를 생성하도록 하려면 다음 방법을 사용하여 실험을 표준화하고 자동화하세요.

  • 컨테이너를 사용하여 일관된 환경 보장: 학습 코드와 종속 항목을 Docker 컨테이너로 패키징합니다. Artifact Registry를 사용하여 컨테이너를 관리하고 제공합니다. 이 접근 방식을 사용하면 동일한 환경에서 실험을 반복하여 여러 머신에서 문제를 재현할 수 있습니다. Vertex AI는 서버리스 학습을 위한 사전 빌드된 컨테이너를 제공합니다.
  • ML 워크플로를 파이프라인으로 자동화: Vertex AI Pipelines를 사용하여 엔드 투 엔드 ML 워크플로를 코딩된 파이프라인으로 조정합니다. 이 접근 방식을 사용하면 일관성을 적용하고, 재현성을 보장하며, Vertex ML Metadata에서 모든 아티팩트와 메타데이터를 자동으로 추적할 수 있습니다.
  • 코드형 인프라 (IaC)로 프로비저닝 자동화: Terraform과 같은 IaC 도구를 사용하여 표준화된 실험 환경을 정의하고 배포합니다. 모든 프로젝트가 보안, 네트워킹, 거버넌스를 위한 표준화된 구성 집합을 준수하도록 하려면 Terraform 모듈을 사용하세요.

학습 및 서빙 인프라 구축 및 자동화

AI 모델을 학습시키고 제공하려면 효율적이고 안정적인 개발, 배포, 제공을 지원하는 강력한 플랫폼을 설정하세요. 이 플랫폼을 사용하면 팀에서 장기적으로 학습 및 제공의 품질과 성능을 효율적으로 개선할 수 있습니다.

학습에 특수 구성요소 사용

안정적인 학습 플랫폼은 성능을 가속화하고 데이터 준비부터 모델 검증에 이르기까지 ML 수명 주기에서 반복 가능한 작업을 자동화하는 표준화된 접근 방식을 제공합니다.

  • 데이터 수집 및 준비: 효과적인 모델 학습을 위해서는 학습, 테스트, 검증에 필요한 데이터를 수집하고 준비해야 합니다. 데이터는 다양한 소스에서 제공되며 데이터 유형도 다양할 수 있습니다. 또한 학습 실행 전반에서 관련 데이터를 재사용하고 팀 간에 기능을 공유해야 합니다. 데이터 수집 및 준비 단계의 반복 가능성을 개선하려면 다음 권장사항을 고려하세요.

  • 학습 실행: 모델을 학습시킬 때 데이터를 사용하여 모델 객체를 만듭니다. 이렇게 하려면 학습 코드의 필수 인프라와 종속 항목을 설정해야 합니다. 학습 모델을 유지하고, 학습 진행 상황을 추적하고, 모델을 평가하고, 결과를 표시하는 방법도 결정해야 합니다. 학습 반복 가능성을 개선하려면 다음 권장사항을 고려하세요.

  • 학습 조정: Vertex AI Pipelines를 사용하여 학습 워크로드를 파이프라인의 단계로 배포합니다. 이 서비스는 관리형 KubeflowTFX 서비스를 제공합니다. 파이프라인의 각 단계를 컨테이너에서 실행되는 구성요소로 정의합니다. 각 구성요소는 함수처럼 작동하며, 입력 매개변수와 출력 아티팩트는 파이프라인의 후속 구성요소에 입력이 됩니다. 파이프라인의 효율성을 최적화하려면 다음 표의 권장사항을 고려하세요.

    목표 권장사항
    핵심 자동화를 구현합니다.
    속도와 비용 효율성을 높입니다.
    • 반복 속도를 높이고 비용을 절감하려면 Vertex AI Pipelines의 실행 캐시를 사용하세요.
    • 각 단계의 리소스 요구사항에 따라 각 구성요소의 머신 구성을 지정합니다.
    안정성 향상
    거버넌스 및 추적을 구현합니다.

예측을 위해 전문 인프라 사용

인프라 및 모델 배포 관리의 작업을 줄이려면 반복 가능한 작업 흐름을 자동화하세요. 서비스 지향 접근 방식을 사용하면 속도와 더 빠른 가치 실현 시간 (TTV)에 집중할 수 있습니다. 다음 권장사항을 고려하세요.

권장사항 기법
자동 배포를 구현합니다.
  • 모델이 학습된 후 자동화를 사용하여 모델을 배포합니다. Vertex AI Pipelines는 모델을 Vertex AI 엔드포인트에 배포하기 위한 전문 구성요소를 제공합니다. Kubeflow Control Flows를 사용하여 자동 배포를 관리할 수 있습니다.
  • 검증 세트에 대한 평가를 기반으로 모델을 배포할지 여부를 결정하려면 파이프라인의 평가 구성요소를 활용하세요. Vertex AI의 전문 일괄 예측 구성요소를 사용하여 일괄 추론 배포를 자동화할 수 있습니다.
관리형 확장 기능을 활용하세요.
Vertex AI 엔드포인트에서 지연 시간과 처리량을 최적화합니다.
  • 적절한 머신 유형을 선택합니다.
  • 모델에 적합한 엔드포인트 유형을 선택합니다. 전용 비공개 엔드포인트는 지연 시간을 줄이는 데 도움이 될 수 있습니다.
  • Vertex AI Feature Store를 사용하는 경우 적절한 온라인 서빙 유형을 선택합니다. Private Service Connect를 사용하는 최적화된 온라인 서빙은 지연 시간이 짧을 수 있습니다. 자세한 내용은 온라인 서비스 유형을 참고하세요.
리소스 사용률을 최적화합니다.
모델 배포를 최적화합니다.
  • 호환성이 깨지는 변경사항을 방지하려면 점진적 마이그레이션을 실행하고 동일한 엔드포인트에 여러 모델을 배포하여 A/B 테스트를 구현하면 됩니다. Vertex AI는 엔드포인트 레이어를 모델에서 분리하므로 모델 버전 간에 트래픽을 분할할 수 있습니다.
  • 배포된 모델을 바꾸려면 롤링 배포 전략을 사용하세요.
성능 모니터링
  • 프로덕션에서 제공 성능을 개선하려면 Vertex AI 엔드포인트의 로그추론 측정항목을 관찰하세요. 프로덕션에서 모델의 동작을 이해하려면 품질과 성능을 모니터링하는 도구가 필요합니다. Model Monitoring v2를 사용하면 모델의 여러 버전을 모니터링하고 빠르게 반복할 수 있습니다.

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

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

ML 흐름의 전체적인 성능에 집중

모델 크기와 클러스터 크기 측면에서 학습 요구사항이 증가하면 실패율과 인프라 비용이 증가할 수 있습니다. 따라서 실패 비용이 2차 함수로 증가할 수 있습니다. 모델 FLOPS 사용률 (MFU)과 같은 기존 리소스 효율성 측정항목에만 의존할 수는 없습니다. MFU가 전체 학습 성능의 충분한 지표가 아닐 수 있는 이유를 이해하려면 일반적인 학습 작업의 수명 주기를 살펴보세요. 수명 주기는 다음과 같은 순환 흐름으로 구성됩니다.

  1. 클러스터 생성: 워커 노드가 프로비저닝됩니다.
  2. 초기화: 워커 노드에서 학습이 초기화됩니다.
  3. 학습 실행: 리소스는 순방향 또는 역방향 전파에 사용됩니다.
  4. 중단: 모델 체크포인트 지정 중에 또는 작업자 노드 선점으로 인해 학습 프로세스가 중단됩니다.

각 중단 후에는 이전 흐름이 반복됩니다.

학습 실행 단계는 ML 작업 수명 주기의 일부를 구성합니다. 따라서 학습 실행 단계의 작업자 노드 사용률은 작업의 전반적인 효율성을 나타내지 않습니다. 예를 들어 학습 실행 단계가 100% 효율로 실행되더라도 중단이 자주 발생하거나 중단 후 학습을 재개하는 데 시간이 오래 걸리면 전체 효율성이 낮을 수 있습니다.

굿풋 측정항목 채택 및 추적

전체적인 성능 측정 및 최적화를 위해 MFU와 같은 기존 리소스 효율성 측정항목에서 goodput으로 초점을 전환하세요. Goodput은 클러스터 및 컴퓨팅 리소스의 가용성과 사용률을 고려하며 여러 레이어에서 리소스 효율성을 측정하는 데 도움이 됩니다.

유효 처리량 측정항목의 초점은 작업이 바쁜 것으로 보이는지가 아니라 작업의 전체 진행 상황입니다. 굿풋 측정항목은 생산성과 성능을 전반적으로 실질적으로 개선하도록 학습 작업을 최적화하는 데 도움이 됩니다.

굿풋은 다음 측정항목을 통해 효율성 손실 가능성을 세부적으로 파악할 수 있도록 지원합니다.

  • 스케줄링 굿풋은 학습 또는 서빙에 필요한 모든 리소스를 사용할 수 있는 시간의 비율입니다.
  • 런타임 굿풋은 지정된 기간 동안 완료된 유용한 학습 단계의 비율을 나타냅니다.
  • 프로그램 굿풋은 학습 작업이 가속기에서 추출할 수 있는 최대 하드웨어 성능 또는 MFU입니다. 학습 중에 기본 컴퓨팅 리소스를 효율적으로 활용하는지에 따라 달라집니다.

스케줄링 굿풋 최적화

워크로드의 스케줄링 처리량을 최적화하려면 워크로드의 구체적인 인프라 요구사항을 파악해야 합니다. 예를 들어 배치 추론, 스트리밍 추론, 학습에는 다음과 같은 요구사항이 있습니다.

  • 일괄 추론 워크로드는 리소스 가용성의 일부 중단과 지연을 수용할 수 있습니다.
  • 스트리밍 추론 워크로드에는 스테이트리스 인프라가 필요합니다.
  • 학습 워크로드에는 장기적인 인프라 약정이 필요합니다.
적절한 획득 가능성 모드 선택

클라우드 컴퓨팅에서 획득 가능성은 리소스가 필요할 때 리소스를 프로비저닝하는 기능입니다. Google Cloud 는 다음 획득 가능성 모드를 제공합니다.

  • 주문형 VM: 필요할 때 Compute Engine VM을 프로비저닝하고 VM에서 워크로드를 실행합니다. 프로비저닝 요청은 GPU와 같은 리소스의 가용성에 따라 달라집니다. 요청된 리소스 유형의 수량이 충분하지 않으면 요청이 실패합니다.
  • 스팟 VM: 미사용 컴퓨팅 용량을 사용하여 VM을 만듭니다. 스팟 VM은 주문형 VM에 비해 할인된 가격으로 청구되지만 언제든지 스팟 VM을Google Cloud 선점할 수 있습니다. 호스트 VM이 선점될 때 정상적으로 실패할 수 있는 스테이트리스(Stateless) 워크로드에는 스팟 VM을 사용하는 것이 좋습니다.
  • 예약: VM 풀로 용량을 예약합니다. 예약은 용량 보장이 필요한 워크로드에 적합합니다. 필요할 때 리소스를 사용할 수 있도록 하여 예약을 사용하여 스케줄링 처리량을 극대화합니다.
  • 동적 워크로드 스케줄러: 이 프로비저닝 메커니즘은 전용 풀에서 GPU 기반 VM 요청을 대기열에 추가합니다. 동적 워크로드 스케줄러를 사용하면 다른 획득 가능성 모드의 제약사항을 피할 수 있습니다.

    • 주문형 모드의 품절 상황입니다.
    • Spot VM의 상태 비저장 제약 조건 및 선점 위험
    • 예약의 비용 및 가용성 영향

다음 표에는 Google Cloud서비스의 획득 가능 모드가 요약되어 있으며 관련 문서로 연결되는 링크가 제공됩니다.

Product 주문형 VM 스팟 VM 예약 동적 워크로드 스케줄러
Compute Engine Compute Engine 인스턴스 만들기 및 시작하기 스팟 VM 정보 예약 정보 GPU VM으로 MIG 만들기
GKE 노드 풀 추가 및 관리 GKE의 스팟 VM 정보 예약된 영역별 리소스 사용 유연한 시작 프로비저닝을 사용한 GPU, TPU, H4D 소비
Cloud Batch 작업 만들기 및 실행 스팟 VM이 있는 배치 작업 VM 예약을 사용하여 리소스 가용성 확보 GPU 및 flex-start VM 사용
Vertex AI Training 서버리스 학습 작업 만들기 학습 작업에 스팟 VM 사용 학습 작업에 예약 사용 리소스 가용성 기반의 학습 작업 예약
Vertex AI 커스텀 학습 모델에서 일괄 추론온라인 추론을 가져옵니다. 추론에 스팟 VM 사용 온라인 추론을 위해 예약 사용 추론에 flex-start VM 사용
유지보수 이벤트 계획

인프라 유지보수 및 업그레이드를 예측하고 계획하여 스케줄링 처리량을 개선할 수 있습니다.

  • GKE를 사용하면 클러스터에서 자동 클러스터 유지보수를 실행할 수 있는 시기를 제어할 수 있습니다. 자세한 내용은 유지보수 기간 및 제외를 참고하세요.

  • Compute Engine은 다음 기능을 제공합니다.

    • 기본 하드웨어의 계획된 유지보수와 같은 호스트 이벤트 중에도 인스턴스를 계속 실행하려면 Compute Engine에서 인스턴스를 동일한 영역의 다른 호스트로 라이브 마이그레이션합니다. 자세한 내용은 유지보수 이벤트 중 라이브 마이그레이션 프로세스를 참고하세요.
    • 기본 호스트에 유지보수가 필요하거나 오류가 있을 때 인스턴스가 응답하는 방식을 제어하려면 인스턴스의 호스트 유지보수 정책을 설정하면 됩니다.
  • AI 하이퍼컴퓨터의 대규모 학습 클러스터와 관련된 호스트 이벤트 계획에 관한 자세한 내용은 컴퓨팅 인스턴스 전반에서 호스트 이벤트 관리를 참고하세요.

런타임 굿풋 최적화

모델 학습 프로세스는 모델 체크포인트 및 리소스 선점과 같은 이벤트로 인해 자주 중단됩니다. 런타임 굿풋을 최적화하려면 필요한 인프라가 준비되고 중단이 발생한 후 시스템이 학습과 추론을 효율적으로 재개해야 합니다.

모델 학습 중에 AI 연구원은 체크포인트를 사용하여 진행 상황을 추적하고 리소스 선점으로 인해 손실되는 학습을 최소화합니다. 모델 크기가 클수록 체크포인트 지정 중단 시간이 길어져 전반적인 효율성에 영향을 미칩니다. 중단 후에는 클러스터의 모든 노드에서 학습 애플리케이션을 다시 시작해야 합니다. 필요한 아티팩트를 다시 로드해야 하므로 이러한 다시 시작에는 시간이 걸릴 수 있습니다.

런타임 처리량을 최적화하려면 다음 기법을 사용하세요.

기법 설명
자동 체크포인트를 구현합니다.

체크포인트를 자주 설정하면 세부적인 수준에서 학습 진행 상황을 추적할 수 있습니다. 하지만 각 체크포인트마다 학습 프로세스가 중단되어 런타임 처리량이 줄어듭니다. 중단을 최소화하려면 호스트의 SIGTERM 신호가 체크포인트 생성을 트리거하는 자동 체크포인트를 설정하면 됩니다. 이 접근 방식은 호스트에 유지보수가 필요한 경우에만 체크포인트 중단을 제한합니다. 일부 하드웨어 오류는 SIGTERM 신호를 트리거하지 않을 수 있으므로 자동 체크포인트와 SIGTERM 이벤트 간에 적절한 균형을 찾아야 합니다.

다음 기법을 사용하여 자동 체크포인트를 설정할 수 있습니다.

적절한 컨테이너 로드 전략을 사용합니다.

GKE 클러스터에서 노드가 학습 작업을 재개하기 전에 데이터 또는 모델 체크포인트와 같은 필수 아티팩트를 로드하는 데 시간이 걸릴 수 있습니다. 데이터를 다시 로드하고 학습을 재개하는 데 필요한 시간을 줄이려면 다음 기법을 사용하세요.

데이터 다시 로드 시간을 줄이는 방법에 관한 자세한 내용은 GKE에서 콜드 스타트 지연 시간을 줄이는 팁과 요령을 참고하세요.

컴파일 캐시를 사용합니다. 학습에 컴파일 기반 스택이 필요한 경우 컴파일 캐시를 사용할 수 있는지 확인합니다. 컴파일 캐시를 사용하면 각 학습 중단 후 계산 그래프가 다시 컴파일되지 않습니다. 시간과 비용이 절감되므로 TPU를 사용할 때 특히 유용합니다. JAX를 사용하면 컴파일 캐시를 Cloud Storage 버킷에 저장한 다음 중단 시 캐시된 데이터를 사용할 수 있습니다.

프로그램 굿풋 최적화

프로그램 굿풋은 학습 중 최대 리소스 사용률을 나타내며, 이는 학습 및 제공 효율성을 측정하는 기존 방식입니다. 프로그램 처리량을 개선하려면 최적화된 배포 전략, 효율적인 컴퓨팅-통신 중복, 최적화된 메모리 액세스, 효율적인 파이프라인이 필요합니다.

프로그램 처리량을 최적화하려면 다음 전략을 사용하세요.

전략 설명
프레임워크 수준 맞춤설정 옵션을 사용합니다. XLA (Accelerated Linear Algebra)와 같은 프레임워크나 컴파일러는 프로그램 굿풋의 여러 핵심 구성요소를 제공합니다. 성능을 더욱 최적화하려면 계산 그래프의 기본 구성요소를 맞춤설정하면 됩니다. 예를 들어 Pallas는 TPU 및 GPU용 맞춤 커널을 지원합니다.
호스트 DRAM에 메모리 오프로드 액셀러레이터의 메모리가 매우 많이 필요한 대규모 학습의 경우 일부 메모리 사용량을 호스트 DRAM으로 오프로드할 수 있습니다. 예를 들어 XLA를 사용하면 가속기 메모리를 사용하는 대신 순방향 패스에서 호스트 메모리로 모델 활성화를 오프로드할 수 있습니다. 이 전략을 사용하면 모델 용량이나 배치 크기를 늘려 학습 성능을 개선할 수 있습니다.
학습 중에 양자화를 활용합니다.

학습 중에 모델 양자화를 활용하여 학습 효율성과 프로그램 처리량을 개선할 수 있습니다. 이 전략은 학습의 특정 단계에서 그라데이션 또는 가중치의 정밀도를 줄이므로 프로그램 굿풋이 개선됩니다. 하지만 이 전략을 사용하면 모델 개발 중에 추가 엔지니어링 노력이 필요할 수 있습니다.

자세한 내용은 다음 리소스를 참조하세요.

동시 로드를 구현합니다.

사용 가능한 컴퓨팅 리소스의 활용률을 높이려면 학습 중 및 데이터를 로드할 때 모델 수준에서 병렬 처리 전략을 사용하면 됩니다.

모델 병렬 처리에 대한 자세한 내용은 다음을 참고하세요.

데이터 병렬 처리를 달성하려면 다음과 같은 도구를 사용하면 됩니다.

워크로드별 요구사항에 집중

성능 최적화 노력이 효과적이고 전체적으로 이루어지도록 하려면 최적화 결정을 학습 및 추론 워크로드의 특정 요구사항에 맞춰야 합니다. 적절한 AI 모델을 선택하고 관련 프롬프트 최적화 전략을 사용합니다. 워크로드 요구사항에 따라 적절한 프레임워크와 도구를 선택합니다.

워크로드별 요구사항 식별

다음 영역에서 워크로드의 요구사항과 제약 조건을 평가합니다.

영역 설명
작업 및 품질 요구사항

워크로드의 핵심 작업과 성능 기준을 정의합니다. 다음과 같은 질문에 답합니다.

  • 태스크에 회귀, 분류 또는 생성이 포함되나요?
  • 허용되는 최소 품질(예: 정확성, 정밀도, 재현율)은 무엇인가요?
게재 컨텍스트

모델을 배포할 운영 환경을 분석합니다. 서빙 컨텍스트는 디자인 결정에 큰 영향을 미치는 경우가 많습니다. 다음 요소를 고려하세요.

  • 지연 시간: 시스템에 실시간 동기 예측이 필요한가요? 아니면 비동기 일괄 처리가 허용되나요?
  • 연결: 오프라인 또는 에지 기기에서 모델을 실행해야 하나요?
  • 볼륨: 예측 부하의 예상 평균 및 최대 수준은 얼마인가요? 부하 수준은 확장 전략 및 인프라에 관한 결정에 영향을 미칩니다.
팀 기술 및 경제 솔루션을 구매하는 비즈니스 가치를 솔루션을 빌드하고 유지하는 데 드는 비용 및 복잡성과 비교하여 평가합니다. 팀에 맞춤 모델 개발에 필요한 전문 기술이 있는지 또는 관리형 서비스가 더 빠른 가치 창출 시간을 제공할 수 있는지 확인합니다.

적절한 모델 선택

API 또는 공개 모델이 필요한 성능과 품질을 제공할 수 있다면 해당 API 또는 모델을 사용하세요.

  • 광학 문자 인식 (OCR), 라벨 지정, 콘텐츠 조정과 같은 모달리티별 작업의 경우 다음과 같은 ML API를 선택하세요.

  • 생성형 AI 애플리케이션의 경우 Gemini, Imagen, Veo와 같은 Google 모델을 고려하세요.

    Model Garden을 살펴보고 선별된 파운데이션 모델 및 작업별 Google 모델 중에서 선택하세요. Model Garden은 Vertex AI에서 실행하거나 GKE와 같은 런타임에 배포할 수 있는 Gemma와 같은 오픈 모델과 서드 파티 모델도 제공합니다.

  • ML API 또는 생성형 AI 모델을 사용하여 작업을 완료할 수 있는 경우 작업의 복잡성을 고려하세요. 복잡한 작업의 경우 Gemini와 같은 대규모 모델이 소규모 모델보다 더 높은 성능을 제공할 수 있습니다.

더 나은 프롬프트를 통해 품질 개선

프롬프트의 품질을 대규모로 개선하려면 Vertex AI 프롬프트 옵티마이저를 사용하세요. 시스템 안내와 프롬프트를 수동으로 다시 작성할 필요가 없습니다. 프롬프트 최적화 도구는 다음 접근 방식을 지원합니다.

  • 제로샷 최적화: 단일 프롬프트 또는 시스템 요청 사항을 실시간으로 개선하는 지연 시간이 짧은 접근 방식입니다.
  • 데이터 기반 최적화: 특정 평가 측정항목을 기준으로 샘플 프롬프트에 대한 모델의 응답을 평가하여 프롬프트를 개선하는 고급 접근 방식입니다.

프롬프트 최적화 가이드라인에 대한 자세한 내용은 프롬프트 전략 개요를 참고하세요.

ML 및 생성형 AI 엔드포인트의 성능 개선

ML 및 생성형 AI 엔드포인트의 지연 시간 또는 처리량 (초당 토큰 수)을 개선하려면 다음 권장사항을 고려하세요.

로우 코드 솔루션 및 조정 사용

선행 학습된 모델이 요구사항을 충족하지 않는 경우 다음 솔루션을 사용하여 특정 도메인에서 모델의 성능을 개선할 수 있습니다.

  • AutoML은 다양한 작업에서 최소한의 기술적 노력으로 추론 결과를 개선할 수 있는 로우 코드 솔루션입니다. AutoML을 사용하면 아키텍처, 성능, 학습 단계 (체크포인트를 통해) 등 여러 측면에서 최적화된 모델을 만들 수 있습니다.
  • 튜닝을 사용하면 짧은 프롬프트와 많은 데이터 없이도 더 높은 품질과 더 안정적인 생성, 더 낮은 지연 시간을 달성할 수 있습니다. 하이퍼 매개변수의 기본값을 사용하여 조정하는 것이 좋습니다. 자세한 내용은 Gemini 지도 미세 조정: 권장사항 가이드를 참고하세요.

자체 관리 교육 최적화

경우에 따라 모델을 재학습하거나 미세 조정 작업을 완전히 관리할 수 있습니다. 이 접근 방식에는 사용하는 모델, 프레임워크, 리소스에 따라 고급 기술과 추가 시간이 필요합니다.

다음과 같은 성능 최적화 프레임워크 옵션을 활용하세요.

  • 최신 소프트웨어 종속 항목과Google Cloud전용 라이브러리가 포함된 딥 러닝 이미지 또는 컨테이너를 사용합니다.

  • Google Cloud에서 Ray를 사용하여 모델 학습을 실행합니다.

    • Vertex AI 기반 Ray를 사용하면 Ray의 분산 학습 프레임워크를 Compute Engine 또는 GKE로 가져올 수 있으며 프레임워크 관리 오버헤드가 간소화됩니다.
    • 기존 클러스터에 Ray 연산자를 배포하여 KubeRay로 GKE에서 Ray를 자체 관리할 수 있습니다.
  • 오픈소스 Cluster Toolkit을 사용하여 프로비저닝한 컴퓨팅 클러스터에 학습 워크로드를 배포합니다. 성능 최적화 클러스터를 효율적으로 프로비저닝하려면 YAML 기반 청사진을 사용하세요. Slurm 및 GKE와 같은 스케줄러를 사용하여 클러스터를 관리합니다.

  • GPU 최적화 레시피를 사용하여 표준 모델 아키텍처를 학습합니다.

다음 기법을 사용하여 성능을 최적화하는 학습 아키텍처와 전략을 빌드합니다.

  • Vertex AI 또는 앞에서 설명한 프레임워크에서 분산 학습을 구현합니다. 분산 학습을 사용하면 모델 병렬 처리와 데이터 병렬 처리가 가능하므로 학습 데이터 세트 크기와 모델 크기를 늘리고 학습 시간을 줄일 수 있습니다.
  • 효율적인 모델 학습과 다양한 성능 구성을 탐색하려면 적절한 간격으로 체크포인트를 실행하세요. 자세한 내용은 런타임 처리량 최적화를 참고하세요.

자체 관리형 서빙 최적화

자체 관리형 서빙의 경우 효율적인 추론 작업과 높은 처리량 (단위 시간당 추론 수)이 필요합니다.

추론을 위해 모델을 최적화하려면 다음 방법을 고려하세요.

  • 양자화: 낮은 정밀도 형식으로 매개변수를 표현하여 모델 크기를 줄입니다. 이 접근 방식은 메모리 사용량과 지연 시간을 줄이는 데 도움이 됩니다. 하지만 학습 양자화는 모델 품질을 변경할 수 있습니다. 예를 들어 학습 후 양자화하면 정확도가 떨어질 수 있습니다.

    • 학습 후 양자화 (PTQ)는 반복 가능한 작업입니다. PyTorchTensorFlow와 같은 주요 ML 프레임워크는 PTQ를 지원합니다.
    • Vertex AI Pipelines의 파이프라인을 사용하여 PTQ를 오케스트레이션할 수 있습니다.
    • 모델 성능을 안정화하고 모델 크기 감소의 이점을 누리려면 Qwix를 사용하세요.
  • 텐서 동시 로드: 여러 GPU에 계산 부하를 분산하여 추론 처리량을 개선합니다.

  • 메모리 최적화: 처리량을 늘리고 어텐션 캐싱, 배치 크기, 입력 크기를 최적화합니다.

다음과 같은 추론에 최적화된 프레임워크를 사용하세요.

실적 목표에 따라 리소스 소비 최적화

리소스 최적화는 학습을 가속화하고, 효율적으로 반복하며, 모델 품질을 개선하고, 제공 용량을 늘리는 데 도움이 됩니다.

적절한 프로세서 유형 선택

컴퓨팅 플랫폼 선택은 모델의 학습 효율성에 큰 영향을 미칠 수 있습니다.

  • 딥 러닝 모델은 대량의 메모리와 병렬 행렬 계산이 필요하므로 GPU와 TPU에서 성능이 우수합니다. CPU, GPU, TPU에 적합한 워크로드에 대한 자세한 내용은 TPU 사용 시기를 참고하세요.
  • 컴퓨팅 최적화 VM은 HPC 워크로드에 이상적입니다.

GPU에서 학습 및 제공 최적화

GPU에 배포된 학습 및 추론 워크로드의 성능을 최적화하려면 다음 권장사항을 고려하세요.

권장사항 설명
적절한 메모리 사양을 선택합니다. GPU 머신 유형을 선택할 때는 다음 요소를 기반으로 메모리 사양을 선택하세요.
  • 모델 용량: 모델의 학습 가능한 파라미터와 그라데이션의 총 메모리 크기 (메모리 사용 공간)입니다.
  • 워크로드 유형: 학습에는 제공보다 더 많은 메모리가 필요합니다.
  • 학습 배치 크기: 배치 크기가 클수록 더 많은 활성화가 저장되고 메모리 요구사항이 높아집니다.
  • 데이터 유형: 고품질 이미지를 처리하거나 고정밀 연산을 사용하는 워크로드에는 메모리 사양이 더 큰 머신 유형이 필요합니다.
코어 및 메모리 대역폭 요구사항을 평가합니다. 메모리 크기 외에도 텐서 코어 수, 메모리 대역폭과 같은 다른 요구사항을 고려하세요. 이러한 요인은 칩의 데이터 액세스 및 계산 속도에 영향을 미칩니다.
적절한 GPU 머신 유형을 선택합니다.

학습과 제공에는 서로 다른 GPU 머신 유형이 필요할 수 있습니다.

  • 학습 작업에는 메모리와 대역폭이 매우 큰 하나 이상의 GPU 또는 여러 노드가 필요합니다.
  • 추론 워크로드에는 비교적 적은 메모리와 적은 수의 고성능 GPU가 필요합니다.

학습에는 대형 머신 유형을 사용하고 추론에는 소형의 비용 효율적인 머신 유형을 사용하는 것이 좋습니다. 리소스 사용률 문제를 감지하려면 NVIDIA DCGM 에이전트와 같은 모니터링 도구를 사용하고 리소스를 적절하게 조정하세요.

GKE에서 GPU 공유 활용

단일 컨테이너에 전체 GPU를 전용으로 할당하는 것은 경우에 따라 비효율적일 수 있습니다. 이러한 비효율성을 극복할 수 있도록 GKE는 다음 GPU 공유 전략을 지원합니다.

리소스 활용도를 극대화하려면 이러한 전략을 적절히 조합하여 사용하는 것이 좋습니다. 예를 들어 GPU 시간 공유 멀티 인스턴스 GPU 전략을 사용하여 대형 H100 GPU를 가상화하면 서비스 플랫폼이 트래픽에 따라 확장 및 축소될 수 있습니다. GPU 리소스는 모델 컨테이너의 부하에 따라 실시간으로 용도가 변경됩니다.

라우팅 및 부하 분산 최적화 클러스터에 여러 모델을 배포할 때 최적화된 라우팅 및 부하 분산을 위해 GKE Inference Gateway를 사용할 수 있습니다. 추론 게이트웨이는 다음 기능을 사용하여 Kubernetes Gateway API의 라우팅 메커니즘을 확장합니다.
Vertex AI 엔드포인트의 리소스 공유 공통 리소스 풀을 사용하도록 여러 Vertex AI 엔드포인트를 구성할 수 있습니다. 이 기능 및 제한사항에 관한 자세한 내용은 배포 간 리소스 공유를 참고하세요.

TPU에서 학습 및 서빙 최적화

TPU는 ML 알고리즘의 대규모 문제를 해결하는 데 도움이 되는 Google 칩입니다. 이러한 칩은 AI 학습 및 추론 워크로드에 최적의 성능을 제공합니다. GPU와 비교할 때 TPU는 딥 러닝 학습 및 서빙에 더 높은 효율성을 제공합니다. TPU에 적합한 사용 사례에 대한 자세한 내용은 TPU 사용 시기를 참고하세요. TPU는 TensorFlow, PyTorch, JAX와 같은 ML 프레임워크와 호환됩니다.

TPU 성능을 최적화하려면 Cloud TPU 성능 가이드에 설명된 다음 기법을 사용하세요.

  • 각 TPU 메모리 단위의 배치 크기를 최대화합니다.
  • TPU가 유휴 상태가 아닌지 확인합니다. 예를 들어 병렬 데이터 읽기를 구현합니다.
  • XLA 컴파일러를 최적화합니다. 필요에 따라 텐서 차원을 조정하고 패딩을 피하세요. XLA는 병합 및 브로드캐스팅과 같은 도구를 사용하여 그래프 실행 성능을 자동으로 최적화합니다.

TPU에서 학습하고 GPU에서 서빙하도록 최적화

TPU는 효율적인 학습을 지원합니다. GPU는 추론 워크로드에 다재다능함과 폭넓은 가용성을 제공합니다. TPU와 GPU의 장점을 결합하려면 TPU에서 모델을 학습시키고 GPU에서 모델을 제공하면 됩니다. 이 접근 방식은 특히 대규모 모델의 경우 전반적인 비용을 줄이고 개발을 가속화하는 데 도움이 될 수 있습니다. TPU 및 GPU 머신 유형을 사용할 수 있는 위치에 대한 자세한 내용은 TPU 리전 및 영역GPU 위치를 참고하세요.

스토리지 레이어 최적화

학습 및 서빙 인프라의 스토리지 계층은 성능에 매우 중요합니다. 학습 작업 및 추론 워크로드에는 다음과 같은 스토리지 관련 활동이 포함됩니다.

  • 데이터를 로드하고 처리합니다.
  • 학습 중에 모델을 체크포인트합니다.
  • 노드 선점 후 학습을 재개하기 위해 바이너리를 다시 로드합니다.
  • 효율적으로 모델을 로드하여 대규모 추론을 처리합니다.

스토리지 용량, 대역폭, 지연 시간 요구사항은 다음 요소에 따라 결정됩니다.

  • 모델 크기
  • 학습 데이터 세트의 볼륨
  • 체크포인트 빈도
  • 확장 패턴

학습 데이터가 Cloud Storage에 있는 경우 Cloud Storage FUSE의 파일 캐싱을 사용하여 데이터 로드 지연 시간을 줄일 수 있습니다. Cloud Storage FUSE를 사용하면 로컬 SSD 디스크가 있는 컴퓨팅 노드에 Cloud Storage 버킷을 마운트할 수 있습니다. Cloud Storage FUSE 성능 개선에 관한 자세한 내용은 성능 조정 권장사항을 참고하세요.

Cloud Storage용 PyTorch 커넥터는 데이터 읽기 및 쓰기에 고성능을 제공합니다. 이 커넥터는 대규모 데이터 세트로 학습하고 대규모 모델을 체크포인트 처리하는 데 특히 유용합니다.

Compute Engine은 다양한 영구 디스크 유형을 지원합니다. Google Cloud Hyperdisk ML을 사용하면 학습 요구사항에 따라 필요한 처리량과 IOPS를 프로비저닝할 수 있습니다. 디스크 성능을 최적화하려면 먼저 디스크 크기를 조절한 후 머신 유형을 변경하는 것이 좋습니다. 자세한 내용은 영구 디스크 성능 최적화를 참고하세요. 스토리지 레이어에서 읽기-쓰기 성능과 지연 시간을 부하 테스트하려면 가변형 I/O 테스터 (FIO)와 같은 도구를 사용하면 됩니다.

AI 및 ML 워크로드에 적합한 스토리지 서비스를 선택하고 최적화하는 방법에 대한 자세한 내용은 다음 문서를 참고하세요.

네트워크 계층 최적화

AI 및 ML 워크로드의 성능을 최적화하려면 지연 시간을 최소화하면서 적절한 대역폭과 최대 처리량을 제공하도록 VPC 네트워크를 구성하세요. 다음 권장사항을 고려하세요.

권장사항 구현을 위한 추천 기법
VPC 네트워크를 최적화합니다.
VM을 서로 더 가깝게 배치합니다.
더 높은 네트워크 속도를 지원하도록 VM을 구성합니다.

혁신하고, 문제를 해결하고, 성능 문제를 조사하려면 설계 선택과 성능 결과 간의 명확한 연결을 설정해야 합니다. ML 애셋, 배포, 모델 출력, 출력을 생성한 해당 구성 및 입력의 계보에 관한 신뢰할 수 있는 기록이 필요합니다.

데이터 및 모델 계보 시스템 빌드

성능을 안정적으로 개선하려면 모든 모델 버전을 모델을 생성하는 데 사용된 정확한 데이터, 코드, 구성으로 추적할 수 있어야 합니다. 모델을 확장하면 이러한 추적이 어려워집니다. 추적 프로세스를 자동화하고 모든 실험에 대해 명확하고 쿼리할 수 있는 기록을 생성하는 계보 시스템이 필요합니다. 이 시스템을 통해 팀은 최적의 성능을 내는 모델로 이어지는 선택사항을 효율적으로 식별하고 재현할 수 있습니다.

Vertex AI의 워크로드에 대한 파이프라인 아티팩트 계보를 보고 분석하려면 Vertex ML Metadata 또는 Dataplex Universal Catalog을 사용하면 됩니다. 두 옵션 모두 거버넌스 요구사항을 충족하기 위해 이벤트 또는 아티팩트를 등록하고 필요할 때 메타데이터를 쿼리하고 정보를 검색할 수 있습니다. 이 섹션에서는 두 가지 옵션을 간략하게 설명합니다. Vertex ML Metadata와 Dataplex Universal Catalog의 차이점에 관한 자세한 내용은 파이프라인 아티팩트 계보 추적을 참고하세요.

기본 구현: Vertex AI ML Metadata

Vertex AI에서 첫 번째 파이프라인 실행 또는 실험을 실행하면 기본 Vertex ML Metadata 서비스가 생성됩니다. 파이프라인에서 소비하고 생성하는 매개변수와 아티팩트 메타데이터는 Vertex ML Metadata 저장소에 자동으로 등록됩니다. 저장된 메타데이터를 정리하고 연결하는 데 사용되는 데이터 모델에는 다음 요소가 포함됩니다.

  • 컨텍스트: 실험 실행을 나타내는 아티팩트 및 실행 그룹입니다.
  • 실행: 데이터 검증 또는 모델 학습과 같은 워크플로의 단계입니다.
  • 아티팩트: 워크플로에서 생성하고 사용하는 입력 또는 출력 항목, 객체 또는 데이터 조각입니다.
  • 이벤트: 아티팩트와 실행 간의 관계입니다.

기본적으로 Vertex ML Metadata는 파이프라인 실행의 모든 입력 및 출력 아티팩트를 캡처하고 추적합니다. 이 도구는 이러한 아티팩트를 Vertex AI Experiments, Model Registry, Vertex AI 관리형 데이터 세트와 통합합니다.

자동 로깅은 데이터를 Vertex AI 실험에 자동으로 로깅하는 Vertex AI 학습의 기본 제공 기능입니다. 성능 최적화를 위한 실험을 효율적으로 추적하려면 Vertex AI Experiments와 연결된 Vertex ML Metadata 서비스 간의 기본 제공 통합을 사용하세요.

Vertex ML Metadata는 아티팩트, 실행, 컨텍스트에 관한 쿼리를 실행하기 위한 필터링 구문과 연산자를 제공합니다. 필요한 경우 팀에서 모델의 레지스트리 링크와 특정 실험 실행의 데이터 세트 또는 평가에 관한 정보를 효율적으로 가져올 수 있습니다. 이 메타데이터는 성능을 최적화하는 선택사항을 더 빠르게 찾는 데 도움이 될 수 있습니다. 예를 들어 파이프라인 실행을 비교하고, 모델을 비교하고, 실험 실행을 비교할 수 있습니다. 예시 쿼리를 비롯한 자세한 내용은 Vertex ML Metadata 분석을 참고하세요.

대체 구현: Dataplex 범용 카탈로그

Dataplex Universal Catalog는 Vertex AI 아티팩트를 비롯한 Google Cloud 리소스에서 메타데이터를 검색합니다. 맞춤 데이터 소스를 통합할 수도 있습니다.

Dataplex Universal Catalog는 여러 리전과 조직 전체 스토리지에서 메타데이터를 읽을 수 있지만 Vertex ML Metadata는 프로젝트별 리소스입니다. Vertex ML Metadata와 비교할 때 Dataplex Universal Catalog는 설정에 더 많은 노력이 필요합니다. 하지만 Google Cloud 의 광범위한 데이터 포트폴리오 및 조직 전체 스토어와의 통합이 필요한 경우 Dataplex Universal Catalog가 적합할 수 있습니다.

Dataplex Universal Catalog는 Data Lineage API가 사용 설정된 프로젝트의 메타데이터를 검색하고 수집합니다. 카탈로그의 메타데이터는 프로젝트, 항목 그룹, 항목, 측면으로 구성된 데이터 모델을 사용하여 구성됩니다. Dataplex Universal Catalog는 아티팩트를 검색하는 데 사용할 수 있는 특정 구문을 제공합니다. 필요한 경우 Vertex ML Metadata 아티팩트를 Dataplex Universal Catalog에 매핑할 수 있습니다.

설명 가능성 도구 사용

AI 모델의 동작은 모델을 학습하는 데 사용된 데이터를 기반으로 합니다. 이 동작은 수학 함수의 매개변수로 인코딩됩니다. 모델이 특정 방식으로 작동하는 이유를 정확히 이해하기는 어려울 수 있습니다. 하지만 이 지식은 성능 최적화에 매우 중요합니다.

예를 들어 학습 데이터에 빨간색 자동차 이미지만 포함된 이미지 분류 모델을 생각해 보세요. 모델이 객체의 공간 및 모양 속성이 아닌 객체의 색상을 기반으로 '자동차' 라벨을 식별하는 방법을 학습할 수 있습니다. 모델을 다양한 색상의 자동차가 표시된 이미지로 테스트하면 모델의 성능이 저하될 수 있습니다. 다음 섹션에서는 이러한 문제를 식별하고 진단하는 데 사용할 수 있는 도구를 설명합니다.

데이터 편향 감지

ML 프로젝트의 탐색적 데이터 분석 (EDA) 단계에서는 클래스 불균형 데이터 세트편향과 같은 데이터 문제를 식별합니다.

프로덕션 시스템에서는 모델을 재학습하고 다양한 데이터 세트로 실험을 실행하는 경우가 많습니다. 데이터를 표준화하고 실험 간에 비교하려면 다음 특성이 포함된 EDA에 체계적인 접근 방식을 사용하는 것이 좋습니다.

  • 자동화: 학습 세트의 크기가 커지면 EDA 프로세스가 백그라운드에서 자동으로 실행되어야 합니다.
  • 광범위한 적용 범위: 새 기능을 추가할 때 EDA는 새 기능에 관한 유용한 정보를 제공해야 합니다.

많은 EDA 작업은 데이터 유형과 비즈니스 컨텍스트에 따라 다릅니다. EDA 프로세스를 자동화하려면 BigQuery 또는 Dataflow와 같은 관리형 데이터 처리 서비스를 사용하세요. 자세한 내용은 불균형 데이터의 분류Vertex AI의 데이터 편향 측정항목을 참고하세요.

모델 특성 및 동작 이해

학습 및 검증 세트의 데이터 분포와 편향을 이해하는 것 외에도 예측 시 모델의 특성과 동작을 이해해야 합니다. 모델 동작을 이해하려면 다음 도구를 사용하세요.

도구 설명 목적
예시 기반 설명 Vertex Explainable AI의 예시 기반 설명을 사용하여 학습 데이터에서 가장 유사한 예시를 찾아 예측을 이해할 수 있습니다. 이 접근 방식은 유사한 입력이 유사한 출력을 생성한다는 원칙에 기반합니다.
  • 잘못된 예측과 유사한 예를 찾아 학습 데이터의 격차를 식별하고 수정합니다.
  • 참조 세트의 neighbors를 사용하여 모델이 원래 인식하도록 학습되지 않은 입력을 분류합니다.
  • 알려진 모든 학습 예시와 크게 다른 입력을 찾아 이상치를 식별합니다.
  • 이웃에 라벨이 혼합된 경우와 같은 모호한 사례를 식별하여 데이터 수집을 더 효율적으로 만드세요. 이러한 케이스의 경우 사람의 검토를 우선시합니다.
특성 기반 설명

표 형식 데이터 또는 이미지를 기반으로 하는 예측의 경우 특성 기반 설명은 기준과 비교할 때 각 특성이 예측에 얼마나 영향을 미치는지 보여줍니다.

Vertex AI는 모델 유형과 작업에 따라 다양한 기여 분석 방법을 제공합니다. 이러한 방법은 일반적으로 샘플링과 민감도 분석을 사용하여 입력 특성의 변화에 따라 출력이 얼마나 변화하는지 측정합니다.

  • 검증 단계에서 누락될 수 있는 편향을 식별합니다.
  • 예측에 가장 중요한 기능을 식별하여 성능을 최적화합니다. 모델의 품질과 성능을 높이기 위해 ML 엔지니어는 의도적으로 특성을 추가, 삭제 또는 추출할 수 있습니다.
What-If 도구 What-If 도구는 이미지 및 표 모델의 동작을 이해하고 시각화할 수 있도록 Google의 People + AI Research (PAIR) 이니셔티브에서 개발했습니다. 도구 사용 예시는 What-If 도구 웹 데모를 참고하세요.
  • 잘못된 예측의 근본 원인을 디버깅하고 찾습니다.
  • 공정성 분석을 통해 편향을 식별하여 데이터의 다양한 하위 집합에서 모델이 어떻게 작동하는지 조사합니다.
  • 모델의 동작, 특히 모델의 예측과 입력 특성 간의 관계를 이해합니다.
  • 두 모델 또는 정답 기준이 필요한 시각적 비교 도구를 사용하여 예측을 비교합니다.

참여자

저자:

기타 참여자: