Google Cloud Managed Lustre로 AI 및 ML 워크로드 최적화

Last reviewed 2025-06-02 UTC

이 문서에서는 Google Cloud Managed Lustre를 사용하여 Google Kubernetes Engine (GKE)에 배포된 AI 및 ML 워크로드의 성능을 최적화하는 방법을 보여주는 참조 아키텍처를 제공합니다. 이 문서의 주요 대상에는 Google Cloud에서 AI 워크로드의 스토리지를 설계, 프로비저닝, 관리하는 설계자 및 기술 실무자가 포함됩니다. 이 문서에서는 사용자가 ML 수명 주기, 프로세스, 기능을 이해하고 있다고 가정합니다.

Managed Lustre는 DDN의 EXAScaler Lustre를 기반으로 하는 완전 관리형 영구 병렬 파일 시스템입니다. Google Cloud Managed Lustre는 다음 기준을 충족하는 AI 워크로드에 적합합니다.

  • 최대 8PiB의 스토리지 용량이 필요합니다.
  • 최대 1TB/초의 높은 처리량으로 매우 짧은 지연 시간 (1밀리초 미만) 액세스를 제공합니다.
  • 높은 초당 입출력 작업 수 (IOPS)를 제공합니다.

Managed Lustre는 AI 워크로드에 다음과 같은 이점을 제공합니다.

  • 학습의 총소유비용 (TCO) 절감: 관리형 Lustre는 컴퓨팅 노드에 데이터를 효율적으로 제공하여 학습 시간을 단축합니다. 이 기능은 AI 및 ML 모델 학습의 총 소유 비용을 줄이는 데 도움이 됩니다.
  • 서빙을 위한 TCO 절감: Managed Lustre는 모델 로드 속도를 높이고 추론 서빙을 최적화하는 고성능 기능을 제공합니다. 이러한 기능을 사용하면 컴퓨팅 비용을 낮추고 리소스 사용률을 개선할 수 있습니다.
  • 효율적인 리소스 활용: Managed Lustre를 사용하면 단일 인스턴스 내에서 체크포인트와 학습을 결합할 수 있습니다. 이러한 리소스 공유를 통해 단일 고성능 스토리지 시스템에서 읽기 및 쓰기 처리량을 효율적으로 사용할 수 있습니다.

아키텍처

다음 다이어그램은 관리형 Lustre를 사용하여 모델 학습 워크로드와 제공 워크로드의 성능을 최적화하는 샘플 아키텍처를 보여줍니다.

아키텍처는 관리형 Lustre를 사용하여 모델 학습 워크로드와 제공 워크로드의 성능을 최적화합니다.

위 아키텍처에 표시된 워크로드는 이후 섹션에서 자세히 설명합니다. 이 아키텍처에는 다음 구성요소가 포함됩니다.

  • Google Kubernetes Engine 클러스터: GKE는 AI 및 ML 모델 학습 및 제공 프로세스가 실행되는 컴퓨팅 호스트를 관리합니다. GKE는 컨트롤 플레인, 노드, 모든 시스템 구성요소를 포함하여 클러스터의 기본 인프라를 관리합니다.
  • Kubernetes 스케줄러: GKE 컨트롤 플레인은 워크로드를 예약하고 수명 주기, 확장, 업그레이드를 관리합니다.
  • Virtual Private Cloud (VPC) 네트워크: 아키텍처에 있는 모든 Google Cloud 리소스는 단일 VPC 네트워크를 사용합니다.
  • Cloud Load Balancing: 이 아키텍처에서 Cloud Load Balancing은 애플리케이션 사용자의 수신 추론 요청을 GKE 클러스터의 서비스 컨테이너에 효율적으로 분산합니다. Cloud Load Balancing을 사용하면 AI 및 ML 애플리케이션의 고가용성, 확장성, 최적의 성능을 보장할 수 있습니다. 자세한 내용은 GKE 부하 분산 이해하기를 참고하세요.
  • 그래픽 처리 장치 (GPU) 또는 Tensor 처리 장치 (TPU): GPU와 TPU는 AI 및 ML 워크로드의 성능을 개선하는 특수 머신 가속기입니다. 최적의 효율성과 호환성을 보장하려면 전체 AI 및 ML 워크로드에 동일한 유형의 가속기를 사용하세요. 적절한 프로세서 유형을 선택하는 방법에 관한 자세한 내용은 이 문서의 뒷부분에 나오는 액셀러레이터 옵션을 참고하세요.
  • Managed Lustre: Managed Lustre는 지연 시간이 짧고 처리량이 높은 환경에 최적화된 고성능 병렬 파일 시스템을 제공하여 AI 및 ML 학습과 서빙을 가속화합니다. Cloud Storage만 사용하는 것과 비교할 때 관리형 Lustre를 사용하면 학습 시간이 크게 줄어들고 서비스 제공 중 모델의 응답성이 향상됩니다. 이러한 개선사항은 공유 데이터에 빠르고 일관되게 액세스해야 하는 까다로운 워크로드에서 특히 실현됩니다.
  • Cloud Storage FUSE: Cloud Storage FUSE는 AI 및 ML 워크로드에 영구적이고 비용 효율적인 스토리지를 제공합니다. Cloud Storage는 원시 학습 데이터 세트, 모델 체크포인트, 모델 백업의 중앙 저장소 역할을 합니다. Cloud Storage를 사용하면 컴퓨팅에서 활발하게 사용되지 않는 데이터의 데이터 내구성, 장기 가용성, 비용 효율성을 보장할 수 있습니다.

