AMD Instinct MI300 GPU에 대한 Hugging Face 통합
Hugging Face와 AMD는 AMD Instinct MI300 GPU를 Hugging Face 플랫폼에 통합하여 transformers, text-generation-inference(TGI) 및 기타 핵심 라이브러리 전반에 걸쳐 원활한 지원을 제공합니다. 이 통합을 통해 사용자는 Azure ND MI300x V5 VMs를 포함한 AMD MI300 하드웨어에 코드를 변경하지 않고도 모델을 배포할 수 있습니다.
오픈소스 및 프로덕션 지원
장기적인 안정성과 정확성을 보장하기 위해 Hugging Face는 MI300 라인업에 대해 견고한 CI/CD 파이프라인을 구현했습니다.
CI/CD 인프라스트럭처
Azure ND MI300x V5 VMs와 관리형 Kubernetes 클러스터를 활용함으로써, Hugging Face는 현재 MI300와 이전 세대인 MI250 GPU 모두에서 수만 개의 단위 테스트를 정기적으로 실행하고 있습니다. 이 인프라스트럭처는 개발자에게 하드웨어별 파드를 추상화하여 transformers와 text-generation-inference가 다양한 AMD 하드웨어 플랫폼에서도 호환성과 성능을 유지하도록 보장합니다.
프로덕션 AI 워크로드 성능
통합 작업은 TGI의 모델링 레이어에 집중하여 Meta Llama 계열과 같은 모델이 MI300 하드웨어에서 최적화된 실행을 할 수 있도록 했습니다.
추론 성능
최적화 작업에는 Flash Attention v2, Paged Attention, GPTQ/AWQ 압축 기법 및 최적화된 퓨즈 커널의 통합이 포함되었습니다.
TunableOp의 역할
PyTorch 2.3부터 Hugging Face는 AMD TunableOp를 통합했으며, 이는 형태와 데이터 유형에 따라 일반 행렬 곱셈(GEMM)을 가장 효율적으로 실행하는 방식을 식별하는 메커니즘입니다. TGI 워밍업 단계에서 TunableOp는 사용자의 특정 시퀀스 길이와 배치 크기에 최적화된 설정을 찾아 서버가 운영되는 동안 해당 루틴을 고정합니다. 이로 인해 자동 회귀 디코딩 단계에서 작은 입력 시퀀스에 대한 지연 시간이 8-10% 향상됩니다.
벤치마크: MI300 vs. MI250
Azure ND MI300x V5에서 Meta Llama 3 70B를 사용한 결과, MI300X는 MI250에 비해 상당한 향상을 보였습니다:
- 첫 토큰까지의 시간(프리필): 2배~3배 속도 향상.
- 자동 회귀 디코딩 지연: 2배 속도 향상.
모델 파인튜닝 성능
Transformers, PEFT(LoRA 사용), 그리고 Accelerate 라이브러리를 통해 DeepSpeed Zero3를 이용한 Llama 3 70B에 대한 파인튜닝을 테스트했습니다.
- 학습 속도: MI300X 기반 Azure VMs에서의 학습 속도는 MI250 HPC 서버에 비해 약 2배 빠릅니다.
- 메모리 용량: MI300X의 192 GB HBM3 메모리는 단일 디바이스에서 Meta Llama 3 70B(약 140 GB float16/bfloat16)를 전체 로드하고 파인튜닝할 수 있게 하며, 이는 128 GB MI250에서는 불가능한 작업입니다.
향후 로드맵
Hugging Face는 현재 "minifloat" 지원(float8 및 그 이하)에 투자하고 있습니다. 이는 LLM 추론 시 키-값 캐시의 크기를 절반으로 줄일 것으로 기대됩니다. 향후 목표는 float8로 저장된 키-값 캐시와 float8/float8 행렬 곱셈을 결합하여 메모리 사용량을 더욱 감소시키고 성능을 향상시키는 것입니다.