टोकन क्या हैं?
टोकन टेक्स्ट के वे बुनियादी घटक हैं जिन्हें OpenAI के मॉडल प्रोसेस करते हैं. भाषा और संदर्भ के आधार पर वे एक अक्षर जितने छोटे या पूरे शब्द जितने लंबे हो सकते हैं. स्पेस, विराम-चिह्न और शब्दों के अंश, सभी टोकन की संख्या में शामिल होते हैं. जवाब जनरेट करने से पहले एपीआई आपके टेक्स्ट को आंतरिक रूप से इसी तरह विभाजित करता है.
अंग्रेज़ी के लिए उपयोगी सामान्य अनुमान:
1 टोकन ≈ 4 अक्षर
1 टोकन ≈ एक शब्द का ¾ भाग
100 टोकन ≈ 75 शब्द
1–2 वाक्य ≈ 30 टोकन
1 अनुच्छेद ≈ 100 टोकन
लगभग 1,500 शब्द ≈ 2,048 टोकन
टोकनाइज़ेशन मॉडल और एन्कोडिंग के अनुसार अलग-अलग होता है. अपने लक्षित मॉडल के लिए सटीक संख्या जानने हेतु टोकनाइज़र टूल या tiktoken.encoding_for_model(model) का उपयोग करें.
उदाहरण
यहां वास्तविक दुनिया के टेक्स्ट के कुछ नमूने और उनकी अनुमानित टोकन संख्याएं दी गई हैं:
वेन ग्रेट्ज़की का कथन “आप जिन शॉट को लगाने की कोशिश नहीं करते, उनमें से 100% चूक जाते हैं” = 11 टोकन
OpenAI चार्टर = 476 टोकन
अमेरिकी स्वतंत्रता की घोषणा = 1,695 टोकन
टोकन की संख्या की गणना कैसे की जाती है
जब आप एपीआई को टेक्स्ट भेजते हैं:
टेक्स्ट को टोकन में विभाजित किया जाता है.
मॉडल इन टोकन को प्रोसेस करता है.
जवाब टोकन के क्रम के रूप में जनरेट होता है और फिर उसे वापस टेक्स्ट में बदला जाता है.
टोकन के उपयोग को कई श्रेणियों में ट्रैक किया जाता है:
इनपुट टोकन – आपके अनुरोध में मौजूद टोकन.
आउटपुट टोकन – जवाब में जनरेट किए गए टोकन.
कैश किए गए टोकन – बातचीत के इतिहास में दोबारा इस्तेमाल किए गए टोकन, जिनके लिए अक्सर कम दर ली जाती है.
रीज़निंग टोकन – कुछ उन्नत मॉडलों में अंतिम आउटपुट देने से पहले अतिरिक्त “सोचने के चरण” आंतरिक रूप से शामिल होते हैं.
ये संख्याएं आपके एपीआई जवाब के मेटाडेटा में दिखाई देती हैं और बिलिंग व उपयोग ट्रैक करने के काम आती हैं.
टोकनाइज़ेशन को और समझने के लिए आप हमारे इंटरैक्टिव टोकनाइज़र टूल का उपयोग कर सकते हैं. इससे आप टोकन की संख्या की गणना कर सकते हैं और देख सकते हैं कि टेक्स्ट को टोकन में कैसे विभाजित किया जाता है.
इसके बजाय, यदि आप प्रोग्राम की सहायता से टेक्स्ट को टोकनाइज़ करना चाहते हैं, तो Tiktoken का उपयोग करें. यह खास तौर पर OpenAI के मॉडलों के लिए इस्तेमाल किया जाने वाला तेज़ बीपीई टोकनाइज़र है.
टोकन सीमाएं
हर मॉडल के लिए इनपुट और आउटपुट टोकन की कुल अधिकतम सीमा होती है. मौजूदा उच्च-क्षमता वाले मॉडल संदर्भ में लाखों टोकन तक का समर्थन करते हैं, हालांकि व्यावहारिक सीमाएं मॉडल के संस्करण और आपके उपयोग स्तर के अनुसार अलग-अलग हो सकती हैं.
सीमा पार होने पर आप ये उपाय कर सकते हैं:
प्रॉम्प्ट को छोटा करें या उसे दूसरे शब्दों में लिखें.
बड़े टेक्स्ट को छोटे हिस्सों में बांटें.
इनपुट भेजने से पहले उनका सारांश बनाएं या उन्हें पहले से प्रोसेस करें.
टोकन का मूल्य निर्धारण
एपीआई के उपयोग की कीमत प्रति टोकन तय होती है और मॉडल व टोकन के प्रकार—इनपुट, आउटपुट या कैश किए गए—के अनुसार बदलती है. मौजूदा दरों के लिए OpenAI का मूल्य निर्धारण पेज देखें. कुछ रीज़निंग मॉडल आंतरिक रूप से अधिक टोकन इस्तेमाल कर सकते हैं, लेकिन उनका लक्ष्य हर पूरा किए गए काम के लिए आवश्यक टोकन की संख्या घटाकर दक्षता बढ़ाना होता है.
अलग-अलग एआई मॉडलों या प्रदाताओं में टोकन मानकीकृत नहीं हैं. अलग-अलग मॉडल एक ही टेक्स्ट को प्रोसेस या जनरेट करने के लिए अलग संख्या में टोकन इस्तेमाल कर सकते हैं. इसलिए प्रति दस लाख टोकन की कम विज्ञापित कीमत का अर्थ हमेशा कम कुल लागत नहीं होता.
जवाब की दिखाई देने वाली लंबाई भी पूरी तस्वीर नहीं बताती. कुछ मॉडल जवाब देने से पहले आंतरिक रूप से रीज़निंग टोकन इस्तेमाल करते हैं. इसलिए लंबे दिखाई देने वाले जवाब का अर्थ हमेशा यह नहीं होता कि मॉडल ने कुल मिलाकर अधिक टोकन इस्तेमाल किए.
मॉडलों की तुलना करते समय आवश्यक टोकन की कुल संख्या और हर सफल परिणाम की लागत पर विचार करें. मानदंड उपयोगी शुरुआती आधार दे सकते हैं, लेकिन वास्तविक लागत और प्रदर्शन समझने का सबसे अच्छा तरीका अपने उपयोग के मामलों पर मॉडलों को परखना है.
टोकन को समझना
एपीआई कॉर्पस डेटा में शब्दों के संदर्भ के अनुसार उन्हें समझता है. मॉडल प्रॉम्प्ट लेकर इनपुट को टोकन की सूची में बदलते हैं, प्रॉम्प्ट को प्रोसेस करते हैं और अनुमानित टोकन को वापस उन शब्दों में बदलते हैं जिन्हें हम जवाब में देखते हैं.
हमें एक जैसे दिखाई देने वाले दो शब्द टेक्स्ट में उनकी संरचना के आधार पर अलग-अलग टोकन के रूप में जनरेट हो सकते हैं. देखें कि टेक्स्ट में संदर्भ के आधार पर एपीआई “red” शब्द के टोकन मान कैसे जनरेट करता है:
ऊपर दिए पहले उदाहरण में “ red” के टोकन “2266” में आखिर में एक स्पेस शामिल है. ध्यान दें, प्रदर्शन के लिए ये उदाहरण टोकन आईडी हैं.
“ Red” का टोकन “2296”, जिसमें शुरू में स्पेस और बड़ा अक्षर है, छोटे अक्षर वाले “ red” के टोकन “2266” से अलग है.
जब “Red” का उपयोग वाक्य की शुरुआत में होता है, तो जनरेट किए गए टोकन में शुरुआती स्पेस शामिल नहीं होता. टोकन “7738” इस शब्द के पिछले दोनों उदाहरणों से अलग है.
अवलोकन:
कोई टोकन जितना अधिक संभावित या प्रचलित होता है, उसे दी गई टोकन संख्या उतनी ही कम होती है:
तीनों वाक्यों में पूर्ण विराम के लिए जनरेट हुआ टोकन एक ही, यानी “13”, है. ऐसा इसलिए है क्योंकि संदर्भ की दृष्टि से पूरे कॉर्पस डेटा में पूर्ण विराम का उपयोग लगभग एक जैसा होता है.
“red” के लिए जनरेट हुआ टोकन वाक्य में उसके स्थान के अनुसार बदलता है:
वाक्य के बीच में छोटा अक्षर: “ red” - (टोकन: “2266”)
वाक्य के बीच में बड़ा अक्षर: “ Red” - (टोकन: “2297”)
वाक्य की शुरुआत में बड़ा अक्षर: “Red” - (टोकन: “7738”)
