मुख्य सामग्री पर जाएं

क्वांटाइज़ेशन-अवेयर ट्रेनिंग: Gemma 4 की लोकल इन्फ़रेंस सुधारने की गाइड

llama.cpp के साथ Gemma 4 12B QAT को लोकल चलाएँ और देखें कि क्वांटाइज़ेशन-अवेयर ट्रेनिंग 4-बिट GGUF इन्फ़रेंस को कैसे बेहतर बनाती है, VRAM उपयोग घटाती है, गति बढ़ाती है, और कंज़्यूमर GPUs पर लोकल AI को अधिक स्थिर बनाती है।
अद्यतन 3 अग॰ 2026  · 8 मि॰ पढ़ना

AI के साथ खोजें

ChatGPT में खोलेंClaude में खोलेंPerplexity में खोलें

क्वांटाइज़ेशन कंज़्यूमर GPUs पर बड़े भाषा मॉडलों को चलाने के सबसे व्यावहारिक तरीकों में से एक है। उच्च-प्रिसिशन वेट्स, जिन्हें बहुत अधिक VRAM चाहिए, के बजाय हम संपीड़ित 4-बिट मॉडलों का उपयोग कर सकते हैं जो NVIDIA RTX 4090 जैसे GPUs पर फिट हो जाते हैं। Google के Gemma मॉडल, शक्तिशाली ओपन AI को लोकल रूप से चलाना आसान बनाने की इस बढ़ती पहल का हिस्सा हैं।

इस ट्यूटोरियल में, हम Gemma 4 12B को loकली पर llama.cpp के साथ चलाएँगे और बेस संस्करण की तुलना क्वांटाइज़ेशन-अवेयर ट्रेनिंग (QAT) से फ़ाइन-ट्यून किए गए दूसरे संस्करण से करेंगे।

हमारे Google के मॉडल पर अन्य ट्यूटोरियल भी ज़रूर पढ़ें: Gemma 4 और Ollama के साथ AI एजेंट बनाना और Gemma 4 को कैसे फ़ाइन-ट्यून करें

क्वांटाइज़ेशन क्या है?

क्वांटाइज़ेशन एक मोडल संपीड़न तकनीक है जो मॉडल वेट्स की प्रिसिशन को घटाती है। 

बड़े भाषा मॉडल आमतौर पर BF16 या FP16 जैसे उच्च-प्रिसिशन फ़ॉर्मैट में स्टोर किए जाते हैं, जो गुणवत्ता बनाए रखते हैं लेकिन अधिक मेमोरी माँगते हैं। क्वांटाइज़ेशन इन वेट्स को 8-बिट या 4-बिट जैसे लोअर-बिट फ़ॉर्मैट में बदल देता है, जिससे मॉडल कम VRAM का उपयोग करता है और लोकल रूप से अधिक आसानी से चलता है। Hugging Face बताता है कि 8-बिट क्वांटाइज़ेशन मेमोरी उपयोग को लगभग आधा कर सकता है, जबकि 4-बिट इसे और भी कम कर सकता है।

समझौता यह है कि कम प्रिसिशन कभी-कभी आउटपुट गुणवत्ता घटा सकती है, खासकर यदि मॉडल क्वांटाइज़ेशन के लिए अनुकूलित न हो। सरल शब्दों में, BF16 और FP16 आमतौर पर सर्वश्रेष्ठ गुणवत्ता देते हैं लेकिन अधिक मेमोरी लेते हैं; 8-बिट मॉडल छोटे होते हैं और प्रायः अच्छी गुणवत्ता बनाए रखते हैं, और 4-बिट मॉडल बहुत छोटे होते हैं पर कुछ एक्युरेसी या स्थिरता खो सकते हैं। 

लोकल इन्फ़रेंस के लिए, यह समझौता अक्सर फ़ायदेमंद होता है क्योंकि यह बड़े मॉडलों को महंगे डेटा सेंटर हार्डवेयर के बजाय कंज़्यूमर GPUs पर चलाने देता है।

क्वांटाइज़ेशन-अवेयर ट्रेनिंग क्या है?

