GN⁺: AMD GPU의 LLM 추론 경쟁력 강화 (2023)
(blog.mlc.ai)-
MLC-LLM의 중요성
- MLC-LLM은 ROCm을 사용하여 AMD GPU에서 LLM을 컴파일하고 배포할 수 있게 함
- AMD Radeon™ RX 7900 XTX는 NVIDIA® GeForce RTX™ 4090의 80%, RTX™ 3090Ti의 94% 성능을 제공함
- Vulkan 지원을 통해 SteamDeck과 같은 AMD APU 장치에서도 LLM 배포 가능
-
배경
- 오픈 소스 LLM의 확산 이후 많은 LLM 추론 솔루션이 등장함
- 대부분의 성능 좋은 추론 솔루션은 CUDA 기반이며 NVIDIA GPU에 최적화되어 있음
- 컴퓨팅 가용성에 대한 높은 수요로 인해 더 넓은 범위의 하드웨어 가속기를 지원하는 것이 유용함
- AMD는 잠재적인 후보임
-
하드웨어 및 소프트웨어 논의
- AMD RX 7900 XTX는 NVIDIA RTX 4090 및 RTX 3090 Ti와 비교할 만한 스펙을 가짐
- 모든 모델은 24GB 메모리를 가지고 있어 동일한 크기의 모델을 수용 가능
- FP16 성능은 4090이 7900 XTX보다 2배, 3090 Ti가 1.3배 더 높음
- RX 7900 XTX는 RTX 4090보다 40% 저렴함
- AMD가 과거에 뒤처진 이유는 하드웨어가 아닌 소프트웨어 지원 부족 때문임
-
ROCm을 위한 머신 러닝 컴파일
- 머신 러닝 컴파일(MLC)은 머신 러닝 작업의 최적화를 자동화하는 신기술임
- MLC-LLM은 Apache TVM Unity 기반으로, 다양한 백엔드에 대해 고성능의 범용 배포를 제공함
- Python 기반 워크플로우를 통해 언어 모델을 컴파일하고 GPU 커널의 레이아웃과 스케줄링을 최적화함
-
AMD GPU 및 APU를 위한 MLC
- AMD GPU를 지원하는 여러 방법: ROCm, OpenCL, Vulkan, WebGPU
- ROCm 스택은 AMD가 최근 추진하는 것으로, CUDA 스택과 유사한 구성 요소를 많이 포함함
- Vulkan은 최신 그래픽 표준으로, GPU 장치 전반에 걸쳐 가장 넓은 범위의 지원을 제공함
- MLC는 자동 코드 생성을 지원하여 각 GPU 커널을 재구성할 필요 없이 다양한 방법을 지원함
-
MLC Python 패키지를 사용한 벤치마크
- Llama 2 7B 및 13B 모델을 4비트 양자화로 벤치마크함
- 단일 배치 추론 성능은 ROCm 5.6 출시와 함께 NVIDIA 4090의 80% 속도에 도달함
-
SteamDeck에서 Vulkan을 사용한 실행
- AMD APU가 장착된 SteamDeck에서 Vulkan을 사용하여 실행 가능
- ROCm에서 GPU VRAM은 BIOS에서 4GB로 제한되지만, Mesa Vulkan 드라이버는 통합 메모리를 사용하여 16GB까지 확장 가능
-
논의 및 향후 작업
- 하드웨어 가용성은 생성 AI 시대에 중요한 문제로 부각됨
- ML 컴파일은 하드웨어 백엔드 전반에 걸쳐 고성능 범용 배포를 가능하게 함
- 소비자용 GPU에 대한 연구는 클라우드 GPU에도 일반화될 수 있음
- MLC 범용 배포 흐름을 기반으로 솔루션을 구축하도록 커뮤니티에 권장함
-
최종 결론
- 머신 러닝 시스템 엔지니어링은 지속적인 문제임
- NVIDIA는 여전히 혁신을 통해 이 분야를 선도하고 있으며, 새로운 하드웨어와 소프트웨어 발전으로 변화할 것으로 예상됨
- Python 기반 ML 컴파일 개발 흐름 덕분에 ROCm 최적화 지원을 몇 시간 만에 얻을 수 있었음
-
링크 및 감사
- MLC LLM 배포에 대한 자세한 가이드는 프로젝트 페이지를 참조
- MLC LLM의 소스 코드는 공식 GitHub 저장소에서 확인 가능
- Apache TVM 커뮤니티와 TVM Unity 컴파일러 개발자들에게 감사의 뜻을 전함
Hacker News 의견
-
AMD 소비자용 GPU(RX7900XTX)의 성능은 데이터센터용 GPU(MI300X)와 다르며, 이는 RDNA와 CDNA 아키텍처의 차이 때문임. 2026년쯤 AMD가 UDNA 아키텍처를 출시할 예정임. CentML에서는 AMD CDNA와 HIP 지원을 Hidet 딥러닝 컴파일러에 통합 중임
-
여러 스타트업들이 AMD GPU를 활용하여 Nvidia의 독점을 깨려는 시도를 하고 있음. Felafax, Lamini, tensorwave, SlashML 등이 이에 해당함. 일부는 CUDA의 장벽이 18개월 정도라고 주장함
-
TVM과 MLC 작업을 하던 팀이 OctoAI에서 NVIDIA로 합류했음
-
Phi-4 Q6을 7950x와 7900XT에서 사용해본 결과, CPU만으로도 매우 빠르며, AMD의 가정 내 사용 가능성을 확인함
-
ML 커뮤니티가 CUDA에서 벗어나지 않는 이유를 이해하지 못하겠음. CUDA는 폐쇄적이고 크로스 플랫폼이 아님. AI/LLM 발전으로 크로스 플랫폼 전환이 더 빨라야 했음
-
중고 3090은 $600-900이며, 7900보다 성능이 좋고 CUDA 덕분에 더 다재다능함
-
효율성을 높이는 노력이 중요함. 가격 효율성뿐만 아니라 전력과 컴퓨팅 효율성도 필요함. llama.cpp를 사용하여 일반 CPU에서 간섭을 실행해보고 있음
-
Modular는 AMD GPU에서 93% GPU 활용도를 달성했다고 주장하며, 내년 초 공식 미리보기 출시 예정임. Nvidia GPU 성능에 대한 긍정적인 피드백을 보고 낙관적임