अपना पहला परिणाम प्राप्त करने के बाद, बड़े मॉडल आज़माने का मन करना स्वाभाविक है। आप 0.5B से 7B पर स्विच कर सकते हैं, लेकिन मूल मशीन अब पर्याप्त नहीं हो सकती।
संसाधन चुनते समय, पहले कुछ चीजों के बीच अंतर करें। CPU और GPU गणना संभालते हैं, मेमोरी और वीडियो मेमोरी निष्पादन के दौरान डेटा रखते हैं, और डिस्क मॉडल फ़ाइलें सहेजता है। मॉडल सफलतापूर्वक डाउनलोड होना केवल इतना दर्शाता है कि डिस्क में पर्याप्त स्थान है — यह सुचारू रूप से चल सकता है या नहीं, यह मेमोरी, वीडियो मेमोरी और कंप्यूटिंग शक्ति पर भी निर्भर करता है। वही मॉडल, इसे किस सटीकता से लोड किया जाता है, इनपुट कितना लंबा है, और एक साथ कितने अनुरोध संसाधित होते हैं, इन सभी से संसाधन उपयोग प्रभावित होगा। इन्फ़रेंस और प्रशिक्षण की आवश्यकताएँ भी अलग होती हैं।
आइए पहले देखें कि CPU और GPU प्रत्येक किसमें अच्छे हैं, फिर अनुमान लगाएं कि मॉडल पैरामीटर कितना स्थान घेरेंगे, ताकि बाद में लैपटॉप या क्लाउड इंस्टेंस चुनने की तैयारी की जा सके।
CPU और GPU अपने कंप्यूटिंग दृष्टिकोण में काफी भिन्न हैं।
CPU सामान्य-उद्देश्य कंप्यूटिंग के लिए डिज़ाइन किया गया है, प्रत्येक कोर में काफी पूर्ण नियंत्रण और गणना क्षमताएं हैं। यह प्रोग्राम निष्पादन प्रक्रिया के आधार पर निर्णय ले सकता है, स्किप कर सकता है और कार्यों को शेड्यूल कर सकता है, विभिन्न प्रकार की कंप्यूटिंग कार्यों को लचीले ढंग से संभाल सकता है।
GPU समानांतर कंप्यूटिंग आर्किटेक्चर का उपयोग करता है, जिसमें बड़ी संख्या में कंप्यूट यूनिट होते हैं जो एक साथ बड़ी संख्या में कंप्यूटिंग कार्य निष्पादित कर सकते हैं। यह बड़े डेटा पैमानों और उच्च कंप्यूटिंग पुनरावृत्ति वाले कार्यों को संभालने के लिए उपयुक्त है।
CPU और GPU की प्रोसेसिंग गति कार्य के प्रकार और कंप्यूटिंग पैमाने पर निर्भर करती है।
तर्कसंगत निर्णय, प्रोग्राम नियंत्रण और कार्य शेड्यूलिंग की बड़ी मात्रा वाले परिदृश्यों के लिए, CPU की निष्पादन दक्षता अधिक होती है। ऑपरेटिंग सिस्टम चलाने और डेटाबेस क्वेरी जैसे कार्य CPU पर पूरे करने के लिए उपयुक्त हैं।
बड़े पैमाने के समानांतर कंप्यूटिंग कार्यों के लिए, GPU अधिक कंप्यूटिंग Throughput प्रदान कर सकता है। गहन शिक्षण में मैट्रिक्स गुणन और कन्वोल्यूशन ऑपरेशन को कई समानांतर उप-कार्यों में विभाजित किया जा सकता है, जिन्हें GPU कंप्यूट यूनिट द्वारा एक साथ निष्पादित किया जाता है, जिससे समग्र कंप्यूटिंग दक्षता में सुधार होता है।
हालांकि, GPU के फायदे तभी महत्वपूर्ण बन जाते हैं जब कंप्यूटिंग कार्यों का पैमाना बड़ा हो। जब डेटा मात्रा कम होती है, तो GPU कंप्यूटिंग संसाधनों का पूरा उपयोग नहीं हो पाता, और CPU और GPU के बीच डेटा स्थानांतरण और कार्य शेड्यूलिंग भी अतिरिक्त लागत लाते हैं। इस स्थिति में, CPU का उपयोग अधिक कुशल हो सकता है।
CPU और GPU की लागत में केवल हार्डवेयर खरीद मूल्य ही नहीं, बल्कि संचालन के दौरान बिजली की खपत, साथ ही बाद के उपयोग और रखरखाव लागत भी शामिल हैं।
हार्डवेयर खरीद में, CPU मानक है — सामान्य सर्वर और पर्सनल कंप्यूटर दोनों को CPU कॉन्फ़िगरेशन की आवश्यकता होती है। AI प्रशिक्षण और इन्फ़रेंस के लिए उपयोग किए जाने वाले उच्च-प्रदर्शन GPU आमतौर पर महंगे होते हैं। GPU के अलावा, आपको सर्वर, वीडियो मेमोरी, स्टोरेज और अन्य सहायक हार्डवेयर की लागत भी विचार करनी होगी।
साइन इन करें चर्चा में शामिल हों
संचालन के दौरान, GPU बड़े पैमाने की गणना करते समय उच्च बिजली की खपत रखता है। सर्वर में जितने अधिक GPU होंगे, बिजली आपूर्ति और कूलिंग पर उतना ही अधिक दबाव होगा, और डेटा सेंटर की बिजली और कूलिंग लागत में काफी वृद्धि होगी।
उपयोग और रखरखाव में, CPU पारिस्थितिकी तंत्र काफी परिपक्व है, और नियमित सर्वर रखरखाव अपेक्षाकृत सरल है। GPU को ड्राइवर, कंप्यूटिंग फ्रेमवर्क और हार्डवेयर वातावरण की संगतता पर विचार करने की आवश्यकता होती है। विभिन्न संस्करणों के बीच टकराव मॉडल के सामान्य रूप से चलने को रोक सकते हैं। मल्टी-GPU वातावरण में उपकरणों के बीच डेटा संचार भी शामिल है, जिसके लिए हार्डवेयर कनेक्शन और सॉफ्टवेयर कॉन्फ़िगरेशन में कुछ आवश्यकताएँ हैं।
प्रशिक्षण और इन्फ़रेंस की अलग-अलग संसाधन आवश्यकताएँ होती हैं, और विभिन्न आकारों और प्रकार के मॉडल में भी कंप्यूटिंग संसाधनों में महत्वपूर्ण अंतर होते हैं। हार्डवेयर चयन को मॉडल के पैमाने, डेटा मात्रा, प्रदर्शन आवश्यकताओं और प्रशिक्षण तथा इन्फ़रेंस दोनों परिदृश्यों में संसाधन आवश्यकताओं को व्यापक रूप से विचार करना चाहिए।
मॉडल प्रशिक्षण चरण में, जब डेटा का पैमाना छोटा होता है, तो CPU अधिकांश पारंपरिक मशीन लर्निंग मॉडल की प्रशिक्षण आवश्यकताओं को पूरा कर सकता है, जैसे रैखिक प्रतिगमन, लॉजिस्टिक प्रतिगमन, और रैंडम फ़ॉरेस्ट। कुछ हल्के न्यूरल नेटवर्क भी प्रशिक्षण के लिए CPU का उपयोग कर सकते हैं, लेकिन डेटा मात्रा और मॉडल संरचना की जटिलता बढ़ने के साथ, प्रशिक्षण समय काफी बढ़ जाएगा। यदि आपको बार-बार मॉडल ट्यूनिंग करने की आवश्यकता है, तो GPU का उपयोग प्रशिक्षण समय कम कर सकता है।
बड़े पैमाने के न्यूरल नेटवर्क और बड़े भाषा मॉडल के प्रशिक्षण के लिए व्यापक मैट्रिक्स गणना की आवश्यकता होती है, जिसके लिए कंप्यूटिंग शक्ति और वीडियो मेमोरी क्षमता की उच्च आवश्यकताएँ होती हैं। Qwen जैसे अरबों पैरामीटर वाले बड़े भाषा मॉडल को प्रशिक्षण के लिए GPU जैसे उच्च-प्रदर्शन त्वरण उपकरणों पर निर्भर रहने की आवश्यकता होती है।
इन्फ़रेंस के दौरान मॉडल की आवश्यकताएँ प्रशिक्षण से भिन्न होती हैं। छोटे पैरामीटर पैमानों और कम एक्सेस मात्रा वाले परिदृश्यों के लिए, CPU इन्फ़रेंस आवश्यकताओं को पूरा कर सकता है, और क्वांटाइज़ेशन जैसे तरीकों से संसाधन उपयोग को भी कम किया जा सकता है। बड़े मॉडल, उच्च-एकांतर सेवाओं और तेज़ प्रतिक्रिया की आवश्यकता वाले परिदृश्यों के लिए, GPU अधिक इन्फ़रेंस दक्षता प्रदान कर सकता है।
CPU और GPU दोनों के लागू परिदृश्य हैं, और आपको मॉडल के पैमाने, डेटा मात्रा, समवर्ती अनुरोधों, प्रदर्शन आवश्यकताओं और तैनाती लागत को व्यापक रूप से विचार करना होगा।
मॉडल की संसाधन आवश्यकताओं का मूल्यांकन मुख्य रूप से दो संकेतकों पर निर्भर करता है: पैरामीटर पैमाना और डेटा सटीकता।
मॉडल पैरामीटर पैमाने को आमतौर पर B में व्यक्त किया जाता है, जहां 1B 1 अरब पैरामीटर का प्रतिनिधित्व करता है। पैरामीटर वे संख्यात्मक मान हैं जो मॉडल प्रशिक्षण के दौरान सीखता है। इन्फ़रेंस के दौरान, इन पैरामीटरों को मेमोरी (CPU) या वीडियो मेमोरी (GPU) में लोड करने की आवश्यकता होती है। पैरामीटर गिनती जितनी बड़ी होगी, संसाधन उतने ही अधिक घेरेंगे।
डेटा सटीकता उस संख्यात्मक प्रारूप को संदर्भित करती है जो मॉडल पैरामीटर भंडारण और गणना के लिए उपयोग करते हैं। सामान्य प्रारूपों में FP32, FP16, BF16, और INT8, INT4 जैसे क्वांटाइज़ेशन प्रारूप शामिल हैं। समान पैरामीटर गिनती के लिए, अधिक डेटा सटीकता का अर्थ है अधिक संसाधन उपयोग।
विभिन्न सटीकताओं में 1B पैरामीटर का अनुमानित भंडारण स्थान:
| सटीकता | प्रति 1B पैरामीटर स्थान (लगभग) | सामान्य उपयोग |
| FP32 (सिंगल प्रिसिजन) | 4GB | प्रशिक्षण, उच्च-सटीकता इन्फ़रेंस |
| FP16 (हाफ प्रिसिजन) | 2GB | प्रशिक्षण, इन्फ़रेंस |
| BF16 | 2GB | प्रशिक्षण, इन्फ़रेंस |
| INT8 | 1GB | क्वांटाइज़्ड इन्फ़रेंस |
| INT4 | 0.5GB | कम-सटीकता क्वांटाइज़्ड इन्फ़रेंस |
मॉडल वेट्स = पैरामीटर गिनती × उस सटीकता में प्रति 1B पैरामीटर भंडारण स्थान। FP16 सटीकता इन्फ़रेंस वाले 7B मॉडल के लिए, मॉडल वेट्स का उपयोग लगभग: 7 × 2GB ≈ 14GB है।
मॉडल इन्फ़रेंस चरण में, मॉडल वेट्स लोड करने के अलावा, KV Cache, रनटाइम फ्रेमवर्क और अस्थायी गणना के लिए अतिरिक्त संसाधनों की आवश्यकता होती है।
KV Cache का उपयोग उन Token-संबंधित जानकारी को संग्रहीत करने के लिए किया जाता है जो जनरेशन प्रक्रिया के दौरान पहले से गणना की जा चुकी है, जिससे दोहरी गणना से बचा जा सके। इसका उपयोग मॉडल संरचना, संदर्भ लंबाई और समवर्ती अनुरोधों की संख्या पर निर्भर करता है। संदर्भ जितना लंबा होगा, संग्रहीत करने के लिए उतनी ही अधिक जानकारी होगी; एक साथ संसाधित किए जाने वाले अनुरोध जितने अधिक होंगे, KV Cache का उपयोग भी उतना ही बढ़ेगा।
इन्फ़रेंस संसाधन उपयोग का अनुमान सूत्र:
CPU इन्फ़रेंस के लिए आवश्यक मेमोरी ≈ मॉडल वेट्स + फ्रेमवर्क और अस्थायी ओवरहेड।
GPU इन्फ़रेंस के लिए आवश्यक वीडियो मेमोरी ≈ मॉडल वेट्स + KV Cache + फ्रेमवर्क और अस्थायी ओवरहेड।
इनमें से, वेट्स स्थिर हैं, फ्रेमवर्क ओवरहेड मूल रूप से स्थिर है, और चर पूरी तरह से KV Cache में है। लंबी अनुक्रम परिदृश्यों में, KV Cache के स्थान को आरक्षित करने की आवश्यकता होती है।
मॉडल प्रशिक्षण चरण की संसाधन आवश्यकताएँ इन्फ़रेंस चरण से अधिक होती हैं। मॉडल वेट्स संग्रहीत करने के अलावा, प्रशिक्षण के दौरान ग्रेडिएंट, ऑप्टिमाइज़र स्टेट्स और इंटरमीडिएट रिजल्ट्स भी संग्रहीत करने की आवश्यकता होती है, जिसके लिए अधिक संसाधनों की आवश्यकता होती है। प्रशिक्षण संसाधन आवश्यकताएँ ऑप्टिमाइज़र प्रकार और प्रशिक्षण रणनीति पर निर्भर करती हैं।
(1) पूर्ण मॉडल प्रशिक्षण
पूर्ण मॉडल प्रशिक्षण के लिए, मॉडल वेट्स, ग्रेडिएंट, ऑप्टिमाइज़र स्टेट्स और एक्टिवेशन को एक साथ संग्रहीत करने की आवश्यकता होती है। Adam ऑप्टिमाइज़र और FP16 सटीकता के साथ पूर्ण प्रशिक्षण के उदाहरण के रूप में, प्रति 1B पैरामीटर लगभग:
| घटक | प्रति 1B पैरामीटर |
| मॉडल वेट्स (FP16) | 2 GB |
| ग्रेडिएंट (FP16) | 2 GB |
| ऑप्टिमाइज़र स्टेट्स | 8 GB |
| FP32 वेट्स कॉपी | 4 GB |
| उप-योग (एक्टिवेशन के बिना) | 16 GB |
नोट: Adam ऑप्टिमाइज़र को FP32 सटीकता के दो स्टेट्स (मोमेंटम और वेरियंस) सहेजने की आवश्यकता होती है, इसलिए ऑप्टिमाइज़र स्टेट्स 8GB लेते हैं; FP32 वेट्स कॉपी ऑप्टिमाइज़र पैरामीटर अपडेट के लिए उपयोग की जाती है।
पूर्ण प्रशिक्षण का प्रारंभिक अनुमान सूत्र:
GPU प्रशिक्षण के लिए आवश्यक वीडियो मेमोरी ≈ पैरामीटर गिनती × 16 Byte + एक्टिवेशन ओवरहेड
CPU प्रशिक्षण के लिए आवश्यक मेमोरी ≈ पैरामीटर गिनती × 16 Byte + एक्टिवेशन ओवरहेड
GPU प्रशिक्षण वीडियो मेमोरी क्षमता द्वारा सीमित है, जबकि CPU प्रशिक्षण कंप्यूटिंग गति द्वारा सीमित है। उदाहरण के लिए, GPU पर FP16 पूर्ण प्रशिक्षण वाले 7B मॉडल को कम से कम 7B × 16 Byte ≈ 112GB वीडियो मेमोरी की आवश्यकता होती है, और एक्टिवेशन जोड़ने के बाद वास्तविक आवश्यकता और भी बड़ी होगी।
(2) पैरामीटर-कुशल फाइन-ट्यूनिंग (जैसे LoRA)
बड़े मॉडल की फाइन-ट्यूनिंग के लिए, LoRA (Low-Rank Adaptation) जैसे पैरामीटर-कुशल फाइन-ट्यूनिंग विधियाँ व्यवहार में अधिक सामान्य रूप से उपयोग की जाती हैं। LoRA प्रशिक्षण के दौरान मूल मॉडल के सभी पैरामीटर अपडेट नहीं करता; इसके बजाय, यह मूल मॉडल वेट्स को फ्रीज करता है और केवल नए जोड़े गए कम-रैंक एडाप्टेशन पैरामीटरों को प्रशिक्षित करता है, जिससे वीडियो मेमोरी आवश्यकताओं में काफी कमी आती है।
LoRA प्रशिक्षण वीडियो मेमोरी ≈ बेस मॉडल वेट्स + LoRA पैरामीटर + LoRA पैरामीटर ग्रेडिएंट और ऑप्टिमाइज़र स्टेट्स + एक्टिवेशन।
इनमें से, बेस मॉडल वेट्स को केवल लोड करने की आवश्यकता है और अपडेट में भाग नहीं लेते; LoRA द्वारा जोड़े गए पैरामीटर मूल मॉडल के केवल 0.1%~1% हैं, और उनके ग्रेडिएंट और ऑप्टिमाइज़र ओवरहेड लगभग उपेक्षणीय हैं। वास्तविक वीडियो मेमोरी मुख्य रूप से मॉडल वेट्स, संदर्भ लंबाई, बैच आकार और प्रशिक्षण फ्रेमवर्क ऑप्टिमाइज़ेशन विधियों पर निर्भर करती है। LoRA फाइन-ट्यूनिंग पूर्ण प्रशिक्षण की तुलना में वीडियो मेमोरी आवश्यकताओं को काफी कम कर सकती है।
उदाहरण के लिए, FP16 के साथ 7B मॉडल लोड करने पर, मॉडल वेट्स 4GB लेते हैं। 24GB वीडियो मेमोरी वाले एक GPU पर, LoRA फाइन-ट्यूनिंग आमतौर पर चल सकती है (बैच आकार और संदर्भ लंबाई में उचित समायोजन के साथ)। QLoRA (बेस मॉडल को INT4 में क्वांटाइज़ करना) का उपयोग वीडियो मेमोरी उपयोग को और कम कर सकता है, जिससे अधिक सीमित हार्डवेयर पर फाइन-ट्यूनिंग संभव हो जाती है।