क्वांटाइज़ेशन-अवेयर ट्रेनिंग (QAT) एक ट्रेनिंग तकनीक है जिसमें मॉडल को कम-प्रिसिशन व्यवहार का सिमुलेशन करते हुए ट्रेन या फ़ाइन-ट्यून किया जाता है। यह मॉडल को क्वांटाइज़ेशन के बाद अधिक स्थिर रहने में मदद करता है और लो-बिट चौड़ाइयों पर लोकल इन्फ़रेंस प्रदर्शन में सुधार ला सकता है।

QAT अलग कैसे है?

सामान्य तरीका, पोस्ट-ट्रेनिंग क्वांटाइज़ेशन, मॉडल को ट्रेन होने के बाद संपीड़ित करता है। यह सरल और व्यावहारिक है, लेकिन मॉडल कुछ गुणवत्ता खो सकता है क्योंकि उसे कम-प्रिसिशन वेट्स सँभालने के लिए प्रशिक्षित नहीं किया गया था। 

Google AI Edge के दस्तावेज़ों के अनुसार, पोस्ट-ट्रेनिंग क्वांटाइज़ेशन एक कन्वर्ज़न स्टेप है जो मॉडल आकार घटा सकता है और लेटेंसी सुधार सकता है, आम तौर पर थोड़ी-सी एक्युरेसी हानि के साथ। हालाँकि, अंतिम गुणवत्ता फिर भी मॉडल और क्वांटाइज़ेशन स्तर पर निर्भर कर सकती है। 

क्वांटाइज़ेशन-अवेयर ट्रेनिंग, या QAT, इक अलग तरीका अपनाता है। केवल ट्रेनिंग के बाद क्वांटाइज़ करने के बजाय, QAT ट्रेनिंग या फ़ाइन-ट्यूनिंग के दौरान ही कम-प्रिसिशन व्यवहार का सिमुलेशन करता है। यह मॉडल को सिखाता है कि बाद में छोटे फ़ॉर्मैट में कन्वर्ट होने पर कैसे स्थिर रहना है। यह मॉडल को कंप्रेस करने पर गुणवत्ता हानि को न्यूनतम करता है।

इसी कारण Gemma 4 QAT लोकल AI के लिए उपयोगी है। इसे क्वांटाइज़ेशन को ध्यान में रखकर बनाया गया है, इसलिए यह कम मेमोरी का उपयोग करते हुए मूल मॉडल की अधिक गुणवत्ता बनाए रख सकता है। कंज़्यूमर GPUs पर मॉडल चलाने वाले उपयोगकर्ताओं के लिए, इसका अर्थ बेहतर लो-बिट स्थिरता, कम VRAM उपयोग, और अधिक व्यावहारिक लोकल इन्फ़रेंस हो सकता है।

चरण 1: डिपेंडेंसी इंस्टॉल करें और llama.cpp बिल्ड करें

मॉडलों को डाउनलोड करने से पहले, हमें लोकल रनटाइम तैयार करना होगा। यह ट्यूटोरियल NVIDIA RTX 4090 GPU और 24 GB VRAM वाली मशीन पर परीक्षण किया गया था। हम इन्फ़रेंस रनटाइम के रूप में llama.cpp, मॉडल फ़ॉर्मैट के रूप में GGUF, और UD-Q4_K_XL क्वांटाइज़्ड मॉडल फ़ाइलों का उपयोग करेंगे।

परीक्षित सेटअप:

  • GPU: NVIDIA RTX 4090
  • VRAM: 24 GB
  • रनटाइम: llama.cpp
  • मॉडल फ़ॉर्मैट: GGUF
  • क्वांटाइज़ेशन: UD-Q4_K_XL

हम निम्नलिखित दो Unsloth GGUF मॉडलों की तुलना करेंगे:

  • unsloth/gemma-4-12B-it-GGUF
  • unsloth/gemma-4-12B-it-qat-GGUF

पहले, जाँच लें कि आपका GPU उपलब्ध है।

nvidia-smi

RTX 4090 GPU overview

अगला, llama.cpp को बिल्ड करने के लिए आवश्यक सिस्टम पैकेज इंस्टॉल करें।

apt-get update
apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y

आधिकारिक llama.cpp रिपोजिटरी को क्लोन करें।

git clone https://github.com/ggml-org/llama.cpp

अब CUDA सपोर्ट सक्षम करके llama.cpp बिल्ड करें। इससे मॉडल लेयर्स केवल CPU पर नहीं, GPU पर चल सकेंगी।

