MaxDiffusion과 함께 GKE에서 TPU를 사용하여 Stable Diffusion XL(SDXL) 제공

이 튜토리얼에서는 MaxDiffusion과 함께Google Kubernetes Engine(GKE)에서 Tensor Processing Unit(TPU)을 사용하여 SDXL 이미지 생성 모델을 제공하는 방법을 보여줍니다. 이 튜토리얼에서는 Hugging Face에서 모델을 다운로드하고 MaxDiffusion을 실행하는 컨테이너를 사용하여 Autopilot 또는 Standard 클러스터에 배포합니다.

이 가이드는 AI/ML 워크로드를 배포하고 제공할 때 관리형 Kubernetes의 세밀한 제어, 맞춤설정, 확장성, 복원력, 이동성, 비용 효율성이 필요한 경우 좋은 출발점이 될 수 있습니다. ML 모델을 비용 효율적으로 빠르게 빌드하고 제공할 수 있는 통합 관리형 AI 플랫폼이 필요한 경우 Vertex AI 배포 솔루션을 사용하는 것이 좋습니다.

배경

MaxDiffusion과 함께 GKE에서 TPU를 사용하여 SDXL을 제공하면 비용 효율성, 확장성, 높은 가용성을 비롯한 관리형 Kubernetes의 모든 이점을 갖춘 강력한 프로덕션에 즉시 사용 가능한 서빙 솔루션을 빌드할 수 있습니다. 이 섹션에서는 이 튜토리얼에서 사용되는 주요 기술을 설명합니다.

Stable Diffusion XL(SDXL)

Stable Diffusion XL(SDXL)은 추론을 위해 MaxDiffusion에서 지원되는 잠재 확산 모델(LDM)의 한 유형입니다. 생성형 AI의 경우 LDM을 사용하여 텍스트 설명에서 고품질 이미지를 생성할 수 있습니다. LDM은 이미지 검색 및 이미지 캡션과 같은 애플리케이션에 유용합니다.

SDXL은 샤딩 주석을 사용하여 단일 또는 멀티 호스트 추론을 지원합니다. 이를 통해 SDXL을 여러 머신에서 학습하고 실행할 수 있어 효율성을 높일 수 있습니다.

자세한 내용은 Stability AI 저장소의 생성 모델SDXL 자료를 참고하세요.

TPU

TPU는 Google이 TensorFlow, PyTorchJAX와 같은 프레임워크를 활용하여 빌드된 머신러닝 및 AI 모델을 가속화하는 데 사용하기 위해 커스텀 개발한 ASIC(application-specific integrated circuits)입니다.

GKE에서 TPU를 사용하기 전에 다음 학습 과정을 완료하는 것이 좋습니다.

  1. Cloud TPU 시스템 아키텍처를 사용하는 현재 TPU 버전 가용성 알아보기
  2. GKE의 TPU 알아보기

이 튜토리얼에서는 SDXL 모델 서빙을 설명합니다. GKE는 지연 시간이 짧은 프롬프트를 제공하기 위한 모델 요구사항에 따라 TPU 토폴로지가 구성된 단일 호스트 TPU v5e 노드에 모델을 배포합니다. 이 가이드에서 모델은 1x1 토폴로지가 있는 TPU v5e 칩을 사용합니다.

MaxDiffusion

MaxDiffusion은 TPU 및 GPU를 비롯한 XLA 기기에서 실행되는 다양한 잠재 확산 모델의 참조 구현 모음으로, Python과 Jax로 작성되었습니다. MaxDiffusion은 연구와 프로덕션 모두를 위한 확산 프로젝트의 시작점입니다.

자세한 내용은 MaxDiffusion 저장소를 참고하세요.