학습 워크로드

위 아키텍처에서 모델 학습 중 데이터 흐름의 단계는 다음과 같습니다.

  1. Cloud Storage에 학습 데이터 업로드: 학습 데이터를 Cloud Storage 버킷에 업로드합니다. Cloud Storage 버킷은 안전하고 확장 가능한 중앙 저장소이자 신뢰할 수 있는 소스 역할을 합니다.
  2. 관리형 Lustre에 데이터 복사: 학습 데이터 코퍼스가 API를 통해 Cloud Storage에서 관리형 Lustre 인스턴스로 데이터를 가져오기로 전송됩니다. 학습 데이터를 전송하면 Managed Lustre의 고성능 파일 시스템 기능을 활용하여 모델 학습 중에 데이터 로드 및 처리 속도를 최적화할 수 있습니다.
  3. GKE에서 학습 작업 실행: 모델 학습 프로세스가 GKE 노드에서 실행됩니다. Cloud Storage에서 직접 데이터를 로드하는 대신 Managed Lustre를 데이터 소스로 사용하면 GKE 노드에서 훨씬 빠른 속도와 낮은 지연 시간으로 학습 데이터에 액세스하고 이를 로드할 수 있습니다. 또한 Managed Lustre를 사용하면 첫 바이트까지의 시간 (TTFB)으로 측정되는 첫 바이트 전송 시작 시간이 단축됩니다. 관리형 Lustre를 사용하면 특히 작은 읽기 파일과 복잡한 모델이 있는 대규모 데이터 세트의 경우 데이터 로드 시간을 줄이고 전체 학습 프로세스를 가속화할 수 있습니다. 워크로드 요구사항에 따라 GPU 또는 TPU를 사용할 수 있습니다. 적절한 프로세서 유형을 선택하는 방법에 관한 자세한 내용은 이 문서의 뒷부분에 나오는 액셀러레이터 옵션을 참고하세요.
  4. 관리형 Lustre에 학습 체크포인트 저장: 학습 과정에서 정의한 측정항목 또는 간격에 따라 체크포인트가 관리형 Lustre에 저장됩니다. 체크포인트는 모델의 상태를 자주 캡처합니다.

제공 워크로드

위 아키텍처에서 모델 제공 중 데이터 흐름의 단계는 다음과 같습니다.

  1. 서빙을 위해 모델 로드: 모델을 배포할 준비가 되면 GKE 포드가 관리형 Lustre 인스턴스에서 학습된 모델을 서빙 노드로 로드합니다. 학습 중에 사용한 관리형 Lustre 인스턴스의 IOPS 용량이 충분하고 가속기와 동일한 영역에 있는 경우 동일한 관리형 Lustre 인스턴스를 사용하여 모델을 제공할 수 있습니다. 관리 Lustre 인스턴스를 재사용하면 학습과 서빙 간에 리소스를 효율적으로 공유할 수 있습니다. 최적의 성능과 호환성을 유지하려면 서빙 GKE 노드에 선택한 것과 동일한 GPU 또는 TPU 프로세서 유형을 사용하세요.
  2. 추론 요청: 애플리케이션 사용자가 서빙 엔드포인트를 통해 추론 요청을 전송합니다. 이러한 요청은 Cloud Load Balancing 서비스로 전달됩니다. Cloud Load Balancing은 수신 요청을 GKE 클러스터의 서비스 컨테이너에 분산합니다. 이러한 분산을 통해 단일 컨테이너가 과부하되지 않고 요청이 효율적으로 처리됩니다.
  3. 추론 요청 처리: 추론 요청이 수신되면 컴퓨팅 노드가 미리 로드된 모델에 액세스하여 필요한 계산을 실행하고 예측을 생성합니다.
  4. 응답 전송: 제공 컨테이너가 Cloud Load Balancing을 통해 응답을 다시 보냅니다. Cloud Load Balancing은 응답을 적절한 애플리케이션 사용자로 다시 라우팅하여 추론 요청 주기를 완료합니다.

