provider.quantizations भेजें जो मॉडल को उसी प्रिसिज़न पर सर्व करते हैं जिसे आपने टेस्ट किया है:
क्वांटाइज़ेशन क्या बदलता है
क्वांटाइज़ेशन मॉडल के वेट को छोटे संख्या प्रकार में सेव करता है। तब वही मॉडल कम मेमोरी लेता है और तेज़ी से सर्व होता है, लेकिन आउटपुट गुणवत्ता पर कुछ असर पड़ता है। क्वांटाइज़ किए गए मॉडल को दो चीज़ें बताती हैं: फ़ॉर्मैट (संख्या प्रकार, जैसेFP8 या INT4) और तरीका (वेट को उसमें कैसे बदला गया, जैसे AWQ या GPTQ)।
बिट आधे करने पर वेट की ज़रूरी मेमोरी भी आधी हो जाती है। 70B-पैरामीटर वाले मॉडल के लिए सिर्फ़ वेट लगभग इतनी जगह लेते हैं:
ये आँकड़े सीधा गणित हैं (पैरामीटर × प्रति वेट बाइट) और इनमें एक्टिवेशन और KV कैश शामिल नहीं हैं, जिनके लिए भी प्रदाताओं को मेमोरी चाहिए।
प्रिसिज़न फ़ॉर्मैट की तुलना करें
प्रिसिज़न फ़ॉर्मैट वह संख्या प्रकार है जिसमें प्रदाता मॉडल के वेट सेव करता है। कम प्रिसिज़न कम मेमोरी लेता है और तेज़ी से सर्व होता है, लेकिन आउटपुट गुणवत्ता पर जोखिम बढ़ता है।BF16 या FP16
दोनों 16-बिट हैं।BF16 बड़ी एक्सपोनेंट रेंज रखता है, इसलिए ज़्यादा स्थिर है; FP16 आम और तेज़ है, लेकिन कुछ वर्कलोड पर कम स्थिर है। जब कोई प्रदाता BF16 देता है, तो गुणवत्ता-महत्वपूर्ण ट्रैफ़िक के लिए वह ज़्यादा सुरक्षित विकल्प है।
FP8 और FP4
FP8 दक्षता में बड़ा लाभ देता है और ज़्यादातर कामों के लिए उपयोगी गुणवत्ता बनाए रखता है। FP4 इससे आगे जाता है, लेकिन गुणवत्ता ज़्यादा बार गिरती है, खासकर बारीक रीज़निंग, लंबे कॉन्टेक्स्ट और सख्त संरचित आउटपुट पर।
INT8 और INT4
इंटीजर फ़ॉर्मैट इन्फ़रेंस थ्रूपुट और मेमोरी के लिए बने हैं। ये गुणवत्ता कितनी अच्छी तरह बनाए रखते हैं, यह क्वांटाइज़ेशन तरीके, कैलिब्रेशन डेटा और मॉडल आर्किटेक्चर पर निर्भर करता है।INT8 को INT4 की तुलना में सुरक्षित रूप से डिप्लॉय करना आसान है।
मॉडल का लेबल पढ़ें
प्रदाता वेरिएंट कोbf16, fp16, fp8, int8, q4, 4bit, 8bit आदि नाम देते हैं। यह नामकरण मानक नहीं है: 4bit का मतलब FP4 भी हो सकता है और INT4 भी। सटीक वेरिएंट के लिए प्रदाता का दस्तावेज़ देखें।
क्वांटाइज़ेशन तरीकों की तुलना करें
INT4 जैसा फ़ॉर्मैट प्रिसिज़न लक्ष्य है; AWQ या GPTQ जैसा तरीका यह है कि वेट को उसमें कैसे बदला गया। AWQ INT4 और GPTQ INT4 एक ही लक्ष्य तक अलग-अलग तरीकों से पहुँचते हैं, इसलिए उनका व्यवहार बहुत अलग हो सकता है। तरीका इस पर असर डालता है कि कितनी सटीकता बचती है, कौन-से रनटाइम मॉडल सर्व कर सकते हैं, मेमोरी लेआउट और सर्विंग गति, और क्या कैलिब्रेशन डेटा की ज़रूरत पड़ी।
अपने वर्कलोड के लिए तरीकों की तुलना करने के लिए:
- पहले रनटाइम चुनें: वह जिसे आप भरोसे से डिप्लॉय कर सकते हैं।
- सिर्फ़ वे तरीका परिवार रखें जिन्हें वह रनटाइम सपोर्ट करता है।
- एक ही प्रिसिज़न लक्ष्य पर कई तरीकों को बेंचमार्क करें।
- सिर्फ़ औसत बेंचमार्क स्कोर नहीं, विफलता के तरीके भी ट्रैक करें: संरचित आउटपुट की शुद्धता, लंबे कॉन्टेक्स्ट में सटीकता, टूल कॉल की विश्वसनीयता, सुरक्षा और मॉडरेशन व्यवहार, और लोड के दौरान टेल लेटेंसी।
एक प्रिसिज़न पर रूट करें
provider.quantizations फ़िल्टर सिर्फ़ प्रदाता का नाम नहीं, बल्कि मॉडल के लिए हर प्रदाता का ऑफ़र जाँचता है:
- मिलान में अक्षरों का छोटा-बड़ा होना, खाली जगह,
-और_अनदेखे होते हैं। स्पष्ट उपनाम भी मेल खाते हैं:BF16के लिएbfloat16,FP16के लिएfloat16,FP8के लिएfloat8।4bitजैसे लेबल कोFP4याINT4नहीं माना जाता। - बिना क्वांटाइज़ेशन मेटाडेटा वाले ऑफ़र कभी मेल नहीं खाते।
- किसी दूसरे प्रिसिज़न पर फ़ॉलबैक नहीं होता। अगर कोई ऑफ़र मेल नहीं खाता, तो अनुरोध
400 unsupported_model_or_endpoint, कारणquantization_not_available, के साथ विफल होता है। त्रुटि उपलब्ध प्रिसिज़न की सूची देती है औरrouting_diagnostics.quantizationके तहत बताती है कि कौन-से प्रदाता हटाए गए और क्यों। provider.quantizationsके विकल्प के रूप मेंrouting.quantizationsभी स्वीकार किया जाता है।
प्रिसिज़न चुनें
आपको हर चीज़ के लिए एक ही प्रिसिज़न की ज़रूरत नहीं है। ग्राहक सहायता और महत्वपूर्ण फ़ैसलों के लिए ज़्यादा प्रिसिज़न रखें, और बड़ी मात्रा वाले वर्गीकरण या सारांश के लिए कम प्रिसिज़न स्वीकार करें।
1
सफलता के मानदंड तय करें
गुणवत्ता की सीमाएँ (कार्य सटीकता, पास दर, संरचित आउटपुट की वैधता), लेटेंसी और लागत लक्ष्य, और वे विफलता के तरीके तय करें जिन्हें आप स्वीकार नहीं करेंगे।
2
ज़्यादा प्रिसिज़न वाली बेसलाइन मापें
BF16 या FP16 से शुरू करें। आउटपुट गुणवत्ता, मीडियन और टेल लेटेंसी, और टोकन लागत दर्ज करें। हर कम प्रिसिज़न की तुलना इसी से होगी।3
एक बार में एक स्तर नीचे जाएँ
इसके बाद
FP8 या INT8 आज़माएँ। FP4 या INT4 पर तभी जाएँ जब आपको अतिरिक्त लागत या थ्रूपुट बचत चाहिए। जब तक आपके पास सबूत न हो कि सबसे छोटा वेरिएंट आपके वर्कलोड के लिए काम करता है, सीधे उस पर न जाएँ।4
प्रोडक्शन जैसे प्रॉम्प्ट से टेस्ट करें
लंबे प्रॉम्प्ट, कई चरणों वाली रीज़निंग, टूल कॉलिंग, और सपोर्ट टिकट से लिए गए एज केस शामिल करें।
5
रोल आउट करें और नज़र रखते रहें
जब कोई ऑफ़र मेल न खाए, उसके लिए अपने क्लाइंट में एक फ़ॉलबैक मॉडल या प्रिसिज़न रखें, रोल आउट के बाद गुणवत्ता की निगरानी करें, और जब प्रदाता का रनटाइम या मॉडल संशोधन बदले तो दोबारा टेस्ट करें। प्रिसिज़न चुनने के बाद उसके ऊपर इन्फ़रेंस पैरामीटर ट्यून करें।