AIUnlimited
🌳

AI की नींव

🌱
AI Seeds

शून्य से शुरू करें

🌿
AI Sprouts

नींव बनाएं

🌳
AI Branches

व्यवहार में लागू करें

🏕️
AI Canopy

गहराई में जाएं

🌲
AI Forest

AI में महारत हासिल करें

🔨

AI में महारत

✏️
AI Sketch

शून्य से शुरू करें

🪨
AI Chisel

नींव बनाएं

⚒️
AI Craft

व्यवहार में लागू करें

💎
AI Polish

गहराई में जाएं

🏆
AI Masterpiece

AI में महारत हासिल करें

📘

AI व्यावहारिक

📖
ओपन-सोर्स मॉडल को समझना

ओपन-सोर्स मॉडल की बुनियादी बातें और संसाधन

🎯
समस्या से मॉडल कार्य तक

व्यावसायिक समस्याओं को मॉडल कार्यों में बदलना

⚡
अपना पहला मॉडल चलाना

30 मिनट में अपने पहले परिणाम देखें

🔧
फाइन-ट्यूनिंग और मूल्यांकन

मॉडल फाइन-ट्यून करें और प्रदर्शन का मूल्यांकन करें

🚀
अनुप्रयोग प्रणालियाँ

वास्तविक AI अनुप्रयोग बनाएं

🎨
जनरेटिव AI

ओपन-सोर्स AIGC मॉडल का अन्वेषण करें

🤖
एजेंट

एजेंट फ्रेमवर्क और MCP टूल सीखें

📐
पूरक बुनियादी बातें

LLM की बुनियादी बातें और मूल्यांकन

🎓

क्लाउड अकादमी

🤖
Claude 101

Learn AI basics with Claude

💻
Claude Code 101

Code with Claude as your pair programmer

🤝
Introduction to Claude Cowork

Collaborate with Claude on complex projects

⚙️
Claude Platform 101

Build apps with the Claude API

लैब

7 प्रयोग लोड हुए
🧬Neural Network Playground🤖AI या इंसान?🥋Prompt Engineering Dojo🏁Algorithm Race🧠AI ट्रिविया चैलेंज🏗️सिस्टम डिज़ाइन कैनवस
🎯मॉक इंटरव्यूलैब में जाएँ→
🚀

करियर विकास

🚀
इंटरव्यू लॉन्चपैड

अपनी यात्रा शुरू करें

🌟
व्यवहारिक इंटरव्यू में महारत

सॉफ्ट स्किल्स में महारत

💻
तकनीकी इंटरव्यू

कोडिंग राउंड में सफल हों

🤖
AI और ML इंटरव्यू

ML इंटरव्यू में महारत

🏆
ऑफर और उससे आगे

सबसे अच्छा ऑफर पाएं

सीखना शुरू करें - यह बुनियादी है
AIUnlimited

MIT लाइसेंस

沪ICP备18025655号-11

सीखें

  • AI बुनियादी बातें
  • AI व्यावहारिक
  • क्लाउड अकादमी
  • लैब
  • करियर विकास

समुदाय

  • हमारे बारे में
  • सामान्य प्रश्न

सहायता

  • footer.terms
  • footer.privacy
  • footer.contact
AI और इंजीनियरिंग प्रोग्राम›⚡ अपना पहला मॉडल चलाना›पाठ›Model Quantization Basics
📦
अपना पहला मॉडल चलाना • शुरुआती⏱️ 15 मिनट पढ़ने का समय

Model Quantization Basics

मॉडल को बहुत अधिक संसाधनों की आवश्यकता होती है — क्वांटाइजेशन कैसे मदद कर सकता है?

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

जैसा कि पहले बताया गया है, मॉडल को रनटाइम पर अपने वेट्स को RAM या VRAM में लोड करना होता है, और उत्तर उत्पन्न करने के लिए अतिरिक्त स्थान भी चाहिए। यदि आपका डिवाइस मॉडल को समा नहीं सकता, तो छोटे पैरामीटर वाले मॉडल पर स्विच करने के अलावा, आप यह भी देख सकते हैं कि क्वांटाइज्ड संस्करण उपलब्ध है या नहीं।

क्वांटाइजेशन कितना स्पेस बचा सकता है?

मॉडल के वेट्स बड़ी संख्या में संख्यात्मक मानों से बने होते हैं, और प्रत्येक मान को संग्रहीत करने के लिए निश्चित स्थान की आवश्यकता होती है। क्वांटाइजेशन इन संख्यात्मक मानों की प्रस्तुति सटीकता को कम करके मॉडल के संसाधन उपयोग को कम करता है। उदाहरण के लिए, 16-बिट फ्लोटिंग पॉइंट के रूप में संग्रहीत वेट्स को मुख्य रूप से 8-बिट या 4-बिट कम सटीकता प्रस्तुतियों में बदला जा सकता है। पैरामीटर की संख्या आमतौर पर नहीं बदलती, लेकिन प्रत्येक पैरामीटर द्वारा कब्जा किया गया स्थान छोटा हो जाता है।

