AI 및 ML 관점: 성능 최적화

Last reviewed 2026-10-29 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 엔지니어는 학습 프로세스 중에 모델의 성능 측정항목을 개선할 수 있습니다. Gemini Enterprise Agent Platform은 ML 엔지니어가 품질 측정항목의 표준화되고 반복 가능한 추적을 구현하는 데 사용할 수 있는 평가 서비스를 제공합니다. 모델의 예측 효율성은 프로덕션 또는 추론 시 모델의 성능을 나타냅니다. 성능을 모니터링하려면 Cloud Monitoring 및 Gemini Enterprise Agent Platform의 Model Monitoring을 사용합니다. 적절한 모델을 선택하고 학습 방법을 결정하려면 비즈니스 목표를 품질 및 실적 측정항목을 결정하는 기술 요구사항으로 변환해야 합니다.

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

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

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

실험 및 학습 중과 모델 배포 후에 KPI를 모니터링하고 비즈니스 목표에서 벗어나는 부분이 있는지 관찰합니다. 포괄적인 모니터링 전략은 다음과 같은 모델 품질 및 리소스 사용률에 대한 중요한 결정을 내리는 데 도움이 됩니다.

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

실험 및 학습 중 모니터링

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

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

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

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

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

  • 실험 추적: Gemini Enterprise Agent Platform의 실험은 관리형 엔터프라이즈급 Agent Platform TensorBoard 인스턴스와 통합되어 실험 추적을 지원합니다. 이러한 통합을 통해 로그와 측정항목을 안정적으로 저장하고 공유할 수 있습니다. 여러 팀과 개인이 실험을 추적할 수 있도록 하려면 최소 권한의 원칙을 사용하는 것이 좋습니다.

  • 학습 및 실험 효율성: Agent Platform은 측정항목을 Monitoring으로 내보내고 모니터링 가능성 에이전트를 사용하여 원격 분석 데이터와 로그를 수집합니다. Google Cloud 콘솔에서 측정항목을 시각화할 수 있습니다. 또는 Monitoring을 사용하여 이러한 측정항목을 기반으로 대시보드 또는 알림을 만듭니다. 자세한 내용은 에이전트 플랫폼의 모니터링 측정항목을 참조하세요.

  • NVIDIA GPU: 운영 에이전트는 Compute Engine 및 운영 에이전트가 지원하는 기타 제품에 대해 GPU 모니터링을 사용 설정합니다. 클러스터 환경에서 NVIDIA GPU를 관리하고 모니터링하기 위한 도구 모음인 NVIDIA Data Center GPU Manager (DCGM)를 사용할 수도 있습니다. NVIDIA GPU 모니터링은 특히 딥 러닝 모델을 학습시키고 서빙하는 데 유용합니다.

  • 심층 디버깅: 학습 코드 또는 Gemini Enterprise Agent Platform 관리형 학습 작업 구성 문제를 디버깅하려면 대화형 셸 세션을 사용하여 학습 컨테이너를 검사하면 됩니다.

서빙 중 모니터링: 스트리밍 예측

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

Agent Platform의 모델 모니터링은 입력 또는 출력 특성 분포의 큰 변화를 식별하는 데 도움이 됩니다. 또한 프로덕션에서 특성 기여 분석을 기준 분포와 비교하여 모니터링할 수 있습니다. 기준 분포는 학습 세트이거나 프로덕션 트래픽의 과거 분포를 기반으로 할 수 있습니다. 서빙 분포의 변화는 학습에 비해 예측 성능이 저하됨을 의미할 수 있습니다.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

평가 기법, 평가 데이터의 크기 및 유형, 평가 빈도에 따라 Agent Platform 평가 서비스를 포함하여 BigQuery 또는 Cloud Storage를 데이터 소스로 사용할 수 있습니다.

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

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

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

자주 실험을 실행하고 추적하기

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

  • 팀이 아이디어에서 검증된 결과로 빠르고 안정적이며 대규모로 이동할 수 있도록 반복적인 개발을 촉진합니다.
  • 팀에서 학습 작업을 트리거하는 데 사용할 수 있는 최적의 구성을 효율적으로 찾을 수 있습니다.
  • 실험을 수행하고 추적할 수 있도록 관련 데이터, 특성, 도구에 대한 제어된 액세스를 제공합니다.
  • 재현성 및 데이터 계보 추적을 지원합니다.

데이터를 서비스로 취급

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

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

팀에 적절한 도구 제공

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

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

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

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

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

학습 및 서빙 인프라 빌드 및 자동화

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

학습에 특수 구성요소 사용

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

데이터 수집 및 준비

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

학습 실행

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

학습 조정

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

예측에 특화된 인프라 사용

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

자동 배포 구현

  • 모델이 학습된 후 자동화를 사용하여 모델을 배포합니다. Agent Platform Pipelines는 Agent Platform 엔드포인트에 모델을 배포하기 위한 특수 구성요소를 제공합니다. Kubeflow 제어 흐름을 사용하여 자동 배포를 관리할 수 있습니다.
  • 검증 세트에 대한 평가를 기반으로 모델을 배포할지 여부를 결정하려면 파이프라인의 평가 구성요소를 활용하세요. Agent Platform에서 특수 일괄 예측 구성요소를 사용하여 일괄 추론 배포를 자동화할 수 있습니다.

관리형 확장 기능 활용

Agent Platform 엔드포인트에서 지연 시간 및 처리량 최적화

리소스 사용률 최적화

모델 배포 최적화

실적 모니터링

프로덕션에서 서빙 성능을 개선하려면 에이전트 플랫폼 엔드포인트의 로그 및 추론 측정항목을 관찰하세요. 프로덕션에서 모델의 동작을 이해하려면 품질과 성능을 모니터링하는 도구가 필요합니다. Agent Platform v2의 모델 모니터링을 사용하면 여러 버전의 모델을 모니터링하고 빠르게 반복할 수 있습니다.

성능 요구사항에 맞게 설계 선택

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

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

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

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

중단이 발생할 때마다 이전 흐름이 반복됩니다.

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

굿풋 측정항목 채택 및 추적

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

굿풋 측정항목의 초점은 작업이 바쁜 것처럼 보이는지가 아니라 작업의 전반적인 진행 상황입니다. 상품 처리량 측정항목은 생산성과 성능의 전반적인 실질적 향상을 위해 학습 작업을 최적화하는 데 도움이 됩니다.

굿풋은 다음 측정항목을 통해 잠재적인 효율성 손실을 세부적으로 파악할 수 있게 해줍니다.

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

스케줄링 굿풋 최적화

워크로드의 예약 처리량을 최적화하려면 워크로드의 특정 인프라 요구사항을 식별해야 합니다. 예를 들어 일괄 추론, 스트리밍 추론, 학습에는 서로 다른 요구사항이 있습니다.

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

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

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

    • 주문형 모드의 재고 소진 상황
    • 스팟 VM의 스테이트리스(Stateless) 제약 조건 및 선점 위험
    • 예약의 비용 및 가용성 영향

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

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

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

런타임 굿풋 최적화

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

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

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

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

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

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

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

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

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

프로그램 굿풋 최적화

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

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

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

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

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

동시 로드를 구현합니다.

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

모델 동시 로드에 대한 자세한 내용은 다음을 참조하세요.

데이터 동시 로드를 달성하려면 다음과 같은 도구를 사용할 수 있습니다.

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

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

워크로드별 요구사항 식별

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

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

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

  • 작업에 회귀, 분류 또는 생성이 포함되나요?
  • 허용 가능한 최소 품질은 무엇인가요? 예를 들어 정확성, 정밀도, 재현율 등이 있습니다.
서빙 컨텍스트

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

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

적절한 모델 선택

API 또는 개방형 모델이 필요한 성능과 품질을 제공할 수 있는 경우 해당 API 또는 모델을 사용합니다.

  • 광학 문자 인식 (OCR), 라벨 지정, 콘텐츠 검토와 같은 모달리티별 태스크의 경우 다음과 같은 ML API를 선택합니다.

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

    Model Garden을 살펴보고 선별된 Google 파운데이션 모델 및 작업별 모델 컬렉션 중에서 선택합니다. Model Garden은 Gemma와 같은 개방형 모델과 서드 파티 모델도 제공하며, 이를 Agent Platform에서 실행하거나 GKE와 같은 런타임에 배포할 수 있습니다.

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

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

프롬프트 품질을 대규모로 개선하려면 Agent Platform 프롬프트 최적화 도구를 사용하세요. 시스템 지침과 프롬프트를 수동으로 다시 작성하지 않아도 됩니다. 프롬프트 최적화 도구는 다음 접근 방식을 지원합니다.

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

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

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

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

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

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

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

자체 관리 학습 최적화

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

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

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

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

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

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

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

  • 에이전트 플랫폼 또는 앞서 설명한 프레임워크에서 분산 학습을 구현합니다. 분산 학습은 모델 동시 로드 및 데이터 동시 로드를 지원하므로 학습 데이터 세트 크기와 모델 크기를 늘리고 학습 시간을 줄이는 데 도움이 될 수 있습니다.
  • 효율적인 모델 학습과 다양한 성능 구성 탐색을 위해 적절한 간격으로 체크포인트를 실행합니다. 자세한 내용은 런타임 처리량 최적화를 참조하세요.

자체 관리형 서빙 최적화

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

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

  • 양자화: 파라미터를 낮은 정밀도 형식으로 표현하여 모델 크기를 줄입니다. 이 접근 방식은 메모리 소비와 지연 시간을 줄이는 데 도움이 됩니다. 하지만 학습 후 양자화는 모델 품질을 변경할 수 있습니다. 예를 들어 학습 후 양자화로 인해 정확성이 저하될 수 있습니다.

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

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

다음과 같은 추론 최적화 프레임워크를 사용합니다.

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

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

적절한 프로세서 유형 선택

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

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

GPU에서 학습 및 서빙 최적화

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

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

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

  • 학습 작업에는 하나 이상의 GPU 또는 여러 노드가 필요하며, 메모리와 대역폭이 상당히 커야 합니다.
  • 추론 워크로드에는 상대적으로 적은 메모리와 고성능 GPU가 필요합니다.

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

GKE에서 GPU 공유를 활용합니다.

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

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

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

Cloud TPU에서 학습 및 서빙 최적화

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

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

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

Cloud TPU에서 학습 최적화 및 GPU에서 서빙 최적화

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

스토리지 레이어 최적화

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

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

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

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

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

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

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

AI 및 ML 워크로드에 적합한 스토리지 서비스를 선택하고 최적화하는 방법에 대한 자세한 내용은 AI 하이퍼컴퓨터의 AI 및 ML 워크로드를 위한 스토리지 서비스 개요를 참조하세요.

네트워크 계층 최적화

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

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

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

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

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

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

기본 구현: Agent Platform ML Metadata

Agent Platform에서 첫 번째 파이프라인 실행 또는 실험은 기본 Agent Platform ML 메타데이터 서비스를 만듭니다. 파이프라인이 사용하고 생성하는 파라미터와 아티팩트 메타데이터는 Agent Platform ML Metadata 저장소에 자동으로 등록됩니다. 저장된 메타데이터를 구성하고 연결하는 데 사용되는 데이터 모델에는 다음 요소가 포함됩니다.

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

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

자동 로깅은 Agent Platform 관리형 학습의 기본 제공 기능으로, Agent Platform의 실험에 데이터를 자동으로 로깅합니다. 성능 최적화를 위해 실험을 효율적으로 추적하려면 Agent Platform의 실험과 관련 Agent Platform ML Metadata 서비스 간의 기본 제공 통합을 사용하세요.

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

대체 구현: Knowledge Catalog

Knowledge Catalog는 Agent Platform 아티팩트를 포함한 Google Cloud 리소스에서 메타데이터를 검색합니다. 커스텀 데이터 소스를 통합할 수도 있습니다.

Knowledge Catalog는 여러 리전과 조직 전체 저장소에서 메타데이터를 읽을 수 있는 반면 Agent Platform ML Metadata는 프로젝트별 리소스입니다. Agent Platform ML Metadata와 비교할 때 Knowledge Catalog는 설정 작업이 더 많이 필요합니다. 하지만 Google Cloud 의 광범위한 데이터 포트폴리오 및 조직 전체 저장소와 통합해야 하는 경우에는 Knowledge Catalog가 적합할 수 있습니다.

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

설명 가능성 도구 사용

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

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

데이터 편향 감지

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

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

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

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

모델 특성 및 동작 이해

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

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

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

설명 가능성 기법과 테이블 형식 설명은 모델 유형 및 태스크에 따라 특성 기여 분석 방법을 제공합니다. 이러한 방법은 일반적으로 샘플링 및 민감도 분석을 사용하여 입력 특성의 변화에 따라 출력이 얼마나 변하는지 측정합니다.

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

참여자

저자:

기타 참여자: