यह लेख OpenAI द्वारा प्रकाशित आधिकारिक दस्तावेज, OpenAI डेवलपर समुदाय चर्चाओं में एकत्रित टीम फीडबैक और ऑराबेस कोड में सत्यापित व्यवहार पर आधारित है, जो मूल रूप से इन तीन आयाम वर्गों को तीन अलग-अलग वेक्टर कॉलम में रूट करता है। प्रत्येक बाहरी आकृति दिनांकित और स्रोतित है; जिस पद्धति को हम अपने स्वयं के मापों पर लागू करते हैं, उसके लिए हमारा बेंचमार्क पद्धति स्तंभदेखें।
- अधिकांश मामलों के लिए 1536 आयाम सबसे संतुलित विकल्प बने हुए हैं: पीजीवेक्टर के मूल एचएनएसडब्ल्यू समर्थन से प्रस्थान किए बिना, मूल पाठ-एम्बेडिंग-3-छोटा, या छोटा पाठ-एम्बेडिंग-3-बड़ा।
- 3072 आयाम (टेक्स्ट-एम्बेडिंग-3-बड़ा) ओपनएआई द्वारा प्रकाशित उच्चतम एमटीईबी स्कोर प्रदान करता है (64.6% बनाम 62.3%), लेकिन पीजीवेक्टर के
vectorप्रकार की 2000 आयाम सीमा से अधिक है: HNSW सूचकांक कोhalfvecपर कास्ट की आवश्यकता होती है। - OpenAI
dimensionsपैरामीटर (मैत्रियोश्का तकनीक) के माध्यम से एम्बेडिंग को छोटा करने से भंडारण कम हो जाता है और खोज तेज हो जाती है, लेकिन कीमत कम नहीं होती है: यह पूछे गए मॉडल पर निर्भर करता है, न कि लौटाए गए वेक्टर के आकार पर। halfvecस्टोरेज (2 बाइट्स प्रति आयाम) के लिए धन्यवाद, एक 3072-आयामी वेक्टर क्लासिकvector(4 बाइट्स प्रति आयाम) में 1536 वेक्टर के रूप में ऑराबेस में समान कच्चे डिस्क स्थान पर रहता है: लगभग 6 केबी।- ऑराबेस मूल रूप से बिल्कुल 3 आयाम वर्गों, 768, 1536 और 3072 का समर्थन करता है, प्रत्येक अपने स्वयं के कॉलम पर (
aura-ai/src/embeddings/mod.rsमें चेक किया गया): कोई मुक्त आयाम फ़ील्ड नहीं।
768, 1536 या 3072: प्रत्येक स्तर वास्तव में क्या बदलता है
स्पष्ट रूप से, टेक्स्ट-एम्बेडिंग-3-छोटा और टेक्स्ट-एम्बेडिंग-3-बड़े के बीच चयन करना पहले 1536 और 3072 मूल आयामों के बीच चयन करने के बराबर है, यहां तक कि ट्रंकेशन के बारे में बात करने से पहले। नीचे दी गई तालिका उन तीन स्तरों पर सत्यापन योग्य तथ्यों का सारांश प्रस्तुत करती है जिन्हें पीजीवेक्टर मूल रूप से अनुक्रमण पक्ष और ऑराबेस मार्ग पर पहचानता है।
| मापदंड | 768 आयाम | 1536 आयाम | 3072 आयाम |
|---|---|---|---|
| संबंधित मॉडल | ओपनएआई ट्रंकेशन, या लीगेसी/ओपन सोर्स (मूल) मॉडल | टेक्स्ट-एम्बेडिंग-3-छोटा (मूल) या छोटा 3-बड़ा | टेक्स्ट-एम्बेडिंग-3-बड़ा (मूल) |
| औसत एमटीईबी स्कोर | इस आकार में OpenAI द्वारा मूल रूप से जारी नहीं किया गया है | 62,3 % | 64,6 % |
| सांकेतिक OpenAI मूल्य / 1M टोकन | यह पूछे गए मॉडल पर निर्भर करता है, आकार पर नहीं | $0.02 (छोटा) या $0.13 (छोटा बड़ा) | $0.13 (पाठ-एम्बेडिंग-3-बड़ा) |
| सकल संग्रहित भार/वेक्टर | 3 केबी (फ्लोट32) | 6 केबी (फ्लोट32) | 12 केबी (वेक्टर) या 6 केबी (हाफवेक, ऑराबेस) |
| मूल HNSW पीजीवेक्टर सूचकांक | हाँ | हाँ | नहीं: कास्ट हाफवेक आवश्यक (>2000 डिम्स) |
| ऑराबेस कॉलम (सत्यापित कोड) | एम्बेडिंग_768 | एम्बेडिंग_1536 | एम्बेडिंग_3072 |
स्रोत: ओपनएआई, आधिकारिक ब्लॉग "नए एम्बेडिंग मॉडल और एपीआई अपडेट", 25 जनवरी, 2024 (एमटीईबी स्कोर और लॉन्च कीमतें, उपयोग से पहले वर्तमान मूल्य निर्धारण पृष्ठ पर जांच करें); aura-ai/src/embeddings/mod.rs, ऑराबेस (कॉलम और सूचकांक समर्थन, सत्यापित 24 अगस्त, 2026)।
भंडारण पर प्रभाव: गणना जो सब कुछ बदल देती है
एक एम्बेडिंग को फ़्लोटिंग पॉइंट नंबरों की एक सरणी की तरह संग्रहीत किया जाता है। पीजीवेक्टर में, क्लासिक vector प्रकार प्रत्येक आयाम को 4 बाइट्स (फ्लोट32) पर एन्कोड करता है: 768 आयाम इसलिए प्रति वेक्टर लगभग 3 केबी कच्चे डेटा का वजन करते हैं, 6 केबी के आसपास 1536 आयाम, और 12 केबी के आसपास 3072 आयाम, पीजीवेक्टर हेडर और पोस्टग्रेज पेज ओवरहेड की गिनती से पहले भी।
यहीं पर halfvec प्रकार का pgvector आता है, जो प्रत्येक आयाम को 4 के बजाय 2 बाइट्स (फ्लोट16) में एन्कोड करता है। halfvec में संग्रहीत एक 3072-आयामी वेक्टर का वजन लगभग 6 KB होता है: बिल्कुल क्लासिक vectorमें संग्रहीत 1536-आयामी वेक्टर का वजन।
प्रत्यक्ष और अचूक परिणाम: ऑराबेस में, 1536 से 3072 आयाम तक जाने से डिस्क पर वास्तविक भंडारण दोगुना नहीं होता है, क्योंकि embedding_3072 कॉलम को halfvecकास्ट के माध्यम से क्वेरी किया जाता है। इसलिए 3072 आयामों की वास्तविक अतिरिक्त लागत मुख्य रूप से डिस्क नहीं है: यह संबंधित ओपनएआई मॉडल की कीमत है, और vectorप्रकार के मूल सूचकांक समर्थन का आउटपुट है, जिसका विवरण निम्नलिखित अनुभाग में दिया गया है।
पीजीवेक्टर के अंतर्गत 3072 आयाम सूचकांक प्रकार क्यों बदलते हैं?
vector प्रकार का pgvector 2000 आयामों से अधिक HNSW या IVFFlat सूचकांक बनाने की अनुमति नहीं देता है। 3072 आयाम इस सीमा से अधिक हैं: vector(3072) कॉलम पर कोई भी वेक्टर खोज क्वेरी अनुमानित सूचकांक पर भरोसा नहीं कर सकती है, यह पूर्ण अनुक्रमिक स्कैन पर वापस आती है, जो उत्पादन में आरएजी कॉर्पस के पैमाने पर अनुपयोगी है।
ऑराबेस कोड इस मामले को स्पष्ट रूप से संभालता है: embedding_3072 कॉलम प्रत्येक प्रविष्टि और खोज क्वेरी पर halfvec(3072) पर डाला जाता है, एक प्रकार जो pgvector 4000 आयामों तक अनुक्रमित कर सकता है। कॉलम 768 और 1536 मूल vectorबने रहते हैं, अनकास्ट, क्योंकि वे सीमा तक नहीं पहुंचते हैं।
यह विवरण यह भी बताता है कि क्यों [768, 1536, 3072] में सूचीबद्ध नहीं किया गया एक एम्बेडिंग आयाम ऑराबेस पक्ष पर स्पष्ट रूप से विफल हो जाता है, स्वीकार किए जाने और फिर खराब तरीके से अनुक्रमित होने के बजाय: कॉलम नाम हमेशा एक निश्चित अनुमति सूची से आता है, क्लाइंट द्वारा भेजे गए मुफ्त मूल्य से कभी नहीं। इस विशिष्ट मामले से परे पोस्टग्रेज़ पर HNSW इंडेक्स के निर्माण में गहराई से जाने के लिए, हमारा लेख HNSW इंडेक्स और पोस्टग्रेज़ वेक्टर सर्चदेखें।
सब कुछ खोए बिना आयाम कम करना: ओपनएआई का मैत्रियोश्का ट्रंकेशन
जनवरी 2024 तक, OpenAI का एंबेडिंग एपीआई एक dimensions पैरामीटर स्वीकार करता है जो किसी भिन्न मॉडल को दोबारा लागू किए बिना लौटाए गए वेक्टर को छोटा करता है। तकनीक को मैत्रियोश्का रिप्रेजेंटेशन लर्निंग कहा जाता है: मॉडल को वेक्टर के पहले आयामों में उपयोगी जानकारी को केंद्रित करने के लिए प्रशिक्षित किया जाता है, ताकि एक काट-छांट अचानक के बजाय धीरे-धीरे सटीकता खो दे।
ओपनएआई अपनी घोषणा में एक विशिष्ट उदाहरण के साथ इस तकनीक की प्रभावशीलता को दर्शाता है: टेक्स्ट-एम्बेडिंग-3-बड़ा, केवल 256 आयामों तक छोटा, फिर भी 1536 आयामों के पूर्ण आकार में उपयोग किए गए पुराने टेक्स्ट-एम्बेडिंग-एडीए-002 के एमटीईबी स्कोर से अधिक है (स्रोत: ओपनएआई, आधिकारिक ब्लॉग, 25 जनवरी, 2024)। 12 गुना छोटा एक वेक्टर जो इस विशिष्ट बेंचमार्क पर पूर्ण वेक्टर से बेहतर प्रदर्शन करता है।
महत्वपूर्ण बिंदु, और अक्सर गलत समझा जाता है: काट-छांट करने से लगाई गई कीमत कम नहीं होती है। ओपनएआई शुल्क पूछे गए मॉडल पर आधारित है, न कि लौटाए गए वेक्टर के आकार पर, क्योंकि वास्तविक लागत इनपुट टेक्स्ट पर की गई गणना है। टेक्स्ट-एम्बेडिंग-3-लार्ज से 1536 आयामों का अनुरोध करने पर इसके 3072 मूल आयामों के समान मूल्य लगता है (स्रोत: ओपनएआई, आधिकारिक ब्लॉग, 25 जनवरी, 2024); केवल भंडारण और खोज गति में परिवर्तन होता है।
यह वास्तव में ऑराबेस का डिफ़ॉल्ट विकल्प है, जिसे config/mod.rsमें सत्यापित किया गया है: डिफ़ॉल्ट रूप से कॉन्फ़िगर किया गया मॉडल text-embedding-3-largeहै, लेकिन डिफ़ॉल्ट रूप से कॉन्फ़िगर किया गया आउटपुट आयाम 1536है, न कि 3072। इसलिए सेवा विस्तृत मॉडल के प्रतिनिधित्व के लिए भुगतान करती है, जिसे 3072 के लिए आवश्यक halfvec कास्ट के बिना, मूल HNSW में एक इंडेक्सेबल vector कॉलम पर रहने के लिए छोटा कर दिया गया है।
आपके उपयोग के मामले के अनुसार कौन सा आयाम चुनना है
1536 आयाम अधिकांश आरएजी या सिमेंटिक खोज परियोजनाओं के लिए उचित प्रारंभिक बिंदु बने हुए हैं: टेक्स्ट-एम्बेडिंग-3-स्मॉल (62.3%) का एमटीईबी स्कोर बड़े मॉडल के करीब रहता है, भंडारण हल्का रहता है, और बिना किसी विशेष कॉन्फ़िगरेशन के एचएनएसडब्ल्यू में क्लासिक vector प्रकार के पीजीवेक्टर इंडेक्स होते हैं।
3072 आयाम उचित है जब कॉर्पस अस्पष्ट या तकनीकी है, जहां 62.3% और 64.6% के बीच गुणवत्ता अंतर आपके स्वयं के प्रश्नों पर स्पष्ट रूप से बेहतर खोज परिणामों में तब्दील हो जाता है, सामान्य ओपनएआई बेंचमार्क पर नहीं। OpenAI डेवलपर समुदाय चर्चाओं में दर्ज कई टीम फीडबैक इस दिशा में इशारा करते हैं: 3072 आयामों का लाभ केस-दर-केस आधार पर मापा जाता है, इसे नहीं माना जा सकता है।
768 आयाम विशेष रूप से तब उपयुक्त होते हैं जब मात्रा को बारीकियों पर प्राथमिकता दी जाती है: एक बड़ा कोष जहां भंडारण या गणना बजट वास्तविक बाधा है, या 768 मूल आयामों में पहले से ही एक विरासत एम्बेडिंग मॉडल का उपयोग होता है।
जब तक आपने ओपनएआई द्वारा प्रकाशित सामान्य एमटीईबी स्कोर ही नहीं, बल्कि अपने स्वयं के कॉर्पस के प्रतिनिधि नमूने पर खोज गुणवत्ता को मापा है, तब तक आयाम निर्धारित न करें। एमटीईबी दर्जनों विविध कार्यों का औसत रखता है; आपका आरएजी कोष सिर्फ एक है।
आयाम की यह पसंद एक बड़े RAG स्टैक, एम्बेडिंग, HNSW इंडेक्स, हाइब्रिड खोज का हिस्सा है, जो हमारे पेज नेटिव AIदस्तावेज़ हैं।
हमसे अक्सर क्या पूछा जाता है
सही विकल्प सबसे बड़ा नहीं है, यह सबसे अच्छा मापा गया विकल्प है
768, 1536 और 3072 आयाम एक ही अक्ष पर विभाजित नहीं हैं। ओपनएआई द्वारा प्रकाशित एमटीईबी स्कोर में 3072 का लाभ हुआ, लेकिन पीजीवेक्टर के मूल एचएनएसडब्ल्यू समर्थन को छोड़ दिया गया और बड़े मॉडल की कीमत का भुगतान किया गया, चाहे जो भी आयाम अंततः अनुरोध किया गया हो। 1536 सबसे आम डिफ़ॉल्ट शेष राशि बनी हुई है, जिसमें ऑराबेस भी शामिल है। 768 ऐसे मामलों में कार्य करता है जहां मात्रा को बारीकियों से अधिक प्राथमिकता दी जाती है।
OpenAI का dimensions पैरामीटर पूछे जाने वाले प्रश्न को बदल देता है: यह अब "कौन सा मॉडल चुनना है" नहीं है, बल्कि "मेरे कॉर्पस पर मापा गया लाभ के लिए कौन सा कटौती स्वीकार करना है"। उत्पादन में किसी विकल्प को अंतिम रूप देने से पहले, खोज गुणवत्ता का परीक्षण केवल सामान्य बेंचमार्क पर नहीं, बल्कि वास्तविक नमूने पर करें। हमारा गाइड RAG पाइपलाइन pgvector के साथ अंतर्ग्रहण से लेकर हाइब्रिड खोज तक संपूर्ण सेटअप का विवरण देता है।