Google Cloud의 AI 및 ML 워크로드를 위한 스토리지 설계

Last reviewed 2025-04-09 UTC

이 문서에서는 AI 및 ML 워크로드에 적합한Google Cloud 스토리지 서비스를 선택하고 통합하는 방법에 대한 설계 가이드를 제공합니다. ML 수명 주기의 각 단계에는 서로 다른 스토리지 요구사항이 있습니다. 예를 들어 학습 데이터 세트를 업로드할 때 학습을 위한 스토리지 용량과 대규모 데이터 세트를 위한 높은 처리량을 우선시할 수 있습니다. 마찬가지로 학습, 미세 조정, 제공, 보관 단계에는 서로 다른 요구사항이 있습니다. 대부분의 AI 및 ML 워크로드의 경우 Google Cloud Managed Lustre를 스토리지 솔루션으로 사용하는 것이 좋습니다. Managed Lustre는 고성능과 확장성을 제공하므로 학습, 체크포인트, 서빙에 적합합니다.

이 문서는 용량, 지연 시간, 처리량 요구사항을 평가하여 적절한 스토리지 솔루션을 결정하는 데 도움이 됩니다. 이 문서에서는 워크로드의 요구사항을 충족하는 컴퓨팅 플랫폼을 선택했다고 가정합니다. AI 및 ML 워크로드의 경우 Compute Engine 또는 Google Kubernetes Engine (GKE)를 사용하는 것이 좋습니다. 컴퓨팅 플랫폼 선택에 대한 자세한 내용은 Google Cloud에서 애플리케이션 호스팅을 참고하세요.

다음 탭에서는 ML 워크플로의 각 단계에 권장되는 스토리지 선택사항을 간략하게 요약합니다. 자세한 내용은 적절한 스토리지 선택을 참고하세요.

준비

ML 워크플로의 준비 단계에서는 다음을 수행합니다.

  1. 데이터를 업로드하고 수집합니다.
  2. 모델을 학습시키기 전에 데이터를 올바른 형식으로 변환합니다.

여러 스토리지 클래스를 사용하여 스토리지 비용을 최적화하려면 Cloud Storage 자동 클래스 기능 또는 객체 수명 주기 관리를 사용하는 것이 좋습니다.

학습

ML 워크플로의 학습 단계에서는 다음을 수행합니다.

  1. 모델 개발: 노트북을 사용하고 반복적인 시행착오를 적용하여 모델을 개발합니다.
  2. 모델 학습:
    • 소규모에서 대규모의 머신 가속기를 사용하여 학습 데이터 세트를 반복적으로 읽습니다.
    • 모델 개발 및 학습에 반복 프로세스를 적용합니다.
  3. 체크포인트 작업 및 다시 시작:
    • 노드 장애 후 학습을 다시 시작할 수 있도록 체크포인트를 만들어 모델 학습 중에 상태를 주기적으로 저장합니다.
    • I/O 패턴과 체크포인트에 저장해야 하는 데이터 양에 따라 체크포인트 선택을 합니다.

학습 단계에서는 다음 스토리지 옵션을 사용하는 것이 좋습니다.

  • 워크로드에 다음 특성이 있는 경우 Managed Lustre를 사용하세요.
    • 최소 학습 용량 요구사항 18TiB
    • 지연 시간 감소 기능을 활용하기 위해 50MB 미만의 작은 파일로 구성된 학습 데이터
    • 무작위 I/O 및 메타데이터 액세스의 스토리지 요구사항을 충족하기 위한 지연 시간 요구사항이 1밀리초 미만입니다.
    • 빈번한 고성능 체크포인트를 실행해야 합니다.
    • 사용자가 데이터를 보고 관리할 수 있는 완전한 POSIX 지원을 제공하는 데스크톱과 유사한 환경
  • 워크로드에 다음과 같은 특징이 있는 경우 Cloud Storage FUSE 및 Anywhere Cache와 함께 Cloud Storage를 사용하세요.
    • 50MB 이상의 대용량 파일로 구성된 학습 데이터
    • 수십 밀리초의 더 긴 스토리지 지연 시간을 허용할 수 있습니다.
    • 스토리지 성능보다 데이터 내구성과 고가용성을 우선시합니다.

비용을 최적화하려면 모델 학습의 모든 단계에서 동일한 스토리지 서비스를 사용하는 것이 좋습니다.

서빙

ML 워크플로의 제공 단계에서는 다음을 수행합니다.

  1. 모델을 저장합니다.
  2. 시작 시 머신 가속기를 실행하는 인스턴스에 모델을 로드합니다.
  3. AI 생성 이미지와 같은 모델 추론 결과를 저장합니다.
  4. 선택적으로 모델 추론에 사용되는 데이터 세트를 저장하고 로드합니다.

