허깅 페이스와 AMD GPU 가속 for LLMs
허깅 페이스와 AMD는 AMD Instinct GPU에서 Large Language Models(LLMs)에 대한 기본 제공 가속을 제공하기 위해 파트너십을 체결했습니다. 이 통합은 코드 변경 없이 AMD 하드웨어에서 허깅 페이스 Transformers 모델을 실행할 수 있게 하여, 고성능 AI 추론 및 훈련을 위한 하드웨어 옵션을 크게 확장했습니다.
제로 코드 통합 for AMD Instinct GPUs
모든 허깅 페이스 Transformers 모델과 작업은 이제 AMD Instinct GPU에서 지원됩니다. 사용자는 NVIDIA GPU에서 일반적으로 사용되는 동일한 PyTorch 코드를 사용하여 모델을 배포할 수 있으며, 단순히 "cuda" 장치를 대상으로 하면 됩니다.
안정성과 성능을 보장하기 위해 허깅 페이스는 데이터센터 내에서 AMD Instinct GPU上的 오픈소스 라이브러리에 대한 통합 테스트를 구현했으며, 탄소 영향을 최소화하기 위해 아이슬란드에 배치된 서버를 Verne Global을 통해 활용했습니다.
기술 최적화 및 기능 지원
네이티브 지원을 넘어, 협력은 ROCm 기반 GPU를 위한 여러 최첨단 가속 도구와 커널을 통합했습니다:
- Flash Attention v2: AMD 오픈소스 노력을 통해 Transformers와 Text Generation Inference(TGI)에 네이티브하게 통합되었습니다.
- Paged Attention: vLLM과 TGI 내 다양한 fused kernels를 통해 ROCm에서 지원됩니다.
- DeepSpeed: Transformers를 사용하여 ROCm 기반 GPU에 대해 공식적으로 검증 및 지원됩니다.
- GPTQ: 메모리 요구 사항을 줄이는 가중치 압축은 AutoGPTQ 및 Transformers와의 직접 통합을 통해 지원됩니다.
- ONNX Runtime: Optimum 라이브러리를 사용하여
ROCMExecutionProvider를 통해 ROCm GPU에서 ONNX 모델 실행이 지원됩니다. - Optimum-Benchmark: Optimum-Benchmark은 일반 및 분산 환경에서 AMD GPU에서의 Transformers 성능을 벤치마크하기 위해 제공되는 유틸리티입니다.
하드웨어 성능: AMD Instinct MI250 vs. NVIDIA A100
AMD Instinct MI250은 128 GB의 High Bandwidth Memory를 갖추고 있으며, 이는 두 개의 서로 다른 ROCm 장치(각 64 GB)로 나뉩니다. 이 아키텍처는 단일 MI250 카드가 두 개의 PyTorch 장치처럼 작동하도록 하여 텐서 및 데이터 병렬 처리를 용이하게 합니다.
optimum-benchmark를 사용한 벤치크는 MI250이 A100보다 갖는 다음과 같은 성능 장점을 보여줍니다:
- 디코딩 처리량: 대용량 배치가 있는 생산 환경에서 MI250은 초당 2.33배 이상의 토큰을 더 제공합니다.
- 프리필 latency: MI250은 A100과 비교하여 첫 번째 토큰까지의 시간(prefill latency)을 절반으로 줄입니다.
- 훈련: MI250은 더 큰 배치를 지원하고 더 높은 훈련 처리량을 달성합니다.
Text Generation Inference(TGI)를 사용한 프로덕션 배포
Text Generation Inference(TGI)는 이제 AMD Instinct MI210 및 MI250 GPU에 대한 초기 지원을 제공합니다. TGI는 위에서 언급한 최적화를 활용하여 LLMs에 대한 엔드-투-엔드 배포 솔루션을 규모에 맞게 제공합니다.
Llama 모델 가족에 대한 성능 벤치마크는 MI250의 메모리 장점을 보여줍니다. Llama 70B(float16 기준 138 GB가 필요한)의 경우, MI250의 128 GB 글로벌 메모리는 A100의 80 GB보다 더 큰 workload, 더 긴 시퀀스, 더 큰 배치를 허용하며, 유사한 구성에서 A100은 out-of-memory 오류를 겪었습니다.
행렬 곱셈을 최적화하기 위해 허깅 페이스는 AMD GeMM Tuner 도구를 사용했으며, 이 도구는 향후 업데이트에서 PyTorch의 일부로 출시될 예정입니다.
프로덕션 배포는 다음 Docker 이미지를 통해 이용 가능합니다: ghcr.io/huggingface/text-generation-inference:1.2-rocm.
미래 로드맵
- 소비자 하드웨어: AMD Radeon GPU에 대한 검증 및 지원을 로컬 데스크톱 사용을 위해 제공합니다.
- 차세대 서버 GPU: 곧 출시될 AMD Instinct MI300 라인업의 성능을 최적화합니다.
- Edge AI: 랩톱 CPU에서 AMD Ryzen AI 기술에 대한 지원을 강화하여 사설 온-device AI 실행을 가능하게 합니다. Ryzen AI 호환 모델은 현재 허깅 페이스 허브에서 이용 가능합니다.