cmake llama.cpp -B llama.cpp/build \
    -DBUILD_SHARED_LIBS=OFF \
    -DGGML_CUDA=ON

आवश्यक बाइनरी कम्पाइल करें।

cmake --build llama.cpp/build \
    --config Release \
    -j \
    --clean-first \
    --target llama-cli llama-mtmd-cli llama-server llama-gguf-split

Building Llama.cpp from source

बिल्ड पूरा होने के बाद, मुख्य बाइनरी जिसका हम उपयोग करेंगे वह है llama-server। यह हमें GGUF मॉडल को लोकल रूप से चलाने देता है और एक OpenAI-संगत API एन्डपॉइंट उपलब्ध कराता है, जिसे हम curl से क्वेरी कर सकते हैं। 

चरण 2: Gemma 4 12B के Non-QAT और QAT मॉडल डाउनलोड करें 

अब जब llama.cpp तैयार है, हम Hugging Face से Gemma 4 12B मॉडल के दोनों वेरिएंट डाउनलोड कर सकते हैं। हम रेगुलर इंस्ट्रक्शन-ट्यून मॉडल और QAT संस्करण को GGUF फ़ॉर्मैट में डाउनलोड करेंगे।

सबसे पहले, तेज़ डाउनलोड सपोर्ट के साथ Hugging Face Hub CLI इंस्टॉल करें।

pip install -U "huggingface_hub[hf_xet]" hf-xet hf_transfer

हाई-परफ़ॉर्मेंस Xet डाउनलोड सक्षम करें।

export HF_XET_HIGH_PERFORMANCE=1

GGUF फ़ॉर्मैट में रेगुलर Gemma 4 12B इंस्ट्रक्शन मॉडल डाउनलोड करें।

hf download unsloth/gemma-4-12B-it-GGUF \
  --local-dir models/gemma-4-12B-it-GGUF \
  --include "*mmproj-BF16*" \
  --include "*UD-Q4_K_XL*"

अगला, उसी क्वांटाइज़ेशन फ़ॉर्मैट का उपयोग करके QAT संस्करण डाउनलोड करें।

hf download unsloth/gemma-4-12B-it-qat-GGUF \
  --local-dir models/gemma-4-12B-it-qat-GGUF \
  --include "*mmproj-BF16*" \
  --include "*UD-Q4_K_XL*"

--include फ़्लैग यह सुनिश्चित करते हैं कि हम पूरे रिपोजिटरी को खींचने के बजाय केवल इस ट्यूटोरियल के लिए आवश्यक फ़ाइलें ही डाउनलोड करें। यहाँ, हम UD-Q4_K_XL GGUF मॉडल फ़ाइलें और mmproj-BF16 फ़ाइलें डाउनलोड कर रहे हैं जिनका उपयोग मॉडल पैकेज करता है। 

डाउनलोड पूरा होने के बाद, सुनिश्चित करें कि दोनों मॉडल फ़ोल्डर मौजूद हैं।

ls models

अपेक्षित आउटपुट:

gemma-4-12B-it-GGUF
gemma-4-12B-it-qat-GGUF

इस समय, non-QAT और QAT दोनों मॉडल लोकल रूप से उपलब्ध हैं, और हम उन्हें llama-server से सर्व करना शुरू कर सकते हैं।

चरण 3: llama-server के साथ Non-QAT मॉडल चलाएँ

हम रेगुलर Gemma 4 12B इंस्ट्रक्शन मॉडल चलाकर शुरू करेंगे। इससे हमें एक बेसलाइन मिलेगी ताकि बाद में हम समान सेटिंग्स के साथ QAT संस्करण की तुलना कर सकें।

non-QAT मॉडल को llama-server के साथ शुरू करें।

