तकनीकी गाइड

सतत बैचिंग

निरंतर बैचिंग एक सेवारत तकनीक है जो पूरे निश्चित बैच के समाप्त होने की प्रतीक्षा करने के बजाय, चल रहे बैच से टोकन-दर-टोकन अनुरोध जोड़ती और हटाती है।

2 मिनट लालअंतिम बार अद्यतन किया गया

सिंहावलोकन

It keeps the GPU constantly busy and sharply increases how many users an AI model can serve at once.

गहरा गोता

जब वे एक बैच में कई अनुरोधों को एक साथ संसाधित करते हैं तो GPU सबसे तेज़ होते हैं। अनुभवहीन दृष्टिकोण, स्थैतिक बैचिंग, अनुरोधों के एक निश्चित समूह को समूहित करता है, उन सभी को पूरा होने तक चलाता है, फिर अगला बैच शुरू करता है। समस्या: भाषा मॉडल आउटपुट लंबाई में बेतहाशा भिन्न होते हैं, इसलिए छोटे अनुरोध जल्दी समाप्त हो जाते हैं और उनके स्लॉट निष्क्रिय रहते हैं जबकि बैच सबसे लंबे समय तक इंतजार करता है, जीपीयू चक्र बर्बाद करता है और नए आगमन में देरी करता है। निरंतर बैचिंग (जिसे इन-फ़्लाइट या पुनरावृत्ति-स्तरीय बैचिंग भी कहा जाता है, जिसे ओर्का पेपर द्वारा लोकप्रिय बनाया गया है और वीएलएलएम, टेन्सोरआरटी-एलएलएम और टीजीआई में उपयोग किया जाता है) एकल डिकोडिंग चरण की ग्रैन्युलैरिटी पर काम करता है। प्रत्येक टोकन उत्पन्न होने के बाद, समाप्त अनुक्रम बैच से बाहर निकल जाते हैं और नए आए अनुरोधों को तुरंत स्लॉट कर दिया जाता है। इससे बैच भरा रहता है और GPU संतृप्त रहता है, जिससे अक्सर प्रतीक्षा करने वाले उपयोगकर्ताओं के लिए कम विलंबता के साथ थ्रूपुट कई गुना बढ़ जाता है।

तकनीकी अंतर्दृष्टि

मुख्य बदलाव संपूर्ण अनुरोधों को बैचने से लेकर व्यक्तिगत पुनरावृत्तियों को बैचने तक है। प्रत्येक डिकोड चरण पर शेड्यूलर सक्रिय सेट बनाता है: यह सभी इन-फ़्लाइट अनुक्रमों पर एक फॉरवर्ड पास चलाता है, प्रत्येक एक टोकन उत्सर्जित करता है, अनुक्रम के अंत टोकन या लंबाई सीमा तक पहुंचने वाले किसी भी टोकन को बाहर निकालता है, और मुक्त स्लॉट को भरने के लिए कतारबद्ध अनुरोधों को स्वीकार करता है। इसे PagedAttention की लचीली KV मेमोरी के साथ जोड़ने से उड़ान के बीच में अनुक्रमों को सम्मिलित करना और हटाना सस्ता हो जाता है, क्योंकि प्रत्येक अनुक्रम का कैश स्वतंत्र ब्लॉकों में रहता है।

सामरिक प्रभाव

लागत और बजट

वास्तुकला संबंधी निर्णय वर्षों तक प्रदर्शन और परिचालन लागत को संचालित करते हैं।

स्पष्ट निर्णय

तकनीकी शिक्षा टीमों को सही स्टैक चुनने में मदद करती है, न कि केवल नवीनतम स्टैक चुनने में।

गुणवत्ता नियंत्रण

बेहतर इंजीनियरिंग विकल्प उत्पादन में विश्वसनीयता की घटनाओं को कम करते हैं।

सतत बैचिंग का भविष्य

उत्पादन एलएलएम सेवा में निरंतर बैचिंग अब मानक है। भविष्य का काम शेड्यूलर को परिष्कृत करता है: हल्के डिकोड चरण (अलगाव) से गणना-भारी प्रीफिल चरण को अलग करना, मिश्रित कार्यभार के लिए डिकोडिंग, प्राथमिकता और निष्पक्षता नीतियों से बचने के लिए खंडित प्रीफिल, और सट्टा डिकोडिंग के साथ सख्त युग्मन ताकि प्रति चरण कई ड्राफ्ट टोकन मान्य हों। लक्ष्य व्यक्तिगत प्रतिक्रिया विलंबता को कम और पूर्वानुमानित रखते हुए प्रति जीपीयू प्रति सेकंड अधिकतम टोकन निचोड़ना है।

वास्तविक विश्व कार्यान्वयन

एक चैट एपीआई नए आए उपयोगकर्ता संदेशों को अगले बैच के लिए कतारबद्ध करने के बजाय तुरंत चल रहे बैच में स्वीकार कर रहा है

एक संक्षिप्त पूर्ण उत्तर को मध्य-बैच से बाहर निकालना और उसके स्लॉट को बैकफ़िल करना ताकि GPU कभी भी लंबी पीढ़ी की प्रतीक्षा में निष्क्रिय न रहे

प्रत्येक डिकोड चरण पर सस्ते में अनुक्रम सम्मिलित करने और हटाने के लिए वीएलएलएम के पेजेडअटेंशन के साथ निरंतर बैचिंग का संयोजन

एक कोड-समापन सेवा, बैच को पूर्ण रखते हुए तीव्र, परिवर्तनीय-लंबाई वाले ट्रैफ़िक के तहत उच्च टोकन-प्रति-सेकंड को बनाए रखती है

जोखिम और रेलिंग

एक बेंचमार्क को अनुकूलित करने से व्यापक सिस्टम कमजोरियों को छुपाया जा सकता है।

बुनियादी ढांचे और रखरखाव की लागत को अक्सर कम करके आंका जाता है।

जैसे-जैसे सिस्टम अधिक जटिल होते जाएंगे सुरक्षा और अवलोकन संबंधी अंतराल बढ़ सकते हैं।

कार्यान्वयन रोडमैप

1

कार्यान्वयन से पहले विलंबता, गुणवत्ता और लागत लक्ष्य परिभाषित करें।

2

यथार्थवादी लोड और डेटा स्थितियों के तहत बेंचमार्क।

3

त्रुटियों, बहाव और उपयोगकर्ता प्रभाव के लिए उपकरण निगरानी।

4

स्केलिंग से पहले रोलबैक और घटना प्रतिक्रिया पथ तैयार करें।

अन्वेषण करते रहें

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Continuous Batching quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

प्रश्नोत्तरी प्रारंभ करें

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

अगली गाइड

एमएल वर्कलोड के लिए कुबेरनेट्स

अक्सर पूछे जाने वाले प्रश्नों

What is Continuous Batching?

निरंतर बैचिंग एक सेवारत तकनीक है जो पूरे निश्चित बैच के समाप्त होने की प्रतीक्षा करने के बजाय, चल रहे बैच से टोकन-दर-टोकन अनुरोध जोड़ती और हटाती है। यह GPU को लगातार व्यस्त रखता है और तेजी से बढ़ाता है कि एक AI मॉडल कितने उपयोगकर्ताओं को एक साथ सेवा दे सकता है।

एलएलएम सेवा के लिए स्थिर (निश्चित) बैचिंग की मुख्य कमजोरी क्या है?

क्योंकि आउटपुट की लंबाई अलग-अलग होती है, समाप्त अनुक्रम तब तक निष्क्रिय रहते हैं जब तक कि सबसे धीमा अनुक्रम पूरा नहीं हो जाता, GPU चक्र बर्बाद हो जाता है और नए अनुरोधों में देरी होती है।

निरंतर बैचिंग किस ग्रैन्युलैरिटी पर अनुरोधों को जोड़ती और हटाती है?

निरंतर (पुनरावृत्ति-स्तर) बैचिंग प्रत्येक डिकोड चरण के बाद सक्रिय सेट को अपडेट करती है, इसलिए यह पूरे अनुरोध के बजाय टोकन-दर-टोकन संचालित करती है।

जब कोई अनुक्रम निरंतर बैचिंग के तहत मध्य-बैच को समाप्त करता है, तो उसके स्लॉट का क्या होता है?

समाप्त अनुक्रमों को हटा दिया जाता है और प्रतीक्षा अनुरोधों को तुरंत स्लॉट कर दिया जाता है, जिससे बैच भरा रहता है और GPU व्यस्त रहता है।

अनुक्रमों को सम्मिलित करने/हटाने को सस्ता बनाने के लिए कौन सी तकनीक निरंतर बैचिंग के साथ स्वाभाविक रूप से जुड़ती है?

PagedAttention प्रत्येक अनुक्रम के KV कैश को स्वतंत्र ब्लॉकों में संग्रहीत करता है, इसलिए उड़ान के बीच में अनुक्रम को जोड़ने या हटाने से दूसरों की स्मृति बाधित नहीं होती है।

पुनरावृत्ति-स्तर (निरंतर) बैचिंग को लोकप्रिय बनाने का श्रेय आमतौर पर किस शोध पत्र को दिया जाता है?

ओर्का पेपर ने पुनरावृत्ति-स्तरीय शेड्यूलिंग की शुरुआत की, और इस विचार को वीएलएलएम, टीजीआई और टेन्सोरआरटी-एलएलएम जैसी सेवा प्रणालियों द्वारा अपनाया गया।