사용 제품

이 참조 아키텍처에는 다음과 같은 Google Cloud 제품이 사용됩니다.

  • 가상 프라이빗 클라우드(VPC): Google Cloud 워크로드에 확장 가능한 전역 네트워킹 기능을 제공하는 가상 시스템입니다. VPC에는 VPC 네트워크 피어링, Private Service Connect, 비공개 서비스 액세스, 공유 VPC가 포함됩니다.
  • Google Kubernetes Engine(GKE): Google 인프라를 사용하여 컨테이너화된 애플리케이션을 대규모로 배포 및 운영하는 데 사용할 수 있는 Kubernetes 서비스입니다.
  • Cloud Storage: 다양한 데이터 유형에 적합한 저비용, 무제한 객체 저장소입니다. Google Cloud내부 및 외부에서 데이터에 액세스할 수 있고 중복성을 위해 여러 위치에 복제됩니다.
  • Google Cloud Managed Lustre: AI, 고성능 컴퓨팅 (HPC), 데이터 집중 애플리케이션을 위한 완전 관리형 병렬 파일 시스템입니다.

사용 사례

Managed Lustre는 최대 1PiB의 스토리지 용량이 필요하고 높은 처리량과 높은 IOPS로 지연 시간이 짧은 (1밀리초 미만) 액세스를 제공해야 하는 AI 워크로드에 적합합니다. 이 섹션에서는 Managed Lustre를 사용할 수 있는 사용 사례의 예를 제공합니다.

텍스트 기반 처리 및 텍스트 생성

LLM은 텍스트 기반 데이터를 이해하고 처리하도록 특별히 설계된 전문 AI 모델입니다. LLM은 방대한 텍스트 데이터 세트로 학습되므로 기계 번역, 질문 답변, 텍스트 요약 등 다양한 작업을 수행할 수 있습니다. 효율적인 학습과 일괄 처리를 지원하려면 LLM이 데이터 세트에 대한 지연 시간이 짧은 액세스가 필요합니다. Managed Lustre는 학습과 추론 모두에 필요한 높은 처리량과 짧은 지연 시간을 제공하여 데이터 집약적인 애플리케이션에서 뛰어난 성능을 발휘하므로 응답성이 뛰어난 LLM 기반 애플리케이션을 만들 수 있습니다.

고해상도 이미지 또는 동영상 처리

의료 영상 분석이나 자율 주행 시스템과 같이 고해상도 이미지나 동영상을 처리하는 기존 AI 및 ML 애플리케이션 또는 멀티모달 생성 모델에는 대규모 스토리지 용량과 빠른 데이터 액세스가 필요합니다. Managed Lustre는 애플리케이션 성능을 가속화하기 위해 데이터를 빠르게 로드할 수 있는 고성능 영구 파일 시스템을 제공합니다. 예를 들어 Managed Lustre는 MRI 및 CT 스캔과 같은 대량의 환자 데이터를 저장할 수 있으며 모델 학습을 위해 컴퓨팅 노드로의 빠른 데이터 로드를 지원할 수 있습니다. 이 기능을 사용하면 AI 및 ML 모델이 진단 및 치료를 위해 데이터를 빠르게 분석할 수 있습니다.

설계 대안

이 섹션에서는 Google Cloud에서 AI 및 ML 애플리케이션에 대해 고려할 수 있는 대체 설계 접근 방식을 보여줍니다.

컴퓨팅 인프라 대안

이 문서의 참조 아키텍처는 AI 및 ML 워크로드에 GKE를 사용합니다. 워크로드 요구사항에 따라 Slurm을 사용하여 Compute Engine에 관리형 Lustre 인스턴스를 배포할 수도 있습니다. 확장 가능한 환경에 독점 AI 지식 재산 (IP)을 통합해야 하고 전문 워크로드의 성능을 최적화하기 위해 유연성과 제어가 필요한 경우 이 접근 방식을 사용하는 것이 좋습니다.

