피드로 돌아가기
Hugging Face BlogAI/ML
원문 읽기
Hugging Face가 AMD Instinct MI300 GPU를 Transformers와 text-generation-inference에 통합해 코드 변경 없이 로컬 환경부터 Azure 프로덕션까지 배포 지원 및 Llama 3 70B 학습 속도 2배 향상 달성
Hugging Face on AMD Instinct MI300 GPU
AI 요약
Context
AMD Instinct MI300는 최신 세대 GPU 서버이지만 Hugging Face 플랫폼 전반에 걸쳐 첫 번째 수준의 통합이 부족했다. 개발자들이 다양한 하드웨어 가속기를 선택하여 AI 모델을 배포할 수 있도록 지원하기 위한 일관된 소프트웨어 스택이 필요했다.
Technical Solution
- Transformers 및 text-generation-inference 레이어에서 MI300 테스트 자동화: Azure ND MI300x V5를 CI/CD 빌드 블록으로 설정하여 tens of thousands 단위의 유닛 테스트를 정기적으로 MI250과 MI300 양쪽에서 검증
- Kubernetes 기반 인프라 마이그레이션: 이전 인프라에서 관리형 Kubernetes 클러스터로 전환하여 개발자가 하드웨어 추상화 계층에서 동일한 CI/CD 파이프라인을 다양한 플랫폼에서 실행 가능하게 구성
- text-generation-inference 모델링 레이어 최적화: Flash Attention v2, Paged Attention, GPTQ/AWQ 압축 기법, PyTorch ROCm TunableOp, 최적화된 fused kernels 통합으로 Llama 계열 모델의 추론 성능 개선
- PyTorch 2.3 TunableOp 통합: GEMM 연산에 대해 shape와 데이터 타입에 따라 가장 효율적인 실행 방식을 자동 선택하도록 구현
- 메모리 활용 개선: MI300X의 192 GB HBM3 메모리를 활용해 Llama 3 70B 모델을 float16/bfloat16으로 단일 GPU에 완전히 로드 및 파인튜닝 가능하게 구성(MI250은 128 GB로 불가능)
Impact
- Llama 3 70B 학습 속도 2배 향상: Azure MI300X VM에서 이전 세대 MI250을 사용한 HPC 서버 대비
- 작은 입력 시퀀스에서 레이턴시 8~10% 개선: TunableOp을 활용한 디코딩 페이즈 성능 향상
Key Takeaway
AI 하드웨어 지원 전략에서 인프라(Kubernetes 기반 CI/CD), 컴파일러 최적화(TunableOp), 고수준 알고리즘(Flash Attention) 레이어를 동시에 최적화하면 개발자 경험 저하 없이 신규 GPU의 성능을 최대한 활용할 수 있다. 특히 managed Kubernetes로의 마이그레이션으로 하드웨어 추상화를 달성하면 여러 가속기 지원 시 운영 복잡도를 크게 줄일 수 있다.
실천 포인트
오픈소스 머신러닝 프레임워크 개발팀이 신규 GPU를 지원할 때, 단순히 커널 최적화만 하는 것보다 Kubernetes 기반 매니지드 인프라와 PyTorch TunableOp 같은 자동 튜닝 도구를 함께 도입하면 다양한 하드웨어에 걸친 일관된 CI/CD 파이프라인을 구축하고 하드웨어 추상화를 통해 개발자 코드 변경을 최소화하면서도 최신 GPU의 성능을 최대 2배까지 활용할 수 있다.