Azure 인프라(IaaS)의 AI 워크로드에 대한 컴퓨팅 권장 사항
이 문서에서는 IaaS(Azure 인프라)에서 AI 워크로드를 실행하는 조직에 대한 컴퓨팅 권장 사항을 제공합니다. 선호하는 방법은 Azure AI PaaS(Platform-as-a-Service) 솔루션을 사용하여 AI 채택 을 시작하는 것입니다. 그러나 Azure GPU에 액세스할 수 있는 경우 이 지침에 따라 Azure IaaS에서 AI 워크로드를 실행합니다.
AI 워크로드에는 높은 계산 요구 사항 및 대규모 데이터 처리를 처리하기 위해 특수한 VM(가상 머신)이 필요합니다. 적절한 VM을 선택하면 리소스 사용을 최적화하고 AI 모델 개발 및 배포를 가속화할 수 있습니다. 다음 표에서는 권장 컴퓨팅 옵션에 대한 개요를 제공합니다.
AI 단계 | 가상 머신 이미지 | 생성 AI | 비제전적 AI(복합 모델) | 비제전적 AI(작은 모델) |
---|---|---|---|---|
AI 모델 학습 | Data Science Virtual Machine | GPU(ND 제품군을 선호합니다. 또는 이더넷 상호 연결된 VM에서 NC 제품군 사용) | GPU(ND 제품군을 선호합니다. 또는 이더넷 상호 연결된 VM에서 NC 제품군 사용) | 메모리 최적화 (CPU) |
추론 AI 모델 | Data Science Virtual Machine | GPU(NC 또는 ND 제품군) | GPU(NC 또는 ND 제품군) | 컴퓨팅 최적화 (CPU) |
올바른 가상 머신 이미지 선택
데이터 과학 Virtual Machines와 같은 적합한 가상 머신 이미지를 선택하여 AI 워크로드용으로 미리 구성된 도구에 빠르게 액세스합니다. 이 선택은 효율적인 AI 처리에 필요한 소프트웨어를 제공하면서 시간과 리소스를 절약합니다.
데이터 과학 Virtual Machines 이미지로 시작합니다. 데이터 과학 Virtual Machine 이미지는 데이터 과학 도구에 미리 구성된 액세스를 제공합니다. 이러한 도구에는 PyTorch, TensorFlow, scikit-learn, Jupyter, Visual Studio Code, Azure CLI 및 PySpark가 포함됩니다. GPU와 함께 사용할 경우 이미지에는 Nvidia 드라이버, CUDA 도구 키트 및 cuDNN도 포함됩니다. 이러한 이미지는 기준 이미지 역할을 합니다. 더 많은 소프트웨어가 필요한 경우 부팅 시 스크립트를 통해 추가하거나 사용자 지정 이미지에 포함합니다. 오케스트레이션 솔루션과의 호환성을 유지합니다.
필요에 따라 대체 이미지를 찾습니다. 데이터 과학 Virtual Machine 이미지가 요구 사항을 충족하지 않는 경우 Azure Marketplace 또는 기타 검색 방법을 사용하여 대체 이미지를 찾습니다. 예를 들어 GPU를 사용하는 경우 InfiniBand 드라이버, NVIDIA 드라이버, 통신 라이브러리, MPI 라이브러리 및 모니터링 도구를 포함하는 Linux 이미지가 필요할 수 있습니다.
가상 머신 크기 선택
적절한 가상 머신 크기를 선택하면 AI 모델 복잡성, 데이터 크기 및 비용 제약 조건과 일치합니다. 하드웨어를 학습 또는 추론 요구 사항과 일치하면 효율성이 최대화되고 사용 미달 또는 오버로드가 방지됩니다.
가상 머신 옵션의 범위를 좁힐 수 있습니다. 최적의 학습 및 유추 시간을 위해 최신 가상 머신 SKU를 선택합니다. 학습의 경우 GPU 간의 고속 데이터 전송을 위해 RDMA 및 GPU 상호 연결을 지원하는 SKU를 선택합니다. 유추의 경우 불필요한 InfiniBand를 사용하여 SKU를 사용하지 않도록 합니다. 예를 들어 ND MI300X v5 시리즈, ND H100 v5 시리즈, NDm A100 v4 시리즈 및 ND A100 v4 시리즈가 있습니다.
가상 머신 가격 책정을 확인합니다. 일반적인 비용 개요를 보려면 Linux 및 Windows VM 가격 책정 페이지를 사용합니다. 자세한 예상은 Azure 가격 계산기를 사용합니다.
스폿 인스턴스를 고려합니다.스폿 인스턴스는 데이터 손실 위험을 최소화하는 유추 시나리오에 비용 효율적입니다. 스폿 인스턴스는 사용하지 않는 데이터 센터 용량을 할인된 가격으로 활용하여 상당한 절감액을 제공합니다. 그러나 이 용량은 언제든지 회수할 수 있으므로 스폿 인스턴스는 중단을 처리할 수 있는 워크로드에 가장 적합합니다. 제거 시 손실을 최소화하기 위해 정기적으로 데이터를 검사합니다. 자세한 내용은 Azure CycleCloud에서 스폿 VM 사용을 참조하세요.
컴퓨팅 오케스트레이션 솔루션 선택
컴퓨팅 오케스트레이션 솔루션은 가상 머신 클러스터에서 AI 작업을 쉽게 관리할 수 있습니다. 간단한 배포의 경우에도 오케스트레이터는 비용을 절감하고 환경을 재현할 수 있도록 할 수 있습니다. 오케스트레이터를 사용하면 특정 시간 동안 필요한 컴퓨팅만 사용할 수 있습니다. 작업 및 확장성을 개선하기 위해 일정, 컨테이너화 및 크기 조정 요구 사항에 따라 오케스트레이션 도구를 선택합니다.
오픈 소스 스케줄러에 Azure CycleCloud를 사용합니다. Azure CycleCloud는 Slurm, Grid Engine 또는 Torque/PBS와 같은 오픈 소스 스케줄러에 적합합니다. 유연한 클러스터 관리, 사용자 지정 가능한 구성 및 고급 일정 예약 기능을 제공합니다. 클러스터 내의 가상 머신에는 AI 워크로드 실행을 위한 구성이 필요합니다. CycleCloud 및 Batch에 대한 가상 머신은 비영구 컴퓨터입니다. 오케스트레이터는 비용 절감을 위해 필요할 때 VM을 만들고 제거합니다. 자세한 내용은 슬럼용 Azure CycleCloud 작업 영역을 참조하세요.
기본 제공 일정 예약에 Azure Batch를 사용합니다. Azure Batch는 추가 소프트웨어 설치 또는 관리가 필요 없는 기본 제공 일정 기능을 제공합니다. 소비 가격 책정 모델이 있으며 라이선스 요금이 없습니다. 또한 기본적으로 컨테이너화된 작업을 지원합니다. 배포 모범 사례는 Azure Batch Accelerator를 참조 하세요.
컨테이너 크기 조정을 위해 AKS(Azure Kubernetes Service)를 사용합니다. AKS는 클러스터 전체에서 컨테이너를 배포, 크기 조정 및 관리하기 위한 관리형 서비스입니다. 대규모 컨테이너에서 AI 워크로드를 실행하는 데 적합합니다. 자세한 내용은 Azure Kubernetes Service를 사용하여 GPU 기반 워크로드를 호스트하는 방법을 참조하세요.
작업을 수동으로 오케스트레이션하여 더 간단한 작업을 수행합니다. 오케스트레이션 요구 사항이 최소인 경우 AI 리소스를 수동으로 관리합니다. 소규모 워크로드에 대해 다음 단계를 고려합니다.
- 워크플로를 정의합니다. 종속성 및 작업 순서를 포함하여 워크플로 엔드 투 엔드를 이해합니다. 모든 단계에서 오류를 처리하는 방법을 고려합니다.
- 작업을 기록하고 모니터링합니다. 작업에 대한 명확한 로깅 및 모니터링 프레임워크를 구현합니다.
- 필수 구성 요소의 유효성을 검사합니다. 환경이 필요한 라이브러리 및 프레임워크를 포함하여 모든 워크플로 요구 사항을 충족하는지 확인합니다.
- 버전 제어를 사용합니다. 버전 제어를 사용하여 변경 내용을 추적하고 관리합니다.
- 작업 자동화. 스크립트를 사용하여 데이터 전처리, 학습 및 평가를 자동화합니다.
컨테이너 고려
컨테이너는 효율적으로 스케일링되는 일관되고 재현 가능한 환경을 제공합니다. 컨테이너는 환경 간의 전환을 간소화하여 확장 가능한 AI 솔루션에 필수적입니다.
드라이버 설치. 다양한 시나리오에서 컨테이너 기능을 사용하도록 설정하는 데 필요한 드라이버가 설치되어 있는지 확인합니다. 클러스터 구성의 경우 Pyxis 및 Enroot와 같은 도구가 필요한 경우가 많습니다.
NVIDIA 컨테이너 도구 키트를 사용합니다. 이 도구 키트는 컨테이너 내에서 GPU 리소스를 사용하도록 설정합니다. CUDA 및 GPU 드라이버와 같은 모든 필수 드라이버를 설치하고 AI 워크로드 실행을 위해 기본 컨테이너 런타임 및 엔진을 사용합니다.