- OpenAI का ओपन-सोर्स LLM GPT-OSS-120B को NVIDIA GPU वातावरण में प्रति सेकंड 500 से अधिक टोकन प्रोसेसिंग परफॉर्मेंस के साथ ऑप्टिमाइज़ किया।
- TensorRT-LLM, vLLM, SGLang जैसे विविध इन्फरेंस फ्रेमवर्क का समानांतर परीक्षण किया गया और Hopper तथा Blackwell दोनों आर्किटेक्चर का समर्थन किया गया।
- संगतता बग ठीक किए गए, Harmony जैसे नए response format को इंटीग्रेट किया, और KV cache-aware routing तथा Eagle-आधारित speculative decoding जैसी ऑप्टिमाइज़ेशन जोड़ी गईं।
- Tensor Parallelism और Expert Parallelism की तुलना के बाद कम लेटेंसी पाने के लिए tensor parallelism चुना गया तथा Blackwell में TensorRT-LLM MoE backend उपयोग किया गया।
- भविष्य में और performance सुधार के लिए छोटे draft मॉडल के साथ Speculative (पूर्वानुमान) Decoding सहित अतिरिक्त ऑप्टिमाइज़ेशन की योजना है।
परिचय
- OpenAI के नए ओपन-सोर्स large language model GPT-OSS-120B के रिलीज़ होते ही Baseten ने टॉप परफॉर्मेंस हासिल करने की चुनौती ली।
- Baseten, OpenAI का official launch partner है।
- OpenRouter पर उपलब्ध वास्तविक उपयोगकर्ता डेटा से Baseten ने दिखाया कि NVIDIA GPU आधारित वातावरण में इसका प्रदर्शन अन्य विकल्पों से बेहतर था।
- Flexible inference stack और मॉडल इंजीनियरिंग टीम की विशेषज्ञता की वजह से वे प्रति घंटे ऑप्टिमाइज़ेशन पैच तेजी से रोलआउट कर सके।
- ब्लॉग लिखने के कुछ घंटों के भीतर भी प्रति सेकंड 100 अतिरिक्त टोकन का इज़ाफ़ा हुआ और 100% अपटाइम बरकरार रहा।
प्रदर्शन ऑप्टिमाइज़ेशन प्रयास
- TensorRT-LLM, vLLM, SGLang जैसे विविध inference framework में testing और benchmarking किया गया।
- Hopper, Blackwell GPU आर्किटेक्चर के साथ संगतता सुनिश्चित करने पर समानांतर काम किया गया।
- Baseten की Flexible Inference Stack तथा प्रमुख components जैसे NVIDIA Dynamo को इंटीग्रेट किया गया।
- KV cache-aware routing और Speculative decoding (Eagle आधारित) जैसी लगातार सत्यापित performance-optimization तकनीकों को लागू किया गया।
नीचे SOTA performance और पूर्ण context window सपोर्ट को साथ में achieve करने के मुख्य चरण दिए गए हैं।
Step 1: शुरुआती इन्फरेंस रन
- किसी भी तरीके से शुरुआत में initial inference (baseline inference) को जितनी जल्दी हो सके रन करना ही शुरुआत थी।
- GPU को ध्यान में रखते हुए कई इंजीनियरों ने समानांतर रूप से vLLM, SGLang, TensorRT-LLM के प्रयोग किए।
- सबसे बेहतर परफॉर्मेंस देने वाला TensorRT-LLM जल्दी सफलतापूर्वक रन किया गया।
- Hopper (जहाँ सबसे ज्यादा H100 GPU हैं) और Blackwell (जहाँ B200 GPU के साथ स्पीड बेहतर है) दोनों में TensorRT-LLM support सुनिश्चित किया गया।
- Baseten Inference Runtime की लचीलापन के कारण नए आर्किटेक्चर मॉडल के अनुकूलन और stack के भीतर tools की तेज़ बदलत आसान हुई।
Step 2: संगतता बग फिक्स
- नए मॉडल आर्किटेक्चर आने पर framework integration में अक्सर बग सामने आते हैं।
- GPT OSS में Harmony जैसे नए response format जोड़ने से पुराने frameworks के साथ integration करते समय बग आए।
- स्पीड और accuracy दोनों को साथ रखने के लिए बार-बार fixes व टेस्ट चलाए गए, और प्रभावी बदलाव ओपन सोर्स में contribute किए गए।
- ग्लोबल ओपन-सोर्स कम्युनिटी के सहयोग से कई optimization paths और bug fixes तेजी से आगे बढ़ रहे हैं।
Step 3: मॉडल कॉन्फ़िगरेशन ऑप्टिमाइज़ेशन
- OpenAI ने GPT OSS 120B के लिए उल्लेख किया है कि यह single H100 पर भी चल सकता है, लेकिन वास्तविक सेटअप में 4~8 GPU parallelism performance के लिए बेहतर है।
- Tensor Parallelism latency पर, जबकि Expert Parallelism throughput पर मजबूत है।
- Baseten का लक्ष्य लो लेटेंसी ऑप्टिमाइज़ेशन होने के कारण Tensor Parallelism चुना गया।
- Blackwell पर TensorRT-LLM MoE Backend लागू करने से पुराने Triton backend की तुलना में CUDA kernel performance बेहतर हुआ।
- Hopper और Blackwell दोनों environments के लिए अलग-अलग ऑप्टिमाइज़्ड सेटिंग्स जारी की गईं, और Model API में Blackwell-आधारित सेटिंग अपनाई गई।
अतिरिक्त performance ऑप्टिमाइज़ेशन
- प्रथम optimization से ही SOTA स्तर का throughput और latency achieve हो गया, लेकिन अभी भी और सुधार की पर्याप्त गुंजाइश है।
- अगला प्रमुख अपडेट होगा Speculative Decoding का introduction।
- इस तरीके में तेज़ छोटे “draft” मॉडल संभावित टोकन generate करते हैं और मुख्य मॉडल उनका सत्यापन करता है।
- Baseten Eagle 3 recommend करता है, लेकिन inference stack में 10 से अधिक algorithms स्थिति अनुसार लचीले तरीके से रन किए जाते हैं।
- Speculative decoding एक साथ कई टोकन का inference करके efficient speedup देने में मदद करता है।
2 टिप्पणियां
काश किसी ने मुझे भी एक छोटा-सा प्यारा H100 दे दिया होता..
Hacker News टिप्पणी
कंटेक्स्ट विंडो छोटा हो और कुल टोकन कम हों तभी तेज़ी मिलती है। दस हजार टोकन से ऊपर जाते ही लगभग हर प्रोसेस स्लो होने लगा और queue बन गई।
MCPs, web search और URL patch पहले ही LLM यूज़ेज़ के लिए बहुत ज़रूरी हो चुके हैं। ये फीचर न हों तो LLM utility काफी गिर जाती है।
ऑफलाइन यूज़ के लिए पहले से सेट किए हुए CLI/TUI coding tools (opencode आदि) model के साथ reliably काम नहीं कर पाए।
OSS मॉडल्स की अन्य quirks पहले की टिप्पणियों के अलावा भी हैं:
git pullकरके फिरllama-serverrebuild करो, और बस चल पड़ा। बिना बदलाव के 40t/s मिला, थोड़ा सा tune करने पर लगभग 50t/s भी मिल गया। अफसोस कि 120B से बेहतर कई models पहले ही आ चुके हैं, इसलिए इसे चलाना शायद जरूरी नहीं। ggerganov और llama.cpp टीम ने जो काम करके LLM को personal computing में democratize किया है, वह सच में शानदार है।