이 문서에서는 Azure에서 HPC-AI 벤치마킹을 소개합니다. 다음을 수행해야 하는 설계자, 엔지니어 및 의사 결정자를 위해 설계되었습니다.
- 신규 또는 기존 워크로드에 대한 Azure 인프라 평가
- 성능 기준 설정
- 객관적인 데이터를 사용하여 VM 제품군 비교
- 성능 및 비용 효율성 최적화
벤치마킹이 중요한 이유
벤치마킹은 기술 및 비즈니스 의사 결정을 모두 지원하는 증거 기반 인사이트를 제공합니다. HPC 및 AI 워크로드에 몇 가지 중요한 용도로 사용됩니다.
- 올바른 인프라 선택: 워크로드 특성을 가장 적합한 Azure VM 제품군과 일치합니다.
- 성능 유효성 검사: 배포된 시스템이 예상 처리량 및 대기 시간 목표를 충족하는지 확인합니다.
- 구성 최적화: 컴퓨팅, 메모리, 스토리지 및 네트워킹에서 병목 상태를 식별합니다.
- 비용 효율성 분석: VM 옵션에서 가격-성능 비율을 비교합니다.
- 조달 결정 지원: 이해 관계자에게 반복 가능하고 방어 가능한 성능 데이터를 제공합니다.
주요 성능 메트릭
의미 있는 시스템 평가 및 비교를 위해 HPC 시스템 성능을 측정하는 데 사용되는 핵심 메트릭을 이해하는 것이 중요합니다. 비교를 위한 객관적인 측정값을 제공하고, 시스템 병목 상태를 식별하여 성능 튜닝을 사용하도록 설정하고, 애플리케이션 성능을 예측하는 데 도움이 됩니다. 메트릭은 워크로드 유형에 따라 다르지만 일반적으로 4가지 범주로 분류됩니다.
컴퓨팅 성능 메트릭은 시스템의 원시 처리 기능과 해당 기능이 실제로 얼마나 효과적으로 실현되는지 설명합니다. FLOPS(초당 부동 소수점 작업)는 일반적으로 계산 처리량을 정량화하는 데 사용되며 HPL(LINPACK)과 같은 벤치마크에서 보고되는 경우가 많습니다. 최고 성능은 하드웨어의 이론적 최대 기능을 나타내지만, 지속적인 성능은 애플리케이션이 실제 워크로드에서 실제로 달성하는 것을 반영하므로 대부분의 평가에 더 의미 있는 지표입니다.
HPC 및 AI용 Azure VM 제품군
Azure는 다양한 워크로드 패턴에 맞게 조정된 특수 VM 제품군을 제공합니다.
CPU 기반 HPC(HB 시리즈)
HB 시리즈 VM은 메모리 대역폭 및 짧은 대기 시간 네트워킹에 최적화되어 다음과 같은 기존 HPC 워크로드에 적합합니다.
- CFD(계산 유체 역학)
- 날씨 및 기후 모델링
- 유한 요소 분석
주요 특징은 다음과 같습니다.
- 코어 수가 높은 AMD EPYC 프로세서
- 대용량 메모리 대역폭(최신 세대의 HBM 포함)
- 고속 InfiniBand 네트워킹
GPU 기반 AI(ND 시리즈)
ND 시리즈 VM은 다음을 포함하여 GPU 가속 워크로드용으로 설계되었습니다.
- 딥 러닝 교육
- LLM(큰 언어 모델) 유추
- AI 연구 및 실험
이러한 VM 기능은 다음과 같습니다.
- NVIDIA 데이터 센터 GPU(H100, H200, Blackwell)
- 큰 GPU 메모리 용량
- 대역폭이 높은 GPU-GPU 및 GPU-네트워크 간 상호 연결
벤치마킹 범주
다른 벤치 마크는 다른 질문에 대답합니다. 평가하려는 성능의 측면에 따라 벤치마크를 선택합니다.
가상 벤치마크
가상 벤치마크는 특정 시스템 구성 요소를 격리하며 기준 유효성 검사에 유용합니다.
- STREAM – 지속 가능한 메모리 대역폭 측정
- HPL(LINPACK) – 최대 부동 소수점 컴퓨팅 성능 측정
- HPCG – 실제 HPC 워크로드에 가까운 스파스 선형 대수의 성능을 평가합니다.
- OSU Micro-Benchmarks – MPI 대기 시간 및 대역폭 유효성 검사
- NCCL 테스트 – GPU 집단 통신 성능 측정
애플리케이션 벤치마크
애플리케이션 벤치마크는 실제 동작을 반영하며 더 대표적인 경우가 많습니다.
- ANSYS Fluent – CFD 솔버의 성능
- WRF – 날씨 및 대기 모델링
- GROMACS / NAMD – 분자 역학 처리량
- MLPerf Training – 종단 간 AI 학습 성능
- MLPerf 유추 – 처리량 및 대기 시간을 제공하는 모델
시작하기
Azure에서 벤치마킹을 시작하려면 다음 권장 경로를 따릅니다.
1. Set up infrastructure
└── Setting Up Your First HPC Cluster (CycleCloud + Slurm)
2. Run baseline benchmarks
├── Running Your First Benchmark: STREAM (CPU/memory)
└── Running NCCL Benchmarks (GPU communication)
3. Compare VM options
├── CPU HPC VMs Comparison
└── GPU AI VMs Comparison
4. Optimize for your workload
└── Optimizing NCCL for Azure (AI training)
모범 사례
다음은 안정적이고 재현 가능한 벤치마크에 대한 몇 가지 지침입니다.
벤치마크 전에
- HPC/AI 최적화 이미지 사용: 미리 구성된 드라이버 및 라이브러리를 포함하는 Azure HPC 이미지(AlmaLinux-HPC, Ubuntu-HPC)로 시작
- 드라이버 버전 확인: GPU 드라이버, InfiniBand 드라이버 및 NCCL 버전이 최신 버전인지 확인
- 토폴로지 확인: NUMA 구성 및 GPU-NIC 선호도 확인
벤치마킹 중
- 준비 실행: 캐시가 안정화되도록 초기 실행 취소
- 여러 반복: 5회 이상의 반복을 실행하고 중앙값 또는 평균을 보고합니다.
- 일관된 조건: 비교에서 OS, 드라이버 및 구성을 동일하게 유지
- 모든 항목 문서화: 소프트웨어 버전, 환경 변수 및 명령줄 매개 변수 기록
피해야 할 일반적인 문제
- 준비 기간이 부족합니다.
- 다른 소프트웨어 버전 비교
- NUMA 토폴로지 무시
- 최적화 없이 기본 구성 사용
- 부적절한 샘플 크기