피드로 돌아가기
Hugging Face BlogBackend
원문 읽기
Google Cloud가 Vertex AI 플랫폼을 사용하여 Vision Transformer 모델을 Kubernetes 대비 코드량 대폭 감소로 배포
Deploying 🤗 ViT on Vertex AI
AI 요약
Context
Vision Transformer 모델을 프로덕션 환경에 배포할 때 로컬 TensorFlow Serving과 Kubernetes 클러스터 배포는 각각 확장성과 관리 복잡도 트레이드오프를 야기했다. 두 방식 모두 상당한 인프라 관리와 설정이 필요했다.
Technical Solution
- Vision Transformer B/16 모델을 SavedModel 형식으로 직렬화하되, base64 인코딩된 이미지 입력을 받아 224x224 리사이즈 및 [-1, 1] 범위 정규화를 내장: 서빙-학습 간 차이 최소화
- Google Cloud Storage(GCS) 버킷에 모델 아티팩트 저장: 중앙화된 모델 저장소 구현
- Vertex AI Model Registry에 SavedModel 업로드: 모델 버전 관리 및 고가용성 보장
- Vertex AI Endpoint 생성 및 배포: 자동 트래픽 기반 오토스케일링, 버전 간 트래픽 분산, 모니터링 및 로깅 지원
- google-cloud-aiplatform Python SDK 활용하여 4단계 배포 워크플로우 구현: ModelServiceClient, EndpointServiceClient, PredictionServiceClient로 모델 업로드, 엔드포인트 생성, 배포, 예측 요청 처리
- n1-standard-8 머신 타입(8 vCPU, 32GB RAM) + NVIDIA_TESLA_T4 GPU 사용
Impact
Vertex AI 배포가 Kubernetes 기반 배포 대비 "현저히 적은 코드"로 동일한 확장성 수준 달성.
Key Takeaway
Vertex AI는 선언적 설정 기반 배포를 통해 인프라 관리 복잡도를 제거하면서, 인증, 오토스케일링, 모델 버전 관리, 트래픽 분산, 모니터링 등 ML 운영에 필수적인 기능을 통합 제공한다. Vision Transformer뿐 아니라 SegFormer 같은 최신 모델도 동일 워크플로우로 배포 가능하다.
실천 포인트
TensorFlow 기반 Vision 모델을 프로덕션에 배포하는 ML 엔지니어는 Vertex AI를 선택하면 SavedModel에 전처리/후처리를 내장한 후 GCS에 저장하고, google-cloud-aiplatform SDK의 4단계 API(모델 업로드 → 엔드포인트 생성 → 배포 → 예측 요청)로 구현하여 Kubernetes 관리 오버헤드 없이 자동 스케일링 및 모니터링 기능을 확보할 수 있다.