Compute Engine을 사용하면 GKE에 비해 운영체제 수준 제어를 더 세부적으로 제어할 수 있습니다. Compute Engine을 사용하면 다음 작업을 할 수 있습니다.

  • 가상 머신 내에서 OS 환경을 선택, 구성, 관리하여 특정 워크로드 요구사항을 충족합니다.
  • 특정 VM 머신 유형을 선택하는 등 정확한 요구사항에 맞게 인프라를 맞춤설정합니다.
  • AI 워크로드의 성능을 향상하려면 가속기 최적화 머신 계열을 사용하세요.

Slurm은 구성 가능성이 높은 오픈소스 워크로드 및 리소스 관리자입니다. Slurm은 AI 워크로드를 관리하는 강력한 옵션을 제공하며 컴퓨팅 리소스의 구성과 관리를 제어할 수 있습니다. 이 접근 방식을 사용하려면 Slurm 관리 및 Linux 시스템 관리에 대한 전문 지식이 필요합니다. GKE는 클러스터 관리를 자동화하는 관리형 Kubernetes 환경을 제공합니다.

Slurm 배포에 대한 자세한 내용은 Slurm을 통한 HPC 클러스터 배포를 참고하세요. Managed Lustre 스타터 블루프린트와 함께 Cluster Toolkit을 사용하여 배포할 수도 있습니다.

가속기 옵션

머신 가속기는 AI 및 ML 워크로드에 필요한 계산 속도를 높이도록 설계된 특수 프로세서입니다. GPU 또는 TPU를 선택할 수 있습니다.

  • GPU 액셀러레이터는 그래픽 렌더링, 딥 러닝 학습, 과학 컴퓨팅 등 다양한 작업에 뛰어난 성능을 제공합니다. Google Cloud 는 다양한 성능 및 가격대의 폭넓은 GPU 옵션을 제공합니다. GPU 모델 및 가격에 대한 자세한 내용은 GPU 가격 책정을 참고하세요.
  • TPU는 대규모 AI 모델의 학습과 추론에 최적화된 맞춤 설계된 AI 가속기입니다. TPU는 챗봇, 코드 생성, 미디어 콘텐츠 생성, 합성 음성, 비전 서비스, 추천 엔진, 맞춤설정 모델 등 다양한 사용 사례에 적합합니다. TPU 모델 및 가격에 대한 자세한 내용은 TPU 가격 책정을 참고하세요.

스토리지 대안 제공

최고 수준의 가용성을 보장하려면 Anywhere Cache 및 멀티 리전 또는 이중 리전 버킷과 함께 Cloud Storage FUSE를 사용하세요. 이 구성을 사용하면 학습된 AI 모델을 여러 리전에서 사용할 수 있습니다. 하지만 관리형 Lustre 인스턴스와 비교하면 Cloud Storage FUSE의 VM당 처리량이 낮을 수 있습니다. Cloud Storage FUSE로 성능을 개선하는 방법에 관한 자세한 내용은 Cloud Storage FUSE 파일 캐싱 사용을 참고하세요.

Google Cloud Hyperdisk ML은 대규모 데이터 세트에 대한 읽기 전용 액세스가 필요한 대규모 AI 및 ML 워크로드를 가속화하도록 설계된 고성능 블록 스토리지 솔루션입니다. Hyperdisk ML은 볼륨 크기가 작을 때 집계 처리량이 약간 더 높게 프로비저닝될 수 있지만 관리형 Lustre에 비해 VM당 처리량이 낮습니다. 또한 Hyperdisk ML 볼륨은 동일한 영역에 있는 GPU 또는 TPU VM에서만 액세스할 수 있습니다. 따라서 여러 영역에서 제공되는 리전 GKE 클러스터의 경우 각 영역에 별도의 Hyperdisk ML 볼륨을 프로비저닝해야 합니다. 여러 Hyperdisk ML 볼륨을 프로비저닝하는 것이 단일 리전 관리 Lustre 인스턴스를 사용하는 것보다 비용이 더 많이 들 수 있습니다.

또한 Hyperdisk ML은 데이터가 기록된 후에는 수정할 수 없도록 설계되어 있습니다. 이 한 번 쓰기, 여러 번 읽기 (WORM) 접근 방식을 사용하면 실수로 인한 손상이나 무단 수정을 방지할 수 있습니다. 하지만 서빙 모델을 업데이트하려면 기존 모델을 재정의할 수 없습니다. 대신 새 Hyperdisk ML 인스턴스를 만들어야 합니다. AI 워크로드에서 Hyperdisk ML을 사용하는 방법에 대한 자세한 내용은 Hyperdisk ML을 사용하여 AI/ML 데이터 로드 가속화를 참고하세요.

설계 고려사항

