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

बुनियादी बातें

एआई टोकन क्या होते हैं?

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

सभी लेख · आख़िरी समीक्षा:

टोकन न शब्द है, न अक्षर

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

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

टोकनाइज़ेशन भाषा और मॉडल के हिसाब से बदलता है

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

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

एक रिक्वेस्ट इनपुट टोकन और आउटपुट टोकन खर्च करती है

हर रिक्वेस्ट के दो टोकन-समूह होते हैं, जो अलग गिने और आमतौर पर अलग क़ीमत लिए जाते हैं। इनपुट टोकन वह सब है जो मॉडल को भेजा जाता है: निर्देश, दिखती बातचीत, कोई जोड़े गए दस्तावेज़ और टूल के नतीजे। आउटपुट टोकन वह सब है जो मॉडल बदले में बनाता है।

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

टोकन वह इकाई है जिसमें कॉन्टेक्स्ट विंडो मापी जाती है

कॉन्टेक्स्ट विंडो टोकन में जताया गया एक बजट है, जो एक रिक्वेस्ट के इनपुट और आउटपुट के बीच साझा होता है। "कॉन्टेक्स्ट विंडो क्या है?" में बताया गया है कि यह बजट व्यवहार में कैसे काम करता है; यहाँ बस इकाई मायने रखती है — विंडो शब्दों, अक्षरों या मैसेज में नहीं, टोकन में मापी जाती है, और इनपुट व आउटपुट एक ही कुल राशि से लेते हैं।

बिना तय संख्या के लागत का अंदाज़ा लगाना

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

मौजूदा दर-तालिका चाहे जो हो, लागत का ढाँचा वही रहता है: छोटे, केंद्रित प्रॉम्प्ट और छोटे, केंद्रित जवाब कम टोकन इस्तेमाल करते हैं, और लंबी बातचीत के हर मोड़ पर बड़े अटैचमेंट दोबारा भेजना उन आम तरीक़ों में से एक है जिनसे टोकन इस्तेमाल बिना किसी के तय किए बढ़ जाता है।

सटीक संख्या के लिए मॉडल के अपने टोकनाइज़र की ज़रूरत है

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

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

अक्सर पूछे जाने वाले सवाल

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

पढ़ने से बेहतर, आज़माकर देखें

ClawAI जवाब बनने के बाद किसी रिक्वेस्ट के असली इस्तेमाल हुए इनपुट और आउटपुट टोकन गिनता है, और पहले से किए अनुमान की जगह उस जवाब के लिए लगी लागत और इस्तेमाल हुआ भत्ता दिखाता है।