AMD MI300X, LLM inference में NVIDIA H100 से आगे
(blog.tensorwave.com)- TensorWave और MK1 की Mixtral 8x7B inference तुलना में MI300X+MK1 Flywheel संयोजन ने वास्तविक चैट उपयोग मामलों के आधार पर H100 SXM+vLLM की तुलना में 33% अधिक throughput दिखाया
- टेस्ट का केंद्र MoE मॉडल था, और Mixtral 8x7B 192GB VRAM वाले एक MI300X में समा जाता है, जबकि 80GB VRAM वाले H100 के लिए दो कार्ड और tensor parallelism 2 की ज़रूरत होती है
- offline batch inference में सभी batch size पर MI300X संयोजन आगे रहा, और प्रदर्शन का अंतर 1.22x~2.94x के दायरे में दिखा
- online chat distribution टेस्ट में औसतन 573 input tokens और 50 output tokens वाले अनुरोध इस्तेमाल किए गए, और 5 सेकंड औसत latency लक्ष्य पर 2 MI300X ने 2 H100 की तुलना में प्रति सेकंड 33% अधिक requests प्रोसेस किए
- TensorWave का मानना है कि सिर्फ throughput ही नहीं, बल्कि cost competitiveness और hardware availability को देखते हुए भी MI300X cloud में बड़े पैमाने के inference संचालन के लिए एक मजबूत विकल्प हो सकता है
तुलना का मुख्य प्रश्न: क्या MoE inference में MI300X, H100 से आगे निकल सकता है
- AMD का flagship accelerator MI300X वास्तविक AI workloads में NVIDIA Hopper architecture से बेहतर प्रदर्शन कर सकता है या नहीं, यही इस टेस्ट का केंद्र था
- TensorWave और MK1 ने AMD hardware पर AI inference performance को बेहतर बनाने के लिए एक महीने तक साथ काम किया
- शुरुआती फोकस Mixture of Experts(MoE) architecture पर था
- MoE को compute efficiency और लोकप्रियता की वजह से चुना गया
- इसे Mistral, Meta, Databricks, X.ai के शक्तिशाली open source LLMs में इस्तेमाल होने वाली संरचना के रूप में पेश किया गया
- MK1 inference software का उपयोग करने वाले MI300X ने Mixtral 8x7B आधारित वास्तविक चैट उपयोग मामलों में H100 SXM और vLLM संयोजन की तुलना में 33% अधिक throughput हासिल किया
- TensorWave ने माना कि NVIDIA का software ecosystem अधिक mature है, लेकिन AMD को AI बाजार में पहले से ही एक मजबूत प्रतिस्पर्धी बताया
benchmark configuration
- सभी benchmarks Mixtral 8x7B मॉडल के साथ किए गए
- inference frameworks को FP16 compute path इस्तेमाल करने के लिए सेट किया गया
- FP8 compute enable करना भविष्य के काम के लिए छोड़ा गया
- अलग-अलग tensor parallelism settings की तुलना के लिए MI300X throughput को 2x extrapolate किया गया
-
AMD system
- TensorWave node का परीक्षण 8 MI300X accelerators, 2 AMD EPYC CPU processors, कुल 192 cores, और 2.3TB DDR5 RAM कॉन्फ़िगरेशन के साथ किया गया
- MI300X accelerator specifications इस प्रकार हैं
- 192GB VRAM
- 5.3TB/s
- FP16 लगभग 1300 TFLOPS
- software configuration इस प्रकार है
- ROCm 6.1.2
- MK1 inference engine Flywheel v0.9.2
- AMD ROCm-optimized vLLM fork rocm/vllm v0.4.0
- क्योंकि Mixtral 8x7B का पूरा मॉडल एक MI300X के 192GB VRAM में समा जाता है, इसलिए tensor parallelism 1(tp=1) पर सेट किया गया
-
NVIDIA system
- H100 system का परीक्षण NVLink वाले 8 H100 SXM5 accelerators, 160 CPU cores, और 1.2TB DDR5 RAM कॉन्फ़िगरेशन के साथ किया गया
- H100 SXM5 accelerator specifications इस प्रकार हैं
- 80GB VRAM
- 3.35TB/s
- FP16 लगभग 986 TFLOPS
- software configuration इस प्रकार है
- CUDA 12.2
-
vLLM v4.3
- Mixtral 8x7B को H100 80GB VRAM के दो कार्डों में फिट करने के लिए tensor parallelism 2(tp=2) पर सेट किया गया
offline inference results
- offline टेस्ट में fixed-size prompts बनाकर सीधे मॉडल को दिए गए और हर inference solution का maximum throughput मापा गया
- offline batching कई prompts को एक साथ प्रोसेस करके hardware efficiency बढ़ाती है
- batch size बढ़ने पर throughput बढ़ता है
- एक साथ अधिक requests संभालने की वजह से latency भी बढ़ती है
- standard practice के अनुसार, एक batch के भीतर requests को समान input size और समान output size तक सीमित रखा गया
- टेस्ट vLLM repository के
benchmark_throughput.pyमें बदलाव करके किया गया- इसे Flywheel को backend के रूप में शामिल करने के लिए refactor किया गया
- caching mechanism हटाने के लिए batch के भीतर prompts को random तरीके से generate किया गया
- MI300X और MK1 Flywheel संयोजन ने सभी batch sizes पर H100 और vLLM संयोजन से बेहतर प्रदर्शन दिखाया
- performance improvement 1.22x~2.94x की रेंज में था
online chat distribution test
- online benchmark को वास्तविक general chat applications को simulate करने के लिए डिज़ाइन किया गया
- टेस्ट में independent workers बनाकर endpoint पर requests भेजी गईं, और workers की संख्या बढ़ाकर concurrent requests बढ़ाई गईं
- requests standard text chat distribution का उपयोग करके generate की गईं
- औसत input tokens: 573
- औसत output tokens: 50
- benchmark tool arbitrary data distributions को support करता है
- मापने वाले metrics तीन थे
- throughput: दिए गए workload पर प्रति सेकंड प्रोसेस की जा सकने वाली requests की संख्या
- औसत latency: हर request के लिए पूरा response generate करने में लगने वाला औसत समय
- TPOT(Time Per Output Token): पहले token के बाद हर अगले token को generate करने में लगने वाला औसत समय, जो लंबे responses की generation speed को प्रभावित करता है
-
non-streaming results
- पहला online benchmark non-streaming use case को टेस्ट करता है
- इसमें पूरा response देने के लिए ज़रूरी throughput और latency मापी गई
- 5 सेकंड औसत latency लक्ष्य पर 2 MI300X(tp=1) ने 2 H100(tp=2) की तुलना में प्रति सेकंड 33% अधिक requests प्रोसेस कीं
- समान service quality पर उतने ही users को संभालने के लिए कम accelerators की ज़रूरत पड़ सकती है
-
streaming results
- दूसरा online benchmark streaming enable करके चलाया गया, और tokens stream होते समय throughput और TPOT मापा गया
- MI300X ने सभी TPOT स्तरों पर H100 से अधिक throughput दिखाया
- अधिक traffic volume पर भी MI300X टेक्स्ट को अधिक तेज़ी से generate कर सकता है
निष्कर्ष और deployment सुझाव
- benchmark नतीजों में AMD MI300X ने Mixtral 8x7B जैसी MoE architecture की offline और online inference workloads में NVIDIA H100 से बेहतर प्रदर्शन दिखाया
- सिर्फ उच्च throughput ही नहीं, बल्कि तेज़ response time की ज़रूरत वाले वास्तविक scenarios में भी MI300X ने बेहतर नतीजे दिए
- TensorWave का सुझाव है कि performance, cost competitiveness, और hardware availability को देखते हुए MK1 software के साथ इस्तेमाल किया जाने वाला MI300X enterprise AI inference scaling के लिए उपयुक्त है
- TensorWave ने बताया कि वह MI300X को MK1 inference software के साथ उपलब्ध कराता है, और users इसे खुद टेस्ट कर सकते हैं
1 टिप्पणियां
Hacker News की राय
TensorWave AI workloads में विशेषज्ञता रखने वाला cloud provider है और AMD Instinct MI300X इस्तेमाल करता है, इसे देखते हुए इस report को कुछ हद तक सावधानी से पढ़ना चाहिए
ज़्यादा fair comparison 8x H100 NVL(188GB, <800W) होना चाहिए
कीमत भी बहुत कुछ बताती है। अगर AMD performance Nvidia के बराबर होती, तो cards को 1/4 कीमत पर बेचने की वजह नहीं होती
समझ नहीं आता कि 2024 में भी 128 input tokens का benchmark क्यों किया जा रहा है। यह ज़्यादातर workloads का प्रतिनिधित्व नहीं करता, और prefill performance बहुत अहम है
असली queries छोटी हैं या लंबी, इस पर भी निर्भर करेगा कि 128 क्यों अनुपयुक्त है
अगर एक शब्द को एक token मानें, तो मेरे मामले में ज़्यादातर queries 128 शब्दों से छोटी होती हैं
इस हिस्से को मैं optimistic नज़र से देखना चाहूंगा। इस क्षेत्र में competition की बेहद ज़रूरत है, और अभी $NVDA market cap असामान्य रूप से बड़ा है। यह पूरे Frankfurt Stock Exchange से लगभग 0.6 trillion dollars ज्यादा है
Lidl, Aldi जैसी discount retail giants या auto parts company Bosch जैसे अमीर Germans के स्वामित्व वाले unlisted बड़े enterprises भी हैं
Nvidia की समस्या अगले कुछ महीनों से कुछ सालों में शायद naturally settle हो जाएगी
एक AI scientist के तौर पर मैं कई models train करता हूं, और निजी तौर पर मुझे लगता है कि AMD, Nvidia की तुलना में undervalued है
Chips Nvidia के latest products जितने तेज़ नहीं हैं, और उन्हें चलाने के लिए कुछ hurdles पार करने पड़ते हैं
लेकिन ज़्यादातर industries के ज़्यादातर workloads में, AI खुद capital का अच्छा इस्तेमाल है या नहीं यह अलग सवाल है, AMD कहीं ज़्यादा cost-effective है और लगभग वही results दे सकता है
Market और selling price Nvidia solutions और AMD solutions की perceived value को reflect करते हैं। इसमें tools, software, total cost of ownership, और ease of management तक शामिल हैं
यह भी सोचने वाली बात है कि कितनी companies ऐसे accelerators इतने महंगे खरीदकर 7B-parameter models के 8 instances parallel में चलाएंगी
यह भी कहा जा रहा है कि single accelerator पर 14B model train किया जा सकता है, लेकिन मैं “पूरे accelerator का इस्तेमाल करने वाले training/inference” workloads देखना चाहूंगा, जैसे 14B model training के बाद 4x14B workload में inference throughput कैसा आता है
AMD और अब तक inference performance के दावे करने वाली ज़्यादातर companies, खासकर Intel और Apple, सिर्फ वे benchmarks चुनकर दिखाती रही हैं जिन्हें वे जीत सकती हैं, और बाकी जहां Nvidia आगे है उन्हें ignore करती रही हैं। इस post में भी, कई comments ने बताया है कि intermediate-generation comparison model इस्तेमाल किया गया है
Single system, यानी 8 accelerators वाली configuration के LLM में, MI300X inference total cost of ownership के मामले में H100 के मुकाबले बहुत competitive है
Microsoft के अनुसार AMD Instinct MI300X, GPT-4 पर price-to-performance में सबसे अच्छा है, और AMD 2027 तक performance per watt में 100x improvement के लक्ष्य की ओर बढ़ रहा है
https://wccftech.com/amd-instinct-mi300x-best-price-performa...
https://www.techspot.com/news/102056-nvidia-allegedly-punish...
ऐसे accelerators के bulk orders कई महीने पहले दिए जाते हैं
वहीं Microsoft के MI300X पहले ही पूरी तरह reserved हैं
https://techcommunity.microsoft.com/t5/azure-high-performanc...
“ये VM और इन्हें चलाने वाला software Azure AI services के real production workloads के लिए purpose-built हैं। दुनिया के सबसे powerful natural language model, GPT-4 Turbo को भी हमने पहले ही इन VM के लिए optimize कर दिया है। ND MI300X v5 VM लोकप्रिय OpenAI और open-source models पर leading cost performance देते हैं।”
उत्सुकता है कि tensor parallel setting performance को प्रभावित करती है या नहीं। सीधा-सा अनुमान है कि हाँ, लेकिन पक्का नहीं
लेख के मुताबिक AMD configuration में MI300X के 1 x 192GB VRAM में पूरा Mixtral 8x7B समा सकता है, इसलिए tensor parallelism tp=1 है; जबकि NVIDIA configuration में इसे H100 के 2 x 80GB VRAM में रखना पड़ता है, इसलिए tp=2 चाहिए
यानी VRAM limit में फिट होने वाला model इस्तेमाल करना, और performance बेहतर हो तो 8-bit quantization लागू करना—इस तरह दोनों devices की कमजोरियों को बेवजह उजागर नहीं करना चाहिए
AMD का hardware बेहतर दिखता है, लेकिन अभी Nvidia से मुकाबला करने की production capacity नहीं है। असली competition करीब आएगा तो margins कैसे घटेंगे, यह देखना दिलचस्प होगा
सबको लगता है कि Nvidia के dominance की वजह CUDA है, लेकिन ऐसा नहीं है। इस साल revenue का लगभग 40% उन hyperscalers से आता है जो GPU के साथ interact करने वाला अपना custom stack इस्तेमाल करते हैं
competitors का पकड़ बनाना और सस्ते GPU देना बस समय की बात है
लगता है CUDA platform और वह C/C++ जैसी language, जिसे लोग
.cufiles में लिखते हैं, इनके बीच भ्रम हैयह सही है कि कुछ लोग सीधे
.cufiles नहीं लिखते, लेकिनnvcc, PTX, SASS, runtime, driver जैसे बाकी CUDA stack को bypass करने वाली कोई जगह नहीं हैमैं भी ऐसी ही एक “hyperscaler” company में काम करता हूँ। यकीन न हो तो देखिए PyTorch में कितने CUDA kernels हैं: https://github.com/pytorch/pytorch/tree/main/aten/src/ATen/n...
Nvidia को dominant बनाने वाली चीज 100% CUDA है
लगता है TSMC ने US या EU में भी कुछ fabs में production शुरू किया है
Nvidia भी TSMC इस्तेमाल करती है और AMD भी TSMC इस्तेमाल करती है
AMD के लिए अच्छी शुरुआत है। Nvidia के अलावा एक और inference option Groq में भी दिलचस्पी है और कभी-कभी इस्तेमाल करता हूँ
Nvidia manufacturing के लिए TSMC पर निर्भर है। Samsung का competing manufacturing infrastructure बनाना भी अच्छी बात है, ताकि Taiwan single point of failure न बने
सही statistical metrics के बिना—खासकर widely used 95th percentile की जगह average इस्तेमाल करने पर, और performance per watt न होने पर—यह comparison बेकार है
95th percentile भी हो तो अच्छा होगा
INT8/FP8 benchmarks भी होते तो अच्छा रहता। दोनों cards H100 पर tp=2 इस्तेमाल किए बिना भी करीब 60GB VRAM में model चला सकते थे