Google Cloud에서 AI 및 ML 워크로드의 보안, 안정성, 비용, 운영, 성능을 최적화하는 Managed Lustre 배포를 설계하려면 다음 섹션의 가이드라인을 따르세요.

워크로드의 아키텍처를 빌드할 때는 Google Cloud Well-Architected Framework: AI 및 ML 관점의 권장사항과 추천을 고려하세요.

보안, 개인 정보 보호, 규정 준수

이 섹션에서는Google Cloud 에서 보안, 개인 정보 보호, 규정 준수 요구사항을 충족하는 AI 및 ML 워크로드에 대한 고려사항을 설명합니다.

SSH 보안

GKE에서 실행되는 애플리케이션의 액세스 제어를 강화하려면 IAP (Identity-Aware Proxy)를 사용하면 됩니다. IAP는 GKE 인그레스 리소스와 통합되며 올바른 Identity and Access Management (IAM) 역할을 가진 인증된 사용자만 애플리케이션에 액세스할 수 있는지 확인하는 데 도움이 됩니다. 자세한 내용은 GKE에 IAP 사용 설정IAM으로 액세스 제어를 참고하세요.

데이터 암호화

기본적으로 관리 Lustre 인스턴스에 저장된 데이터를 포함한 GKE의 데이터는 Google-owned and Google-managed encryption keys를 사용하여 저장 데이터전송 중 데이터 상태로 암호화됩니다. 민감한 정보에 대한 추가 보안 레이어로서 Cloud Key Management Service (Cloud KMS)에서 사용자가 소유하고 관리하는 키를 사용하여 애플리케이션 레이어의 데이터를 암호화할 수 있습니다. 자세한 내용은 애플리케이션 레이어에서 보안 비밀 암호화를 참고하세요.

GKE Standard 클러스터를 사용하는 경우 다음과 같은 추가 데이터 암호화 기능을 사용할 수 있습니다.

데이터 격리

보안을 강화하고 데이터 보호를 개선하려면 체크포인트와 학습된 모델과는 별도의 관리 Lustre 인스턴스에 학습 데이터를 저장하세요. 별도의 스토리지 인스턴스를 사용하면 성능 격리가 제공되고, 학습 데이터를 격리하여 보안이 강화되며, 데이터 보호가 개선됩니다. 액세스 제어 목록을 사용하면 단일 인스턴스 내에서 보안을 관리할 수 있지만 별도의 인스턴스를 사용하면 더 강력한 보안 경계를 제공할 수 있습니다.

추가 보안 고려사항

Autopilot 모드의 작업에서는 GKE가 클러스터를 사전 구성하고 보안 권장사항에 따라 노드를 관리하므로 워크로드별 보안에 집중할 수 있습니다. 자세한 내용은 GKE Autopilot 보안 기능GKE Autopilot을 사용한 이전 지원 Kubernetes 보안을 참고하세요.

데이터의 개인 정보 보호를 보호하는 방법에 대한 자세한 내용은 민감한 정보 보호 개요스토리지 및 데이터베이스에서 민감한 정보 검사를 참고하세요. Google Cloud

AI 및 ML 워크로드와 관련된 보안 원칙 및 권장사항은 Well-Architected Framework의 AI 및 ML 관점: 보안을 참고하세요.

안정성

이 섹션에서는 이 참조 아키텍처를 사용하여 Google Cloud에서 리전 배포를 위한 안정적인 인프라를 빌드하고 운영할 때 고려해야 하는 설계 요소를 설명합니다.

인프라 중단에 대한 견고성

이 아키텍처에 사용되는 Autopilot 모드의 작업에서는 GKE가 다음과 같은 안정성 기능을 기본 제공합니다.

  • 워크로드에서 리전별 GKE 클러스터를 사용합니다. 컨트롤 플레인과 워커 노드가 리전 내 3개 영역에 분산됩니다. 영역 중단이 발생하더라도 워크로드가 운영됩니다. 리전 GKE 클러스터의 업타임 서비스수준계약 (SLA)이 영역 클러스터보다 높습니다.
  • 노드를 만들거나 노드 풀을 관리할 필요가 없습니다. GKE는 워크로드 요구사항에 따라 노드 풀을 자동으로 만들고 자동으로 확장합니다.

애플리케이션의 가용성을 높이려면 각 영역에 Managed Lustre 인스턴스를 배포하여 여러 영역에서 애플리케이션을 제공하면 됩니다.

클러스터 용량 계획