7 अरब पैरामीटर वाले मॉडल को उदाहरण के रूप में लेते हुए, केवल वेट्स की गणना करते हुए क्वांटाइजेशन ओवरहेड की अनदेखी करते हुए, निम्नलिखित मोटे अनुमान प्राप्त किए जा सकते हैं:

वेट्स प्रस्तुति विधि

सैद्धांतिक वेट्स आकार

16 बिट

लगभग 14 GB

8 बिट

लगभग 7 GB

4 बिट

लगभग 3.5 GB

यहाँ GB दशमलव इकाइयों में गणना किया गया है। वास्तविक क्वांटाइज्ड फ़ाइलें स्केलिंग फैक्टर जैसी जानकारी भी संग्रहीत करती हैं और मिश्रित सटीकता का उपयोग कर सकती हैं, इसलिए वास्तविक आकार अनुमान से भिन्न हो सकता है।

सामान्य उपयोगकर्ताओं के लिए, क्वांटाइजेशन का सबसे सीधा लाभ यह है कि मॉडल फ़ाइलें छोटी हो जाती हैं, डाउनलोड और स्टोरेज के लिए स्पेस बचती हैं, और रनटाइम पर वेट्स के लिए कम RAM या VRAM की आवश्यकता होती है। जब हार्डवेयर और इन्फरेंस फ्रेमवर्क सपोर्ट करते हैं, तो क्वांटाइजेशन इन्फरेंस गति भी बढ़ा सकता है।

हालांकि, फ़ाइल को मूल आकार के एक-चौथाई तक छोटा करने का मतलब यह नहीं है कि उत्तर गति चार गुना बढ़ जाएगी।

सटीकता कम करने से उत्तर गुणवत्ता भी प्रभावित हो सकती है, विशिष्ट प्रभाव मॉडल, क्वांटाइजेशन विधि और कार्य पर निर्भर करता है। क्वांटाइज्ड संस्करण चुनते समय, यह पुष्टि करने के अलावा कि यह चल सकता है, आपको अपने प्रश्नों से परीक्षण भी करना चाहिए कि उत्तर अभी भी विश्वसनीय हैं या नहीं।

मॉडल क्वांटाइजेशन के लिए कौन से दृष्टिकोण उपलब्ध हैं?

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

एक अन्य श्रेणी क्वांटाइजेशन-अवेयर ट्रेनिंग (QAT) है, जो प्रशिक्षण के दौरान क्वांटाइजेशन के प्रभावों का अनुकरण करता है, जिससे मॉडल पहले से ही कम सटीकता प्रस्तुतियों के अनुकूल हो सकता है।

पाठ 5 / 50% पूर्ण
←Cloud Notebooks: CPU and GPU

चर्चा

साइन इन करें चर्चा में शामिल हों

यह अध्याय पहले स्थानीय डिप्लॉयमेंट में आमतौर पर उपयोग किए जाने वाले GGUF क्वांटाइज्ड मॉडल को कवर करता है, फ़ाइलों को समझने, संस्करणों को अलग करने और चयन करने में मदद करता है। अन्य क्वांटाइजेशन विधियों के विवरण बाद में पूरे किए जाएंगे।

GGUF फ़ाइल में क्या होता है?

Ollama के साथ मॉडल चलाते समय, आप अक्सर GGUF, Q4, Q8 जैसे नाम देखेंगे। ये नाम मुख्य रूप से मॉडल के स्टोरेज फॉर्मेट और क्वांटाइजेशन विधि से संबंधित हैं, और यही वह कारण है कि बड़े मॉडल व्यक्तिगत कंप्यूटर पर चल सकते हैं।

अगस्त 2023 में, Georgi Gerganov ने GGUF फॉर्मेट पेश किया। इसके मुख्य लाभों में सिंगल-फ़ाइल डिप्लॉयमेंट, स्केलेबिलिटी, मेमोरी मैपिंग सपोर्ट, संपूर्ण जानकारी और उपयोग में आसानी शामिल हैं। एक GGUF फ़ाइल में फ़ाइल हेडर, मेटाडेटा कुंजी-मान जोड़े और टेंसर जानकारी शामिल होती है। ये घटक मिलकर मॉडल की संरचना और व्यवहार को परिभाषित करते हैं। जैसा कि नीचे दिखाया गया है, GGUF बड़े मॉडल इन्फरेंस के लिए एक मॉडल फ़ाइल फॉर्मेट है, जिसे वर्तमान में llama.cpp और Ollama जैसे स्थानीय इन्फरेंस टूल्स द्वारा व्यापक रूप से उपयोग किया जाता है। Ollama GGUF फॉर्मेट हैंडलिंग, मॉडल क्वांटाइजेशन और मॉडल लोडिंग प्रक्रियाओं को एन्कैप्सुलेट करता है, जिससे उपयोगकर्ताओं को मॉडल फॉर्मेट बदलने की आवश्यकता नहीं होती — वे सीधे प्री-क्वांटाइज्ड मॉडल डाउनलोड और चला सकते हैं। एक GGUF फ़ाइल में केवल मॉडल पैरामीटर नहीं होते; इसमें मॉडल की बुनियादी जानकारी, मॉडल आर्किटेक्चर और टेंसर डेटा भी शामिल होते हैं। GGUF इस जानकारी को एक समान फ़ाइल फॉर्मेट के माध्यम से व्यवस्थित करता है, जिससे llama.cpp जैसे इन्फरेंस टूल्स इसे सीधे पढ़ और लोड कर सकते हैं। इसकी बुनियादी संरचना नीचे दिए गए चित्र में दिखाई गई है।

ModelScope संरचित GGUF फ़ाइलों को प्रदर्शित करने का भी समर्थन करता है, जैसा कि नीचे दिखाया गया है। जब इन्फरेंस टूल्स GGUF फ़ाइलें लोड करते हैं, तो वे इस जानकारी को सीधे पढ़ सकते हैं और मॉडल लोड कर सकते हैं, बिना अलग-अलग मॉडल कॉन्फ़िगरेशन फ़ाइलें तैयार करने की आवश्यकता के।

GGUF स्वयं केवल एक मॉडल फ़ाइल फॉर्मेट है और सीधे मॉडल के RAM या VRAM उपयोग को कम नहीं करता। मॉडल के संसाधन उपयोग को वास्तव में कम करने वाला क्वांटाइजेशन है।

Q4, Q8 जैसे नामों को कैसे पढ़ें?

llama.cpp और GGUF मॉडल में, Q4, Q5, Q8, Q4_K_M अलग-अलग क्वांटाइजेशन नामों का प्रतिनिधित्व करते हैं। यहाँ, Q क्वांटाइजेशन के लिए है, और बाद की संख्या प्राथमिक क्वांटाइजेशन बिट चौड़ाई को दर्शाती है। उदाहरण के लिए, Q4 का मतलब मुख्य रूप से 4-बिट क्वांटाइजेशन है, और Q8 का मतलब मुख्य रूप से 8-बिट क्वांटाइजेशन है।

ध्यान दें कि Q4 का मतलब यह नहीं है कि मॉडल में सभी पैरामीटर एकरूप से 4-बिट प्रस्तुति का उपयोग करते हैं। सामान्य Q4_K_M को उदाहरण के रूप में लेते हुए, यह llama.cpp में K-quant क्वांटाइजेशन प्रकार से संबंधित है। नाम में Q4 का मतलब मुख्य रूप से 4-बिट क्वांटाइजेशन है, K K-quant क्वांटाइजेशन स्कीम के उपयोग को दर्शाता है, और M उस स्कीम में Medium कॉन्फ़िगरेशन को दर्शाता है। वास्तविक मॉडल में, अलग-अलग टेंसर अलग-अलग क्वांटाइजेशन सटीकता का उपयोग कर सकते हैं, न कि सभी पैरामीटर एकरूप से 4-बिट प्रस्तुति का उपयोग करते हैं, जैसा कि नीचे दिए गए चित्र में दिखाया गया है।

एक ही मॉडल के लिए कौन सा संस्करण डाउनलोड करना चाहिए?

GGUF मॉडल चुनते समय, पहले यह पुष्टि करें कि आपका इन्फरेंस टूल उस मॉडल को सपोर्ट करता है, फिर विशिष्ट क्वांटाइजेशन संस्करण देखें। कम क्वांटाइजेशन सटीकता आमतौर पर RAM और VRAM उपयोग को कम करती है, जिससे मॉडल को सामान्य डिवाइस पर चलाना आसान हो जाता है, लेकिन मॉडल प्रदर्शन का कुछ हिस्सा खो सकता है। अधिक क्वांटाइजेशन सटीकता आमतौर पर मूल मॉडल की क्षमताओं को अधिक संरक्षित करती है, लेकिन अधिक हार्डवेयर संसाधनों की भी आवश्यकता होती है।

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

पहले स्थिर ऑपरेशन की पुष्टि करें, फिर उत्तर गुणवत्ता जांचें। इस तरह, आपके द्वारा चुना गया क्वांटाइज्ड संस्करण आपके डिवाइस और उपयोग के अनुरूप होगा।