आगेअगली गाइड
एलएलएम के लिए आवश्यक जीपीयू मेमोरी का अनुमान लगाना
तकनीकी
तकनीकी गाइड
एआई फ्रेमवर्क जीपीयू पर सीमित मेमोरी को कैसे आवंटित, पुन: उपयोग और पुनः प्राप्त करते हैं, और क्यों बचे हुए अंतराल (विखंडन) तकनीकी रूप से बहुत सारी मेमोरी रहने पर भी आउट-ऑफ-मेमोरी त्रुटियों का कारण बन सकते हैं।
इस गाइड को सुनेंएआई-नैरेटेड · ~2 min
Understanding it is key to fitting big models and avoiding mysterious crashes.
जीपीयू मेमोरी निश्चित और कीमती है: एक कार्ड में कुल 24, 80, या 192 जीबी हो सकती है, जो मॉडल भार, सक्रियण, ग्रेडिएंट, ऑप्टिमाइज़र स्थिति और अस्थायी बफ़र्स द्वारा साझा की जाती है। प्रत्येक ऑपरेशन पर मेमोरी आवंटित करने के लिए ड्राइवर को कॉल करना धीमा होगा, इसलिए PyTorch जैसे फ्रेमवर्क एक कैशिंग एलोकेटर का उपयोग करते हैं जो बड़े ब्लॉकों को सामने से पकड़ता है और उप-टुकड़ों को सौंपता है, फिर पुन: उपयोग के लिए मुक्त टुकड़ों को एक पूल में रखता है। समस्या विखंडन है: जैसे ही अलग-अलग आकार के टेंसरों को आवंटित और मुक्त किया जाता है, खाली स्थान बिखरे हुए टुकड़ों में टूट जाता है। आपके पास कुल मिलाकर 5 जीबी मुफ्त हो सकता है, फिर भी आप एक सन्निहित 2 जीबी टेंसर आवंटित करने में विफल हो सकते हैं क्योंकि कोई भी अंतर पर्याप्त बड़ा नहीं है। यही कारण है कि उपलब्ध हेडरूम के बावजूद प्रशिक्षण आउट-ऑफ-मेमोरी त्रुटियों के साथ क्रैश हो सकता है।
A training team examines allocator statistics before testing expandable segments on a variable-batch workload.
A developer uses memory_summary and a memory snapshot to investigate active tensors and inactive split blocks.
An inference team uses vLLM’s paged KV-cache management to reduce cache-allocation waste.
A training team lowers batch size or checkpoints activations after confirming live tensor memory is the limiting factor.
ऑपरेटिंग सिस्टम से प्रेरित होकर, मेमोरी प्रबंधन स्मार्ट और अधिक पृष्ठांकित होता जा रहा है। वर्चुअल-मेमोरी-स्टाइल एलोकेटर और पेजेड अटेंशन (अनुमान के दौरान केवी कैश को प्रबंधित करने के लिए उपयोग किया जाता है) जैसी तकनीकें अपशिष्ट और विखंडन को नाटकीय रूप से कम करती हैं। उम्मीद है कि फ्रेमवर्क डिफ़ॉल्ट रूप से विस्तार योग्य, डीफ्रैग्मेंटिंग एलोकेटर, बिल्ट-इन प्रोफाइलर्स के माध्यम से बेहतर दृश्यता, और ऑफलोडिंग और रीकंप्यूटेशन के साथ सख्त युग्मन होगा ताकि सिस्टम उपयोग को उच्च रखने और दुर्लभ क्रैश होने के लिए जीपीयू, सीपीयू और डिस्क मेमोरी को स्वचालित रूप से जोड़ सके।
मुफ़्त न्यूज़लेटर
हर कार्यदिवस की सुबह तीन सत्यापित एआई कहानियाँ, सादे अंग्रेजी में लिखी गईं। हमेशा के लिए मुफ़्त, कोई विज्ञापन नहीं।
प्रत्येक सप्ताह के दिन एक ईमेल. एक क्लिक में सदस्यता समाप्त करें. हम आपका पता कभी नहीं बेचते या साझा नहीं करते।
स्वयं की जांच करो
प्रत्येक उत्तर पर त्वरित प्रतिक्रिया, और पाठ्यक्रम पास करने के बाद एक सत्यापन योग्य आईडी के साथ एक साझा करने योग्य प्रमाणपत्र।
निःशुल्क एआई शिक्षा का समर्थन करें। AI Understanding एक 501(c)(3) गैर-लाभकारी संस्था है - कोई विज्ञापन नहीं, कोई पेवॉल नहीं। दान करें
एआई फ्रेमवर्क जीपीयू पर सीमित मेमोरी को कैसे आवंटित, पुन: उपयोग और पुनः प्राप्त करते हैं, और क्यों बचे हुए अंतराल (विखंडन) तकनीकी रूप से बहुत सारी मेमोरी रहने पर भी आउट-ऑफ-मेमोरी त्रुटियों का कारण बन सकते हैं। इसे समझना बड़े मॉडलों को फिट करने और रहस्यमय दुर्घटनाओं से बचने की कुंजी है।
विखंडन का मतलब है कि कुल मुक्त मेमोरी पर्याप्त है, लेकिन यह टुकड़ों में टूट गई है, इसलिए एक बड़े टेंसर के लिए कोई भी अंतराल पर्याप्त नहीं है।
प्रत्येक ऑप के लिए cudaMalloc/cudaFree को कॉल करना धीमा है, इसलिए कैशिंग आवंटनकर्ता बड़े ब्लॉकों को पकड़ लेता है और पूल से मुक्त किए गए ब्लॉकों का पुन: उपयोग करता है।
Allocator statistics and snapshots help distinguish fragmentation from live tensors or other allocations. The error alone does not prove a single cause.
Expandable segments can reduce waste for selected allocation patterns. Availability and benefit depend on allocator configuration and workload.
PagedAttention KV कैश को OS वर्चुअल मेमोरी जैसे निश्चित आकार के पृष्ठों में संग्रहीत करता है, विखंडन को काटता है और कई अनुरोधों को कुशलतापूर्वक पूरा करता है।
सीखते रहो
इस विषय के लिए अधिक मार्गदर्शिकाएँ चुनी गईं
आगेअगली गाइड
एलएलएम के लिए आवश्यक जीपीयू मेमोरी का अनुमान लगाना
तकनीकी