GKE 클러스터의 자동 확장에 필요한 경우 충분한 GPU 용량을 사용할 수 있도록 예약 기능을 만들어 사용하면 됩니다. 예약은 지정된 리소스에 대해 특정 영역에서 보장된 용량을 제공합니다. 예약은 프로젝트에 따라 다르게 지정할 수 있고 여러 프로젝트 간에 공유할 수 있습니다. 리소스가 프로비저닝되거나 사용되지 않더라도 예약된 리소스에 대한 요금이 발생합니다. 자세한 내용은 예약된 영역별 리소스 사용을 참고하세요.

데이터 내구성

GKE에서 워크로드를 백업하고 복원하려면 각 클러스터에서 Backup for GKE를 사용 설정하세요. Backup for GKE는 재해 복구, CI/CD 파이프라인, 워크로드 클론, 업그레이드 시나리오에 유용합니다.

백업 및 복원하려는 특정 워크로드 또는 모든 워크로드를 선택할 수 있습니다. 한 클러스터에서 워크로드를 백업하고 이를 다른 클러스터로 복원할 수도 있습니다. 워크로드 다운타임을 줄이려면 사고 발생 시 워크로드를 빠르게 복구할 수 있도록 백업을 예약하여 자동으로 실행하면 됩니다.

추가 안정성 고려사항

AI 및 ML 워크로드와 관련된 안정성 원칙 및 권장사항은 Well-Architected Framework의 AI 및 ML 관점: 안정성을 참고하세요.

비용 최적화

이 섹션에서는 Google Cloud에서 AI 및 ML 워크플로를 설정하고 운영하는 비용을 최적화할 수 있게 도와줍니다.

Managed Lustre 성능 등급

Managed Lustre 인스턴스를 만들 때는 성능 등급을 선택해야 합니다. 워크로드의 성능 및 비용 요구사항에 따라 적절한 등급을 선택합니다.

노드 프로비저닝 모델

Autopilot 모드에서 GKE는 워크로드 요구사항을 기반으로 클러스터 인프라의 효율성을 최적화합니다. 비용을 관리하기 위해 리소스 사용률을 지속적으로 모니터링하거나 용량을 관리할 필요가 없습니다.

Autopilot 클러스터의 CPU, 메모리, 임시 스토리지 사용량을 예측할 수 있으면 약정 사용 할인을 받을 수 있습니다. 애플리케이션 실행 비용을 줄이려면 GKE 노드에 스팟 VM을 사용하면 됩니다. 스팟 VM은 표준 VM보다 가격이 저렴하지만 가용성을 보장하지 않습니다.

리소스 관리

효율적인 관리를 통해 비용과 성능을 최적화하려면 동적 워크로드 스케줄러를 사용하세요. 동적 워크로드 스케줄러는 AI 가속기 (GPU 및 TPU)에 대한 액세스를 개선하는 데 도움이 되는 리소스 관리 및 작업 스케줄러입니다. 동적 워크로드 스케줄러는 모든 가속기를 동시에 예약하며 정의된 가속기 용량 관리로 오프 피크타임에 실행할 수 있습니다. 동적 워크로드 스케줄러는 작업을 전략적으로 예약하여 가속기 활용률을 극대화하고, 유휴 시간을 줄이며, 클라우드 지출을 최적화합니다.

리소스 사용률

리소스 사용률을 극대화하려면 학습 및 제공에 관리형 Lustre 인스턴스 하나를 사용하세요. 학습 및 제공 워크로드를 단일 관리 Lustre 인스턴스로 통합하면 중복 인프라를 제거하고 리소스 관리를 간소화하여 비용을 최소화할 수 있습니다. 하지만 두 워크로드 모두 처리량 요구사항이 높은 경우 리소스 경합이 발생할 수 있습니다. 학습 후 여유 IOPS가 있는 경우 동일한 인스턴스를 사용하면 서빙을 위한 모델 로딩을 가속화할 수 있습니다. Cloud Monitoring을 사용하여 처리량 요구사항을 충족하기에 충분한 리소스를 할당했는지 확인합니다.

스토리지 비용을 최소화하려면 학습 및 체크포인트 설정 후 관리형 Lustre 인스턴스에서 데이터를 내보내 비용이 저렴한 Cloud Storage 클래스로 내보내세요. 데이터를 Cloud Storage로 내보내면 워크로드에 필요한 경우 관리형 Lustre 인스턴스를 삭제하고 다시 만들 수도 있습니다.