서빙 단계에서는 다음 스토리지 옵션을 사용하는 것이 좋습니다.

  • 워크로드에 다음과 같은 특징이 있는 경우 Managed Lustre를 사용하세요.
    • 학습 및 체크포인트 워크로드가 관리형 Lustre를 사용합니다.
    • 10~100개의 추론 노드 요구사항
    • 모델을 자주 업데이트합니다.
  • 워크로드에 다음과 같은 특성이 있는 경우 Cloud Storage FUSE 및 Anywhere Cache를 사용하는 Cloud Storage:
    • 추론 노드 수가 변경될 수 있는 동적 환경을 위한 비용 효율적인 솔루션이 필요합니다.
    • 모델이 자주 업데이트되지 않습니다.
    • 리전 중단이 발생한 경우에도 모델의 고가용성 및 내구성을 우선시합니다.
  • 워크로드에 다음 특성이 있는 경우 Google Cloud Hyperdisk ML:
    • 100개가 넘는 추론 노드가 필요합니다.
    • 모델이 자주 업데이트되지 않습니다.
    • 워크로드에서 지원되는 가상 머신 (VM) 유형을 사용합니다.
    • 파이프라인에서 읽기 전용 볼륨을 관리하여 모델을 저장할 수 있습니다.

보관처리

ML 워크로드의 보관 단계에서는 학습 데이터와 모델을 장기간 보관합니다.

여러 스토리지 클래스로 스토리지 비용을 최적화하려면 Cloud Storage 자동 클래스 또는 객체 수명 주기 관리를 사용하는 것이 좋습니다.

설계 프로세스 개요

Google Cloud에서 AI 및 ML 워크로드에 적합한 스토리지 옵션을 결정하려면 다음 단계를 따르세요.

  1. 워크로드의 특성, 성능 기대치, 비용 목표를 고려합니다.
  2. Google Cloud에서 권장 스토리지 서비스 및 기능을 검토합니다.
  3. 요구사항과 사용 가능한 옵션에 따라 ML 워크플로의 각 단계(준비, 학습, 제공, 보관)에 필요한 스토리지 서비스와 기능을 선택합니다.

이 문서에서는 스토리지 옵션을 신중하게 고려하는 것이 가장 중요한 ML 워크플로 단계를 중점적으로 다루지만 ML 수명 주기, 프로세스, 기능 전체를 다루지는 않습니다.

다음은 AI 및 ML 워크로드의 스토리지를 선택하기 위한 3단계 설계 프로세스의 개요입니다.

  1. 요구사항 정의:
    • 워크로드 특성
    • 보안 제약
    • 복원력 요구사항
    • 성능 기대치
    • 비용 목표
  2. 스토리지 옵션 검토:
    • Managed Lustre
    • Cloud Storage
    • Hyperdisk ML
  3. 적절한 스토리지 선택: ML 워크플로의 각 단계에서 워크로드 특성에 따라 스토리지 서비스, 기능, 설계 옵션을 선택합니다.

요구사항 정의

Google Cloud에서 AI 및 ML 워크로드의 스토리지 옵션을 선택하기 전에 워크로드의 스토리지 요구사항을 정의해야 합니다. 스토리지 요구사항을 정의하려면 컴퓨팅 플랫폼, 용량, 처리량, 지연 시간 요구사항과 같은 요소를 고려해야 합니다.

AI 및 ML 워크로드에 적합한 스토리지 옵션을 선택하려면 워크로드의 특징을 고려하세요.

  • I/O 요청 크기와 파일 크기가 작은 (KB), 중간, 큰(MB 또는 GB) 크기 중 어디에 속하나요?
  • 워크로드에서 주로 순차적 또는 무작위 파일 액세스 패턴이 나타나나요?
  • AI 및 ML 워크로드가 I/O 지연 시간 및 첫 바이트까지의 시간 (TTFB)에 민감한가요?
  • 단일 클라이언트, 집계된 클라이언트 또는 둘 다에 높은 읽기 및 쓰기 처리량이 필요한가요?
  • 가장 큰 단일 AI 및 ML 학습 워크로드에 필요한 그래픽 처리 장치 (GPU) 또는 Tensor Processing Unit (TPU)의 최대 수는 얼마인가요?

이 문서의 뒷부분에서 이러한 질문에 대한 답변을 사용하여 적절한 스토리지를 선택합니다.

스토리지 옵션 검토

Google Cloud 는 모든 기본 스토리지 형식인 블록, 파일, 병렬 파일 시스템, 객체를 위한 스토리지 서비스를 제공합니다. 다음 표에서는Google Cloud에서 AI 및 ML 워크로드에 고려할 수 있는 옵션을 설명합니다. 이 표에는 이 문서에서 AI 및 ML 워크로드에 중점을 두는 세 가지 Google 관리 스토리지 옵션이 포함되어 있습니다. 하지만 이러한 제품에서 충족되지 않는 특정 요구사항이 있는 경우 Google Cloud Marketplace에서 제공되는 파트너 관리 스토리지 솔루션을 고려해 보세요.

각 스토리지 형식에 사용할 수 있는 서비스의 기능, 디자인 옵션, 상대적 이점을 검토하고 평가합니다.

스토리지 서비스 스토리지 유형 기능
Managed Lustre 병렬 파일 시스템
Cloud Storage 객체
Hyperdisk ML 차단
  • 작은 스토리지 용량에서 고성능을 제공합니다.
  • 영구 읽기 전용입니다.
  • 최대 1.2TB/s의 집계 처리량