./llama.cpp/llama-server \
  -m models/gemma-4-12B-it-GGUF/*UD-Q4_K_XL*.gguf \
  --host 0.0.0.0 \
  --port 8001 \
  --ctx-size 8192 \
  --n-gpu-layers 99 \
  --temp 1.0 \
  --top-p 0.95 \
  --top-k 64

Serving the gemma-4-12B-it-GGUF model

यह http://localhost:8001 पर एक लोकल OpenAI-संगत सर्वर शुरू करता है।

एक और टर्मिनल खोलें और लोकल सर्वर पर अनुरोध भेजें।

time curl http://localhost:8001/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
  "model": "gemma-4-12B-it",
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful local AI assistant."
    },
    {
      "role": "user",
      "content": "Explain why quantization-aware training is useful for running LLMs on consumer GPUs."
    }
  ],
  "temperature": 1.0,
  "top_p": 0.95,
  "max_tokens": 512
}'

इस कमांड में, हम लोकल /v1/chat/completions एन्डपॉइंट का उपयोग कर रहे हैं, जो OpenAI-संगत API फ़ॉर्मैट का पालन करता है। प्रॉम्प्ट मॉडल से क्वांटाइज़ेशन-अवेयर ट्रेनिंग समझाने के लिए कहता है, और max_tokens को 512 पर सेट किया गया है ताकि दोनों मॉडल वेरिएंट समान आउटपुट लंबाई के साथ परखे जा सकें। 

हमारे RTX 4090 परीक्षण में, non-QAT मॉडल ने निम्नलिखित टाइमिंग परिणाम दिए:

  • प्रॉम्प्ट टोकन: 40
  • कम्प्लीशन टोकन: 512
  • प्रॉम्प्ट स्पीड: 510.22 टोकन/सेकंड
  • जनरेशन स्पीड: 94.65 टोकन/सेकंड
  • कुल समय: 5.516 सेकंड

GPU मेमोरी उपयोग:

9247 MiB / 24564 MiB

यह हमें रेगुलर Gemma 4 12B मॉडल का बेसलाइन प्रदर्शन देता है। अगले चरण में, हम समान कॉन्फ़िगरेशन के साथ QAT संस्करण चलाएँगे और परिणामों की तुलना करेंगे।

चरण 4: QAT मॉडल चलाएँ और जाँचें

अब हम समान llama-server सेटिंग्स के साथ Gemma 4 12B का QAT संस्करण चलाएँगे। इस सर्वर को शुरू करने से पहले, सुनिश्चित करें कि आप पिछला non-QAT सर्वर रोक दें, क्योंकि दोनों कमांड एक ही पोर्ट का उपयोग करते हैं।

QAT मॉडल शुरू करें।

./llama.cpp/llama-server \
  -m models/gemma-4-12B-it-qat-GGUF/*UD-Q4_K_XL*.gguf \
  --host 0.0.0.0 \
  --port 8001 \
  --ctx-size 8192 \
  --n-gpu-layers 99 \
  --temp 1.0 \
  --top-p 0.95 \
  --top-k 64

यह QAT मॉडल को उसी लोकल OpenAI-संगत एन्डपॉइंट http://localhost:8001 पर शुरू करता है।

Serving the gemma-4-12B-it-qat-GGUF

अब वही टेस्ट प्रॉम्प्ट QAT मॉडल को भेजें।

time curl http://localhost:8001/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
  "model": "gemma-4-12B-it-qat",
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful local AI assistant."
    },
    {
      "role": "user",
      "content": "Explain why quantization-aware training is useful for running LLMs on consumer GPUs."
    }
  ],
  "temperature": 1.0,
  "top_p": 0.95,
  "max_tokens": 512
}'

हमारे RTX 4090 परीक्षण में, QAT मॉडल ने निम्नलिखित टाइमिंग परिणाम दिए:

  1. प्रॉम्प्ट टोकन: 40
  2. कम्प्लीशन टोकन: 512
  3. प्रॉम्प्ट स्पीड: 593.93 टोकन/सेकंड
  4. जनरेशन स्पीड: 101.65 टोकन/सेकंड
  5. कुल समय: 5.114 सेकंड

GPU मेमोरी उपयोग:

8627 MiB / 24564 MiB

आप लोकल सर्वर URL (http://localhost:8001) कॉपी करके अपने ब्राउज़र में भी पेस्ट कर सकते हैं:

Testing the gemma-4-12B-it-qat using the llama.cpp WebUI

यह बिल्ट-इन llama.cpp वेब UI खोलता है, जो लोकल मॉडल की जाँच के लिए एक सरल ChatGPT-जैसा इंटरफ़ेस देता है। आप इसे ब्राउज़र में सीधे QAT मॉडल से चैट करने, प्रॉम्प्ट्स के साथ प्रयोग करने, और मॉडल का उपयोग एक दैनिक लोकल AI सहायक के रूप में करने के लिए उपयोग कर सकते हैं। 

QAT बनाम Non-QAT परिणामों की तुलना

दोनों मॉडलों को समान प्रॉम्प्ट और सर्वर सेटिंग्स के साथ परखने के बाद, हम RTX 4090 पर उनके प्रदर्शन की सीधी तुलना कर सकते हैं।

मेट्रिक

Gemma 4 12B Non-QAT

Gemma 4 12B QAT

क्वांटाइज़ेशन

UD-Q4_K_XL

UD-Q4_K_XL

कॉन्टेक्स्ट साइज

8192

8192

प्रॉम्प्ट टोकन

40

40

कम्प्लीशन टोकन

512

512

प्रॉम्प्ट स्पीड

510.22 टोकन/सेकंड

593.93 टोकन/सेकंड

जनरेशन स्पीड

94.65 टोकन/सेकंड

101.65 टोकन/सेकंड

कुल समय

5.516 सेकंड

5.114 सेकंड

VRAM उपयोग

9247 MiB

8627 MiB

इस रन में, QAT मॉडल रेगुलर non-QAT मॉडल की तुलना में तेज़ और हल्का दोनों था। इसने 620 MiB कम VRAM का उपयोग किया, जिससे मेमोरी उपयोग लगभग 6.7% घटा। यह लोकल इन्फ़रेंस के लिए उपयोगी है क्योंकि कंज़्यूमर GPUs पर बड़े मॉडल चलाते समय बचाई गई हर VRAM मायने रखती है।

QAT मॉडल ने टोकन भी तेज़ी से जेनरेट किए, 94.65 टोकन/सेकंड से 101.65 टोकन/सेकंड तक सुधार हुआ। यह लगभग 7.4% की वृद्धि है, जिससे वॉल-क्लॉक समय 5.516 सेकंड से घटकर 5.114 सेकंड हो गया।

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

अंतिम विचार

Google लोकल AI समुदाय के लिए शानदार काम कर रहा है। Gemma 4 जैसे मॉडल और QAT जैसी तकनीकों के साथ, शक्तिशाली AI मॉडलों को पूरी तरह ऑफ़लाइन, और यहाँ तक कि कंज़्यूमर हार्डवेयर पर लोकल रूप से चलाने का सपना सच हो रहा है। 

सबसे उत्साहजनक बात यह है कि यह केवल मॉडल आकार घटाने के बारे में नहीं है। QAT के साथ, हम मॉडल को फिट कराने के लिए सिर्फ गुणवत्ता से समझौता नहीं कर रहे। हमें ऐसे मॉडल मिल रहे हैं जो लो-बिट फ़ॉर्मैट में बेहतर चलने के लिए डिज़ाइन किए गए हैं, जिससे समूचा लोकल AI अनुभव सुधरता है। इस परीक्षण में, QAT मॉडल non-QAT संस्करण की तुलना में तेज़, हल्का और उपयोग में स्मूद था।

मैं अब मॉडल के MTP संस्करण का परीक्षण करने के लिए उत्सुक हूँ, जो गति को और बढ़ा सकता है, संभवतः 2x तक। इससे मेरा अधिक कामकाज लोकल AI पर स्थानांतरित करना बहुत आसान हो जाएगा। मैं मॉडल को लोकल रूप से चला सकता हूँ, उसे OpenCode जैसे टूल्स से जोड़ सकता हूँ, और एक निजी लोकल असिस्टेंट के साथ सीधे प्रोजेक्ट फ़ाइलों को एडिट करना शुरू कर सकता हूँ।

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

विषय

शीर्ष AI पाठ्यक्रम

Track

एआई अनुप्रयोग विकसित करना

21 घंटा
नवीनतम AI डेवलपर टूल्स, जिनमें OpenAI API, Hugging Face, और LangChain शामिल हैं, के साथ AI-संचालित एप्लिकेशन बनाना सीखें।
विस्तृत जानकारी देखेंRight Arrow
कोर्स शुरू करें

Track

डेवलपर्स के लिए एसोसिएट AI इंजीनियर

26 घंटा
एपीआई और ओपन-सोर्स लाइब्रेरी का उपयोग करके सॉफ़्टवेयर अनुप्रयोगों में AI को एकीकृत करना सीखें। आज ही AI इंजीनियर बनने की अपनी यात्रा शुरू करें!
और देखेंRight Arrow