Cloud Storage 버킷의 비용을 관리하려면 객체 수명 주기 관리 또는 자동 클래스를 사용 설정하세요. 객체 수명 주기 관리는 설정한 규칙에 따라 오래되거나 사용 빈도가 낮은 데이터를 저렴한 스토리지 클래스로 자동 이동하거나 데이터를 삭제합니다. 자동 클래스는 액세스 패턴에 따라 스토리지 클래스 간에 데이터를 이동합니다. 객체 수명 주기 관리 또는 자동 클래스를 사용하면 비용을 최소화하고 예기치 않은 검색 비용을 방지하여 데이터 사용에 가장 비용 효율적인 스토리지 클래스를 보장할 수 있습니다.

추가 비용 고려사항

AI 및 ML 워크로드와 관련된 비용 최적화 원칙 및 권장사항은 Well-Architected Framework의 AI 및 ML 관점: 비용 최적화GKE에서 비용에 최적화된 Kubernetes 애플리케이션을 실행하기 위한 권장사항을 참고하세요.

운영 우수성

이 섹션에서는 효율적으로 운영할 수 있는 AI 및 ML 워크플로용 인프라를 설계하는 데 도움이 되는 안내를 제공합니다.

모델 관리

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

모델 안정성을 최적화하려면 Vertex AI 모델 모니터링을 구현하여 데이터 드리프트를 감지하고, 성능을 추적하고, 프로덕션에서 이상치를 식별하세요.

GKE 클러스터 자동 확장

Autopilot 클러스터를 사용하면 노드 풀을 프로비저닝하거나 관리할 필요가 없습니다. 노드 풀은 노드 자동 프로비저닝을 통해 자동으로 프로비저닝되고 워크로드 요구사항이 충족되도록 자동으로 확장됩니다.

GKE Standard 클러스터의 경우 클러스터 자동 확장 처리는 워크로드 요구에 따라 노드 풀 내의 노드 수를 자동으로 조절합니다. 클러스터 자동 확장 처리의 자동 확장 동작을 제어하려면 노드 풀의 최소 및 최대 크기를 지정하면 됩니다.

GKE 클러스터 자동 확장 처리기를 사용하는 경우 클러스터 노드에 대해 Compute Engine 관리형 인스턴스 그룹 (MIG) 자동 확장을 사용 설정하지 마세요. GKE 클러스터 자동 확장 처리는 Compute Engine 자동 확장 처리와 구분됩니다. GKE 클러스터 자동 확장 처리는 기본 MIG를 비롯한 GKE 클러스터 전반의 리소스 사용률을 분석하여 워크로드를 확장하도록 설계되었습니다. 두 자동 확장 처리를 모두 사용하면 확장 결정이 충돌할 수 있습니다. 자세한 내용은 GKE 클러스터 자동 확장 정보를 참고하세요.

측정항목 모니터링

병목 현상을 식별하려면 지연 시간, 오류율, 리소스 사용과 같은 주요 측정항목을 모니터링하고 Cloud Monitoring을 사용하세요. Cloud Monitoring은 리소스 사용 패턴을 추적하고 잠재적인 비효율성을 식별할 수 있는 실시간 가시성을 제공합니다.

스토리지 관리

Cloud Storage 버킷의 사용량을 기반으로 데이터 관리를 자동화하려면 객체 수명 주기 관리 또는 자동 클래스를 사용 설정하세요. 객체 수명 주기 관리는 설정한 규칙에 따라 오래되거나 사용 빈도가 낮은 데이터를 저렴한 스토리지 클래스로 자동 이동하거나 데이터를 삭제합니다. 자동 클래스는 액세스 패턴에 따라 스토리지 클래스 간에 데이터를 이동합니다. 객체 수명 주기 관리 또는 Autoclass를 사용하면 스토리지 인프라 전반에서 일관된 정책 적용을 보장하고 잠재적인 인적 오류를 줄일 수 있으므로 수동 개입 없이 성능과 비용 절감 효과를 모두 얻을 수 있습니다.

추가 운영 고려사항

AI 및 ML 워크로드와 관련된 운영 효율성 권장사항 및 추천은 Well-Architected Framework의 AI 및 ML 관점: 운영 우수성을 참고하세요.

성능 최적화

이 섹션에서는 Google Cloud에서 AI 및 ML 워크플로의 성능을 최적화하는 데 도움이 되는 안내를 제공합니다. 이 섹션의 안내는 일부일 뿐 모든 내용을 포함하지는 않습니다. Google Cloud Managed Lustre 환경의 성능 최적화에 대한 자세한 내용은 성능 고려사항을 참고하세요.

학습 고려사항