Managed Lustre

Managed Lustre는 Google Cloud의 완전 관리형 파일 시스템입니다. Managed Lustre는 DDN EXAScaler Lustre 파일 시스템을 기반으로 구축된 영구적인 영역 인스턴스를 제공합니다. Managed Lustre는 높은 처리량과 높은 초당 입출력 작업 수 (IOPS)로 1밀리초 미만의 지연 시간 액세스를 제공해야 하는 AI 및 ML 워크로드에 적합합니다. Managed Lustre는 몇 대의 VM 또는 수천 대의 VM에 대해 높은 처리량과 높은 IOPS를 유지할 수 있습니다.

관리형 Lustre는 다음과 같은 이점을 제공합니다.

  • POSIX 규정 준수: 기존 애플리케이션 및 도구와의 호환성을 보장하는 데 도움이 되는 POSIX 표준 지원
  • 학습 TCO 절감: 컴퓨팅 노드에 데이터를 효율적으로 제공하여 학습 시간을 단축합니다. 이러한 가속화는 AI 및 ML 모델 학습의 총소유비용(TCO)을 줄이는 데 도움이 됩니다.
  • 서빙 TCO 절감: Cloud Storage에 비해 모델 로드 속도를 높이고 추론 서빙을 최적화할 수 있습니다. 이러한 기능을 통해 컴퓨팅 비용을 낮추고 리소스 활용률을 개선할 수 있습니다.
  • 효율적인 리소스 활용: 단일 인스턴스 내에서 체크포인트와 학습을 결합합니다. 이러한 리소스 활용을 통해 단일 고성능 스토리지 시스템에서 읽기 및 쓰기 처리량을 효율적으로 사용할 수 있습니다.

Cloud Storage

Cloud Storage는 모든 규모의 AI 및 ML 워크로드에 적합한 완전 관리형 객체 스토리지 서비스입니다. Cloud Storage는 AI 및 ML 워크플로의 모든 단계에서 비정형 데이터를 처리하는 데 탁월합니다.

Cloud Storage는 다음과 같은 이점을 제공합니다.

  • 대규모 확장성: 전역적으로 엑사바이트로 확장되는 무제한 스토리지 용량을 확보하세요.
  • 높은 처리량: 필요한 계획을 통해 최대 1TB/s까지 확장할 수 있습니다.
  • 유연한 위치 옵션: AI 및 ML 워크로드를 위한 지역, 멀티 리전, 이중 리전 스토리지 옵션 중에서 선택합니다.
  • 비용 효율성: 데이터 액세스 패턴에 따라 비용을 최적화하도록 설계된 다양한 스토리지 클래스를 활용하세요.

Cloud Storage는 확장성과 비용 효율성이 뛰어나지만 지연 시간과 I/O 특성을 고려해야 합니다. 지연 시간이 수십 밀리초로 다른 스토리지 옵션보다 높습니다. 처리량을 최대화하려면 수백 또는 수천 개의 스레드, 큰 파일, 큰 I/O 요청을 사용해야 합니다. Cloud Storage는 다양한 프로그래밍 언어로 클라이언트 라이브러리를 제공하며 Cloud Storage FUSEAnywhere Cache를 제공합니다.

Cloud Storage FUSE는 Google에서 지원하는 오픈소스 FUSE 어댑터입니다. Cloud Storage FUSE를 사용하면 Cloud Storage 버킷을 로컬 드라이브로 마운트할 수 있습니다. Cloud Storage FUSE는 POSIX를 완전히 준수하지 않습니다. 따라서 Cloud Storage FUSE의 제한사항 및 기존 파일 시스템과의 차이점을 이해하는 것이 중요합니다. Cloud Storage FUSE를 사용하면 Cloud Storage의 규모, 실행 가능성, 성능에 따라 학습 데이터, 모델, 체크포인트에 액세스할 수 있습니다.

Cloud Storage FUSE 캐싱은 다음과 같은 이점을 제공합니다.

  • 이식성: 표준 파일 시스템 시맨틱스를 사용하여 Cloud Storage 버킷을 마운트하고 액세스하여 애플리케이션의 이식성을 높입니다.
  • 호환성: 클라우드 전용 API를 사용하도록 애플리케이션을 리팩터링할 필요가 없어 시간과 리소스를 절약할 수 있습니다.
  • 유휴 시간 감소: Cloud Storage의 데이터에 직접 액세스하여 학습 작업을 빠르게 시작하므로 GPU 및 TPU의 유휴 시간이 최소화됩니다.
  • 높은 처리량: GPU 또는 TPU를 사용하는 읽기 중심 ML 워크로드에 최적화된 Cloud Storage의 내장된 확장성과 성능을 활용합니다.
  • 클라이언트 로컬 파일 캐시: 반복되는 파일 읽기 속도를 높이는 클라이언트 로컬 캐시로 학습을 가속화합니다. A3 머신 유형과 함께 번들로 제공되는 6TiB 로컬 SSD를 사용하면 이 가속을 더욱 향상할 수 있습니다.

Anywhere Cache는 Cloud Storage 버킷에 최대 1PiB의 SSD 지원 영역 읽기 캐시를 제공하는 Cloud Storage 기능입니다. Anywhere Cache는 특정 영역 내에서 자주 읽는 데이터에 대한 로컬 고속 액세스 레이어를 제공하여 데이터 집약적인 애플리케이션을 가속화하도록 설계되었습니다.

Anywhere Cache는 다음과 같은 이점을 제공합니다.

  • 처리량 가속화: 캐시 용량과 대역폭을 자동으로 확장하여 리전 대역폭 할당량을 초과하는 높은 처리량을 일관되고 예측 가능한 지연 시간으로 제공합니다.
  • 비용 절감: 캐시된 데이터의 데이터 전송 이그레스 요금 또는 스토리지 클래스 가져오기 요금을 방지합니다. Anywhere Cache는 워크로드 요구사항을 충족하도록 캐시 및 사용 가능한 대역폭 크기를 자동으로 조정합니다.

Hyperdisk ML

Hyperdisk ML은 대규모 데이터 세트에 대한 읽기 전용 액세스가 필요한 AI 및 ML 워크로드를 가속화하도록 설계된 고성능 블록 스토리지 솔루션입니다. Hyperdisk ML은 Colossus의 확장성과 가용성을 활용하여 기본 파일 시스템 전반의 성능을 균형 있게 유지합니다. Hyperdisk ML은 여러 VM에 동시에 매우 높은 집계 처리량을 제공할 수 있으므로 Google Cloud 의 다른 스토리지 서비스에 비해 특히 서빙 작업에 적합합니다.

Hyperdisk ML은 다음과 같은 이점을 제공합니다.

  • 모델 제공 및 확장성 가속화: 최대 수천 개의 동시 노드로 확장하고 높은 집계 처리량을 달성하여 Kubernetes ReadOnlyMany 모드로 추론 워크로드의 로드 시간과 리소스 사용률을 최적화합니다.
  • 고성능 밀도:Google Cloud 에서 사용할 수 있는 최고 처리량과 대규모 공유 데이터 세트를 위한 빠른 읽기 작업을 달성합니다.
  • 총소유비용 (TCO) 개선: GPU 유휴 시간 단축, 다중 연결 기능, 성능 풀링을 통해 비용을 절감합니다.
  • 동시 읽기 전용 액세스: 동일한 데이터가 포함된 디스크를 여러 개 사용하는 것보다 비용 효율적인 VM 간 디스크 공유를 통해 비용을 절감합니다. 여러 VM에서 정적 데이터에 액세스하려면 동일한 디스크를 수백 개의 VM에 읽기 전용 모드로 연결해야 합니다. 볼륨을 업데이트하려면 디스크를 하나의 VM을 제외한 모든 VM에서 분리해야 합니다.

파트너 스토리지 솔루션

앞서 언급한 스토리지 서비스가 충족하지 않는 워크로드 요구사항의 경우 Cloud Marketplace에서 제공되는 다음 파트너 솔루션을 사용할 수 있습니다.

이러한 파트너 솔루션은 Google에서 관리하지 않습니다. 인프라 내에서 최적의 통합과 성능을 보장하려면 배포 및 운영 작업을 관리해야 합니다.

비교 분석

다음 표에서는Google Cloud에서 스토리지 서비스의 주요 기능을 보여줍니다.

Managed Lustre Cloud Storage Hyperdisk ML
용량 18TiB~8PiB 하한 또는 상한이 없습니다. 4GiB~64TiB
확장 확장 불가능 사용량에 따라 자동으로 확장됩니다. 수직 확장
공유 여러 Compute Engine VM 및 GKE 클러스터에 마운트 가능
  • 어디서나 읽기/쓰기
  • Cloud CDN 및 서드 파티 CDN과 통합됩니다.
지원됨
암호화 키 옵션 Google-owned and Google-managed encryption keys
  • Google-owned and Google-managed encryption keys
  • 고객 관리
  • 고객 제공
  • Google-owned and Google-managed encryption keys
  • 고객 관리
  • 고객 제공
지속성 Managed Lustre 인스턴스의 수명입니다. 버킷 수명 디스크 수명
가용성 영역 영역
성능 프로비저닝된 용량에 따른 선형 확장 자동 확장 읽기-쓰기 속도 및 동적 부하 재분산 동적 확장 영구 스토리지
관리 완전 관리형, POSIX 규격 완전 관리형 수동 포맷 및 마운트

데이터 전송 도구

이 섹션에서는Google Cloud의 스토리지 서비스 간에 데이터를 이동하는 옵션을 설명합니다. AI 및 ML 작업을 실행할 때는 한 위치에서 다른 위치로 데이터를 이동해야 할 수 있습니다. 예를 들어 데이터가 Cloud Storage에서 시작되는 경우 다른 곳으로 이동하여 모델을 학습시킨 후 체크포인트 스냅샷이나 학습된 모델을 Cloud Storage로 다시 복사할 수 있습니다.

다음 방법에 따라 Google Cloud로 데이터를 전송할 수 있습니다.

  • Storage Transfer Service를 사용하여 온라인으로 데이터 전송: Cloud Storage, Amazon S3, Azure Storage 서비스, 온프레미스 데이터 소스를 포함한 파일 스토리지 시스템과 객체 간에 대량의 데이터를 자동으로 전송합니다. Storage Transfer Service를 사용하면 소스 위치에서 대상 위치로 데이터를 안전하게 복사하고 변경된 데이터를 주기적으로 전송할 수 있습니다. 또한 데이터 무결성 검증, 자동 재시도, 부하 분산도 제공합니다.
  • Transfer Appliance를 사용하여 오프라인으로 데이터 전송: 네트워크 연결 및 대역폭을 사용할 수 없거나, 제한적이거나, 비용이 많이 드는 상황에서는 대량의 데이터를 오프라인으로 Google Cloud 에 전송하고 로드합니다.
  • Cloud Storage에 데이터 업로드: Google Cloud 콘솔, gcloud CLI, Cloud Storage API 또는 클라이언트 라이브러리를 사용하여 Cloud Storage 버킷에 데이터를 온라인으로 업로드합니다.

데이터 전송 방법을 선택할 때는 데이터 크기, 시간 제약조건, 대역폭 가용성, 비용 목표, 보안, 규정 준수 요구사항과 같은 요소를 고려해야 합니다. Google Cloud로의 데이터 전송 계획 및 구현에 대한 자세한 내용은 Google Cloud로 마이그레이션: 대규모 데이터 세트 전송을 참고하세요.

적합한 스토리지 선택

AI 및 ML 워크로드에는 일반적으로 준비, 학습, 서빙, 보관이라는 네 가지 기본 단계가 포함됩니다. 각 단계에는 고유한 스토리지 요구사항이 있으며 적절한 솔루션을 선택하면 성능, 비용, 운영 효율성에 큰 영향을 미칠 수 있습니다. 하이브리드 또는 로컬로 최적화된 접근 방식을 사용하면 AI 및 ML 워크로드의 각 단계에 대한 구체적인 요구사항에 맞게 스토리지 옵션을 맞춤설정할 수 있습니다. 하지만 우선순위가 통합 관리와 간편한 운영이라면 모든 단계에서 일관된 솔루션을 사용하는 전역적으로 간소화된 접근 방식이 모든 규모의 워크로드에 유용할 수 있습니다. 스토리지 선택의 효과는 데이터 세트 속성, 필요한 컴퓨팅 및 스토리지 리소스의 규모, 지연 시간, 이전에 정의한 워크로드 요구사항에 따라 달라집니다.

다음 섹션에서는 AI 및 ML 워크로드의 기본 단계와 스토리지 선택에 영향을 미칠 수 있는 요인에 대해 자세히 설명합니다.

준비

준비 단계에서는 AI 및 ML 애플리케이션의 기반을 설정합니다. 여기에는 다양한 소스의 원시 데이터를 클라우드 환경에 업로드하고 AI 및 ML 모델을 학습하는 데 사용할 수 있는 형식으로 데이터를 변환하는 작업이 포함됩니다. 이 프로세스에는 선택한 AI 및 ML 프레임워크와의 호환성을 보장하기 위해 데이터 유형을 정리, 처리, 변환하는 등의 작업이 포함됩니다.

Cloud Storage는 확장성, 내구성, 비용 효율성으로 인해 특히 AI에서 흔히 사용되는 대규모 데이터 세트의 준비 단계에 적합합니다. Cloud Storage는 다른Google Cloud 서비스와의 원활한 통합을 제공하므로 데이터 집약적인 학습을 위한 잠재적인 최적화를 활용할 수 있습니다.

데이터 준비 단계에서 액세스 효율성을 개선하고 임의 읽기 요청을 방지하기 위해 데이터를 큰 청크로 재구성할 수 있습니다. 스토리지 시스템에서 I/O 성능 요구사항을 더 줄이기 위해 파이프라이닝, 학습 최적화 또는 둘 다 사용하여 I/O 스레드 수를 늘릴 수 있습니다.

학습

학습 단계는 모델 개발의 핵심으로, AI 및 ML 모델이 제공된 데이터에서 학습합니다. 이 단계에는 학습 데이터에 액세스하기 위한 효율적인 데이터 로딩과 모델 진행 상황을 저장하기 위한 안정적인 체크포인트라는 서로 다른 요구사항이 있는 두 가지 주요 측면이 포함됩니다. 다음 섹션에서는 데이터 로드 및 체크포인트에 적합한 스토리지 옵션을 선택하기 위한 권장사항과 고려해야 할 요소를 제공합니다.

데이터 로딩

데이터 로드 중에 GPU 또는 TPU는 모델을 학습시키기 위해 데이터 배치를 반복적으로 가져옵니다. 이 단계에서는 배치 크기와 요청 순서에 따라 캐시를 사용하여 데이터 로드 작업을 최적화할 수 있습니다. 데이터 로드 중 목표는 최대 효율성과 최소 비용으로 모델을 학습하는 것입니다.

학습 데이터의 크기가 페타바이트로 확장되면 데이터를 여러 번 다시 읽어야 할 수 있습니다. 이러한 규모에는 GPU 또는 TPU 가속기의 집약적인 처리가 필요합니다. 그러나 GPU와 TPU가 유휴 상태가 아니라 데이터를 적극적으로 처리하고 있는지 확인해야 합니다. 그렇지 않으면 한 위치에서 다른 위치로 데이터를 복사하는 동안 유휴 상태의 고가 가속기에 대한 비용을 지불하게 됩니다.

데이터 로딩의 성능과 비용을 최적화하려면 다음 요소를 고려하세요.

  • 데이터 세트 크기: 전체 학습 데이터 말뭉치의 크기 및 각 학습 데이터 세트의 크기입니다.
  • 액세스 패턴: 다음 옵션 중 학습 워크로드 I/O 액세스 패턴을 가장 잘 분류하는 옵션을 선택합니다.
    • 병렬 및 순차 액세스: 파일이 단일 노드에 할당되고 순차적으로 읽힙니다.
    • 병렬 및 임의 액세스: 파일이 단일 노드에 할당되고 임의로 읽어 샘플 배치를 만듭니다.
    • 완전한 임의 액세스: 노드가 파일에서 범위를 읽어 일괄 처리를 만들 수 있습니다.
  • 파일 크기: 일반적인 읽기 요청 크기입니다.
데이터 로드를 위한 Managed Lustre

다음 조건 중 하나에 해당하는 경우 Managed Lustre를 선택하여 데이터를 로드해야 합니다.

  • 최소 학습 용량 요구사항은 18TiB입니다.
  • 짧은 지연 시간 기능을 활용하기 위해 학습 데이터가 50MB 미만의 작은 파일로 구성되어 있습니다.
  • 무작위 I/O 및 메타데이터 액세스의 스토리지 요구사항을 충족하려면 지연 시간 요구사항이 1밀리초 미만이어야 합니다.
  • 사용자의 데이터를 보고 관리하려면 완전한 POSIX 지원을 제공하는 데스크톱과 유사한 환경이 필요합니다.

완전 관리형 병렬 파일 시스템을 사용하여 처리량이 매우 높고 지연 시간이 짧은 I/O 작업이 필요한 AI 및 ML 워크로드를 가속화하기 위해 Cloud Storage 위에 Managed Lustre를 고성능 캐시로 사용할 수 있습니다. 학습 중 지연 시간을 최소화하려면 Cloud Storage에서 관리 Lustre로 데이터를 가져오세요. GKE를 컴퓨팅 플랫폼으로 사용하는 경우

GKE 관리형 Lustre CSI 드라이버를 사용하여 Cloud Storage의 데이터로 PersistentVolumesClaims를 미리 채웁니다. 학습이 완료되면 비용이 저렴한 Cloud Storage 클래스로 데이터를 내보내 장기 스토리지 비용을 최소화할 수 있습니다.

데이터 로드용 Cloud Storage

다음 조건 중 하나라도 적용되는 경우 일반적으로 Cloud Storage를 선택하여 데이터를 로드해야 합니다.

  • 학습 용량 요구사항이 100TiB 이상입니다.
  • 학습 데이터가 50MB 이상의 대용량 파일로 구성되어 있습니다.
  • 스토리지 성능보다 데이터 내구성과 고가용성을 우선시하는 경우

Cloud Storage는 대규모 데이터 세트를 저장하기 위한 확장 가능하고 비용 효율적인 솔루션을 제공하며 Cloud Storage FUSE를 사용하면 데이터를 로컬 파일 시스템으로 액세스할 수 있습니다. Cloud Storage FUSE는 학습 데이터를 머신 가속기에 가까이 유지하여 학습 중 데이터 액세스를 가속화하므로 처리량이 증가합니다.

1TB/초 이상의 처리량이 필요한 워크로드의 경우 Anywhere Cache는 데이터를 캐싱하고 리전 대역폭 할당량을 초과하여 확장함으로써 읽기 속도를 가속화합니다. 워크로드에 Anywhere Cache가 적합한지 평가하려면 Anywhere Cache 추천자를 사용하여 데이터 사용량과 스토리지를 분석하세요.

체크포인트 작업 및 복원

체크포인트 작업 및 복원의 경우 학습 작업은 인스턴스 장애를 빠르게 복구할 수 있도록 주기적으로 상태를 저장해야 합니다. 오류가 발생하면 작업을 다시 시작하고 최신 체크포인트를 수집한 후 학습을 재개해야 합니다. 체크포인트를 만들고 수집하는 데 사용되는 정확한 메커니즘은 일반적으로 프레임워크에 따라 다릅니다. TensorFlow Core의 체크포인트 및 최적화 기법에 대해 알아보려면 학습 체크포인트를 참고하세요. PyTorch의 체크포인트 및 최적화 기법에 대해 알아보려면 모델 저장 및 로드를 참고하세요.

특정 시점에 몇 개의 체크포인트만 저장하면 됩니다. 체크포인트 워크로드는 대부분 쓰기 작업, 여러 삭제 작업으로 구성되며, 실패가 발생했을 때 빈도가 낮은 읽기 작업이 이루어지는 것이 이상적입니다.

체크포인트 및 복원 성능을 최적화하려면 다음 요소를 고려하세요.

  • 모델 크기: AI 및 ML 모델에 있는 매개변수의 수입니다. 모델의 크기는 체크포인트 파일의 크기에 직접적인 영향을 미치며, 체크포인트 파일의 크기는 GiB에서 TiB까지 다양합니다.
  • 체크포인트 빈도: 모델이 체크포인트를 저장하는 빈도입니다. 저장 빈도가 높으면 내결함성이 향상되지만 스토리지 비용이 증가하고 학습 속도에 영향을 줄 수 있습니다.
  • 체크포인트 복구 시간: 체크포인트를 로드하고 학습을 재개하는 데 필요한 복구 시간입니다. 복구 시간을 최소화하려면 체크포인트 크기, 스토리지 성능, 네트워크 대역폭과 같은 요소를 고려하세요.
체크포인팅을 위한 Managed Lustre

다음 조건 중 하나에 해당하는 경우 체크포인트에 Managed Lustre를 선택해야 합니다.

  • 학습 워크로드에서 이미 데이터 로드에 Managed Lustre를 사용하고 있습니다.
  • 고성능 체크포인트를 자주 실행해야 합니다.

리소스 사용률을 극대화하고 가속기 유휴 시간을 최소화하려면 학습 및 체크포인트에 관리형 Lustre를 사용하세요. Managed Lustre는 VM당 처리량이 높은 빠른 체크포인트 쓰기를 달성할 수 있습니다. 체크포인트를 영구 관리 Lustre 인스턴스에 유지하거나 체크포인트를 Cloud Storage로 주기적으로 내보내 비용을 최적화할 수 있습니다.

체크포인트를 위한 Cloud Storage

다음 조건 중 하나에 해당하는 경우 체크포인트에 Cloud Storage를 선택해야 합니다.

  • 학습 워크로드가 Cloud Storage FUSE를 사용합니다.
  • 스토리지 성능보다 데이터 내구성과 고가용성을 우선시하는 경우

체크포인트 성능을 개선하려면 계층적 네임스페이스가 사용 설정된 Cloud Storage FUSE를 사용하여 빠른 원자적 이름 바꾸기 작업을 활용하고 체크포인트를 비동기식으로 저장하세요. 서빙 중에 학습 데이터 세트의 민감한 정보가 실수로 노출되지 않도록 하려면 체크포인트를 별도의 Cloud Storage 버킷에 저장해야 합니다. 정체된 업로드의 테일 엔드 쓰기 지연 시간을 줄이기 위해 Cloud Storage FUSE는 10초 후에 재시도를 시도합니다.

서빙

추론이라고도 하는 모델을 서빙할 때 기본 I/O 패턴은 모델을 GPU 또는 TPU 메모리에 로드할 수 있도록 읽기 전용입니다. 서빙 단계의 목표는 프로덕션에서 모델을 실행하는 것입니다. 모델은 학습 데이터보다 훨씬 작으므로 여러 인스턴스에서 모델을 복제하고 확장할 수 있습니다. 데이터를 제공할 때는 고가용성을 유지하고 영역 및 리전 장애로부터 보호하는 것이 중요합니다. 따라서 다양한 장애 시나리오에서 모델을 사용할 수 있어야 합니다.

많은 생성형 AI 및 ML 사용 사례에서 모델의 입력 데이터가 매우 작을 수 있으며 데이터를 영구적으로 저장하지 않아도 될 수 있습니다. 경우에 따라 모델에 대량의 데이터를 실행해야 할 수 있습니다 (예: 과학적 데이터 세트). 대량의 데이터를 실행하려면 데이터 세트 분석 중에 GPU 또는 TPU 유휴 시간을 최소화할 수 있는 스토리지 옵션을 선택하고 영구 위치를 사용하여 추론 결과를 저장하세요.

모델 로드 시간은 액셀러레이터 유휴 시간에 직접적인 영향을 미치며, 이는 상당한 비용을 발생시킵니다. 노드당 모델 로드 시간이 증가하면 여러 노드에서 증폭되어 비용이 크게 증가할 수 있습니다. 따라서 서비스 인프라에서 비용 효율성을 달성하려면 빠른 모델 로드를 위해 최적화하는 것이 중요합니다.

게재 성능과 비용을 최적화하려면 다음 요소를 고려하세요.

  • 모델 크기: 모델의 크기(GiB 또는 TiB)입니다. 모델이 클수록 컴퓨팅 리소스와 메모리가 더 많이 필요하며, 이로 인해 지연 시간이 늘어날 수 있습니다.
  • 모델 로드 빈도: 모델을 업데이트할 빈도입니다. 잦은 로드 및 언로드는 컴퓨팅 리소스를 소비하고 지연 시간을 늘립니다.
  • 서빙 노드 수: 모델을 서빙할 노드 수입니다. 일반적으로 노드가 많을수록 지연 시간이 줄어들고 처리량이 늘어나지만 인프라 비용도 증가합니다.

서빙용 Managed Lustre

다음 조건 중 하나라도 적용되는 경우 모델을 제공하기 위해 Managed Lustre를 선택해야 합니다.

  • 학습 및 체크포인트 워크로드가 Managed Lustre를 사용합니다.
  • 워크로드가 추론 노드를 10~100개 사용합니다.
  • 모델을 자주 업데이트합니다.

학습 및 체크포인트에 관리형 Lustre를 이미 사용하고 있다면 모델을 제공하는 데 비용 효율적이고 고성능 옵션이 될 수 있습니다. Managed Lustre는 VM당 높은 처리량과 집계 클러스터 처리량을 제공하여 모델 로드 시간을 줄이는 데 도움이 됩니다. 제공 VM 수에 관계없이 Managed Lustre를 사용할 수 있습니다.

서빙용 Cloud Storage

다음 조건 중 하나라도 적용되는 경우 모델을 서빙할 때 Cloud Storage를 선택해야 합니다.

  • 추론 노드 수가 변경될 수 있는 동적 환경을 위한 비용 효율적인 솔루션이 필요합니다.
  • 모델을 자주 업데이트하지 않습니다.
  • 리전 중단이 발생하더라도 모델의 고가용성 및 내구성을 우선시합니다.

멀티 리전 또는 이중 리전 아키텍처를 사용하면 Cloud Storage에서 고가용성을 제공하고 영역 및 리전 장애로부터 워크로드를 보호합니다. 모델 로딩을 가속화하려면 모델의 일부가 병렬로 가져오도록 병렬 다운로드가 사용 설정된 Cloud Storage FUSE를 사용하면 됩니다.

처리량이 1TB/s를 초과하는 모델 제공을 달성하거나 100개를 초과하는 제공 노드를 배포하려면 멀티 리전 버킷과 함께 Anywhere Cache를 사용하세요. 이 조합은 리전 간에 고성능의 중복 스토리지를 제공하며 유연성을 제공합니다. 또한 위치 무관 캐시는 캐시된 데이터에 대한 데이터 이그레스 및 스토리지 클래스 검색 요금을 없애줍니다.

제공을 위한 Hyperdisk ML

다음 조건 중 하나라도 적용되는 경우 모델을 제공하기 위해 Hyperdisk ML을 선택해야 합니다.

  • 추론 노드가 100개 이상 필요합니다.
  • 모델을 자주 업데이트하지 않습니다.
  • 워크로드에서 지원되는 VM 유형을 사용합니다.
  • 파이프라인에서 읽기 전용 볼륨을 관리하여 모델을 저장할 수 있습니다.

Hyperdisk ML을 Cloud Storage 데이터의 캐시로 사용하여 제공 성능을 최적화합니다. Hyperdisk ML은 공유 성능 풀링과 여러 VM에 걸쳐 동적으로 프로비저닝된 처리량을 사용하여 모든 규모에서 읽기 전용 모델 서빙을 효율적으로 처리합니다.

보관처리

보관처리 단계의 I/O 패턴은 '한 번 쓰기, 드물게 읽기'입니다. 생성한 다양한 학습 데이터 세트와 다양한 버전의 모델을 저장하는 것이 목표입니다. 백업 및 재해 복구 목적으로 이러한 증분 버전의 데이터와 모델을 사용할 수 있습니다. 또한 이러한 항목은 장기간 지속 가능한 위치에 저장해야 합니다. 데이터와 모델에 대한 액세스 권한이 자주 필요하지는 않지만 필요할 때 이러한 항목을 사용할 수 있도록 하는 것이 좋습니다.

매우 뛰어난 내구성, 광범위한 확장성, 저렴한 비용 때문에 객체 데이터를 장기간 저장하기에 가장 좋은Google Cloud 옵션은 Cloud Storage입니다. 데이터 세트, 모델, 백업 파일에 액세스하는 빈도에 따라 Cloud Storage는 다양한 스토리지 클래스를 통해 비용 최적화를 제공합니다. 보관된 데이터에 액세스할 빈도를 기준으로 스토리지 클래스를 선택할 수 있습니다.

  • 데이터 액세스 빈도가 높음: Standard Storage
  • 월별 데이터 액세스: Nearline Storage
  • 분기별 데이터 액세스: Coldline Storage
  • 연간 데이터 액세스: Archive Storage

객체 수명 주기 관리를 사용하면 특정 기준에 따라 데이터를 장기 스토리지 클래스로 자동 이동하거나 데이터를 삭제하는 정책을 만들 수 있습니다. 데이터에 얼마나 자주 액세스할지 확실하지 않으면 자동 클래스 기능을 사용하여 액세스 패턴에 따라 스토리지 클래스 간에 자동으로 데이터를 이동할 수 있습니다.

다음 단계

스토리지 옵션, AI, ML 워크로드에 관한 자세한 내용은 다음 리소스를 참고하세요.

참여자

저자: 사만다 헤 | 기술 문서 작성자

기타 참여자: