AMD GPU को LLM inference में प्रतिस्पर्धी बनाना (2023)
(blog.mlc.ai)-
MLC-LLM का महत्व
- MLC-LLM ROCm का उपयोग करके AMD GPU पर LLM को compile और deploy करने में मदद करता है
- AMD Radeon™ RX 7900 XTX, NVIDIA® GeForce RTX™ 4090 की 80% और RTX™ 3090 Ti की 94% performance देता है
- Vulkan support की वजह से SteamDeck जैसे AMD APU devices पर भी LLM deploy करना संभव होता है
-
पृष्ठभूमि
- ओपन सोर्स LLMs के प्रसार के बाद कई LLM inference solutions सामने आए
- अधिकतर high-performance inference solutions CUDA-आधारित हैं और NVIDIA GPU पर ऑप्टिमाइज़्ड हैं
- कंप्यूट उपलब्धता की बढ़ती मांग के कारण अधिक व्यापक hardware accelerator सपोर्ट करना उपयोगी होता है
- AMD संभावित candidate के रूप में देखा जा सकता है
-
हार्डवेयर और सॉफ़्टवेयर चर्चा
- AMD RX 7900 XTX की specs NVIDIA RTX 4090 और RTX 3090 Ti की तुलना के लायक हैं
- सभी मॉडल 24GB memory रखते हैं, इसलिए समान आकार के मॉडल को host करना संभव है
- FP16 performance में 4090, 7900 XTX से 2x और 3090 Ti, 1.3x अधिक है
- RX 7900 XTX, RTX 4090 की तुलना में 40% सस्ता है
- AMD पहले इसलिए पीछे रहा क्योंकि कारण hardware नहीं बल्कि software सपोर्ट की कमी थी
-
ROCm के लिए Machine Learning Compilation
- Machine Learning Compilation (MLC) एक नई तकनीक है जो machine learning workloads की optimization को स्वतः करती है
- MLC-LLM Apache TVM Unity पर आधारित है और कई backends पर high-performance universal deployment प्रदान करता है
- Python-based workflow से language model को compile करके GPU kernel के layout और scheduling को optimize किया जाता है
-
AMD GPU और APU के लिए MLC
- AMD GPU के लिए समर्थन के कई तरीके: ROCm, OpenCL, Vulkan, WebGPU
- ROCm stack, AMD के recent push का हिस्सा है और इसमें CUDA stack के कई समान components मौजूद हैं
- Vulkan एक आधुनिक graphics standard है जो GPU devices के across सबसे व्यापक समर्थन देता है
- MLC auto code generation को support करता है, इसलिए हर GPU kernel को फिर से build किए बिना अलग-अलग तरीके समर्थित हैं
-
MLC Python पैकेज के साथ benchmark
- Llama 2 7B और 13B मॉडलों को 4-bit quantization पर benchmark किया गया
- single-batch inference performance ROCm 5.6 release के साथ NVIDIA 4090 की 80% speed तक पहुंची
-
SteamDeck पर Vulkan से रनिंग
- AMD APU वाले SteamDeck पर Vulkan का उपयोग करके रन किया जा सकता है
- ROCm में GPU VRAM BIOS में 4GB तक सीमित है, लेकिन Mesa Vulkan ड्राइवर unified memory का उपयोग करके इसे 16GB तक extend कर सकता है
-
चर्चा और आगे का काम
- Generative AI era में compute उपलब्धता एक प्रमुख मुद्दा बनकर उभरी है
- ML compilation hardware backends के across high-performance universal deployment को संभव बनाता है
- consumer GPU पर होने वाला research क्लाउड GPU पर भी सामान्यीकृत हो सकता है
- समुदाय को सलाह दी गई है कि वे MLC universal deployment flow पर आधारित solution build करें
-
अंतिम निष्कर्ष
- ML Systems Engineering एक लगातार चलने वाली समस्या है
- NVIDIA अभी भी innovation के दम पर इस क्षेत्र में आगे है और नए hardware तथा software बदलावों के साथ परिदृश्य बदलने की संभावना है
- Python-based ML compilation development flow की वजह से ROCm optimization सपोर्ट कुछ ही घंटों में हासिल हो सका
-
लिंक और धन्यवाद
- MLC LLM deployment के बारे में detailed guidance के लिए project page देखें
- MLC LLM का source code official GitHub repository में उपलब्ध है
- Apache TVM community और TVM Unity compiler developers को धन्यवाद
1 टिप्पणियां
Hacker News टिप्पणी