A3 또는 A4 VM은 관리 Lustre 인스턴스에서 20GB/s(GPU당 약 2.5GB/s)를 제공할 수 있습니다. 학습이 시작되기 전에 학습 중에 지연 시간을 최소화하기 위해 Cloud Storage에서 학습 데이터를 미리 가져와 관리 Lustre로 가져와야 합니다. 학습 워크로드의 처리량을 최대화하려면 처리량 및 스토리지 용량 요구사항에 맞게 Managed Lustre 인스턴스를 프로비저닝하세요. 예를 들어 20TiB 관리 Lustre 인스턴스는 선택한 성능 등급에 따라 모든 클라이언트에서 2.5GB/s~20GB/s의 집계 처리량을 제공합니다. 학습에 더 높은 처리량이 필요한 경우 관리형 Lustre 인스턴스 크기를 적절히 늘려야 합니다.

체크포인트 고려사항

관리형 Lustre가 제공하는 높은 쓰기 처리량을 활용하고 학습 시간을 최소화하려면 학습과 체크포인트 모두에 관리형 Lustre를 사용하세요. 이 접근 방식을 사용하면 리소스를 효율적으로 활용하고 학습과 체크포인트를 최대한 빠르게 유지하여 GPU 리소스의 총소유비용을 낮출 수 있습니다. 빠른 체크포인트를 달성하려면 분산 비동기 체크포인트를 실행하면 됩니다. Managed Lustre는 영구적이므로 동일한 인스턴스 내에 체크포인트를 저장할 수 있습니다. 추가 비용 최적화 및 장기 스토리지를 위해 체크포인트를 Cloud Storage 버킷으로 내보내는 것이 좋습니다.

제공 고려사항

서빙 중에 최적의 성능을 달성하려면 모델을 메모리에 로드하는 데 걸리는 시간을 최소화해야 합니다. Managed Lustre는 VM당 20GB/s 이상의 높은 처리량을 제공하여 높은 집계 클러스터 처리량을 제공합니다. 이 기능을 사용하면 수천 개의 VM에서 모델 로드 시간을 최소화할 수 있습니다. 병목 현상을 식별할 수 있는 주요 측정항목을 추적하려면 Cloud Monitoring을 사용하고 스토리지 용량이 증가함에 따라 성능이 향상되도록 충분한 용량을 배포했는지 확인하세요.

리소스 배치

지연 시간을 최소화하고 성능을 최대화하려면 GPU 또는 TPU 컴퓨팅 클라이언트와 지리적으로 가까운 리전에 관리형 Lustre 인스턴스를 만드세요. 이 문서에서 설명하는 참조 아키텍처에서 GKE 컨테이너와 파일 시스템은 동일한 영역에 있습니다.

  • 학습 및 체크포인트: 최적의 결과를 위해 클라이언트와 관리 Lustre 인스턴스를 동일한 영역에 배포합니다. 이러한 공동 배치로 데이터 전송 시간이 최소화되고 관리형 Lustre 쓰기 처리량의 활용도가 극대화됩니다.
  • 제공: 동일한 영역의 컴퓨팅 클라이언트와 공동 배치하는 것이 이상적이지만 리전당 관리형 Lustre 인스턴스 하나로 충분할 수 있습니다. 이 접근 방식을 사용하면 여러 인스턴스를 배포하는 데 드는 추가 비용을 방지하고 컴퓨팅 성능을 극대화할 수 있습니다. 하지만 추가 용량이나 처리량이 필요한 경우 리전당 인스턴스를 두 개 이상 배포하는 것이 좋습니다.

관리형 Lustre 인스턴스에 지원되는 위치에 대한 자세한 내용은 지원되는 위치를 참고하세요.

추가 성능 고려사항

AI 및 ML 워크로드와 관련된 성능 최적화 원칙 및 권장사항은 Well-Architected Framework의 AI 및 ML 관점: 성능 최적화를 참고하세요.

배포

관리형 Lustre 인스턴스를 만들고 마운트하려면 Cluster Toolkit에서 제공되는 관리형 Lustre 모듈을 사용하는 것이 좋습니다. 클러스터 툴킷은Google Cloud에 반복 가능한 AI 및 ML 환경을 배포하도록 설계된 모듈식 Terraform 기반 툴킷입니다.

GKE에 Managed Lustre를 수동으로 배포하는 방법에 대한 자세한 내용은 Managed Lustre 인스턴스 만들기Google Kubernetes Engine에서 기존 Managed Lustre 인스턴스에 연결을 참고하세요.

관리형 Lustre용 VPC 네트워크를 구성하는 방법에 대한 자세한 내용은 VPC 네트워크 구성을 참고하세요.

다음 단계

참여자

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

기타 참여자: