जीपीटी-4, चैटजीपीटी और एआई मॉडल के लिए मुफ्त टोकन काउंटर
ओपनएआई के टिकटोकन लाइब्रेरी का उपयोग करके सटीक टोकन काउंटर। जीपीटी-4, चैटजीपीटी और जीपीटी-3 मॉडल के लिए टोकन गणना करें। एपीआई लागत का प्रबंधन करें और एआई प्रॉम्प्ट को तुरंत अनुकूलित करें।
टोकन काउंटर
अवैध इनपुट
दस्तावेज़ीकरण
टोकन काउंटर क्या होता है?
टोकन काउंटर यह मापता है कि AI भाषा मॉडल द्वारा पढ़े जाने पर कोई पाठ कितने टोकनों में विभाजित होता है। टोकन पाठ के छोटे-छोटे खंड होते हैं—पूरे शब्द, शब्दों के भाग या विराम चिह्न—जिन्हें GPT-4 और ChatGPT जैसे मॉडल कच्चे अक्षरों के बजाय संसाधित करते हैं। यह टूल OpenAI द्वारा प्रकाशित ओपन-सोर्स टोकनाइज़र लाइब्रेरी tiktoken का उपयोग करता है, इसलिए टोकनों की संख्या OpenAI के अपने मॉडल और API से मिलने वाली संख्या से मेल खाती है।
टोकनीकरण कैसे काम करता है
टोकेनाइज़र केवल शब्दों को नहीं गिनता। यह पाठ पर बाइट-पेयर एन्कोडिंग (BPE) नामक एल्गोरिदम लागू करता है। यह एल्गोरिदम पाठ के अलग-अलग बाइट से शुरू होता है और प्रशिक्षण के दौरान बड़ी मात्रा में पाठ से सीखे गए पैटर्न के आधार पर सबसे सामान्य आसन्न युग्मों को बार-बार मिला देता है। इसका परिणाम दसियों हज़ार सामान्य खंडों की एक निश्चित शब्दावली होती है: छोटे पूरे शब्द, बार-बार आने वाले शब्द-खंड और दुर्लभ चीज़ों के लिए एकल अक्षर।
इसी कारण अंग्रेज़ी का एक शब्द अक्सर एक टोकन बन जाता है, लेकिन लंबे या असामान्य शब्द दो या अधिक टोकनों में विभाजित हो सकते हैं। रिक्त स्थान आम तौर पर अपने आप नहीं गिने जाते, बल्कि अगले टोकन की शुरुआत से जुड़े होते हैं, और विराम चिह्न सामान्यतः अपने अलग टोकन होते हैं।
यह टूल किन एन्कोडिंग का समर्थन करता है
Tiktoken कई एन्कोडिंग उपलब्ध कराता है, जिनमें से प्रत्येक OpenAI मॉडल के एक परिवार से जुड़ी है। यह टूल तीन का समर्थन करता है:
| एन्कोडिंग | द्वारा उपयोग किया जाता है | अनुमानित शब्दावली आकार |
|---|---|---|
cl100k_base | GPT-3.5 और GPT-4 परिवार के मॉडल, ChatGPT | लगभग 1,00,000 टोकन |
p50k_base | बाद के GPT-3 मॉडल | लगभग 50,000 टोकन |
r50k_base | पहले के GPT-3 और GPT-2 मॉडल | लगभग 50,000 टोकन |
cl100k_base डिफ़ॉल्ट रूप से चुना जाता है, क्योंकि यह उस मॉडल परिवार को कवर करता है जिसका आज अधिकांश लोग उपयोग करते हैं। प्रत्येक एन्कोडिंग के अंतर्गत एक ही पाठ अलग टोकन संख्या दे सकता है, क्योंकि हर एन्कोडिंग को अलग पाठ पर प्रशिक्षित किया गया है और यह अक्षरों को अलग तरीके से मिलाती है।
टोकन संख्या की गणना कैसे करें
अक्षर संख्या या शब्द संख्या को टोकन संख्या में बदलने का कोई सरल अंकगणितीय सूत्र नहीं है, क्योंकि BPE का विलय विशिष्ट पाठ और प्रशिक्षित शब्दावली पर निर्भर करता है। सटीक तरीका केवल यही है कि पाठ को स्वयं टोकेनाइज़र से गुजारा जाए:
- लक्षित मॉडल से मेल खाने वाली एन्कोडिंग चुनें।
- पाठ को उस एन्कोडिंग के टोकेनाइज़र में डालें।
- परिणामस्वरूप मिलने वाली टोकन ID की सूची गिनें। उस सूची की लंबाई ही टोकन संख्या है।
अंग्रेज़ी पाठ के लिए मोटे अनुमान के तौर पर, एक टोकन लगभग चार अक्षरों या किसी शब्द के लगभग तीन-चौथाई के बराबर होता है। यह केवल एक मार्गदर्शक है। संख्याएँ, कोड, गैर-अंग्रेज़ी पाठ और असामान्य वर्तनी इस अनुपात को काफ़ी बदल सकते हैं।
हल किया गया उदाहरण
यह उदाहरण वाक्य लें:
"टोकनीकरण पाठ को टुकड़ों में विभाजित करता है।"
cl100k_base एन्कोडिंग के तहत, tiktoken इसे 7 टोकनों में विभाजित करता है:
Token, ization, splits, text, into, pieces, .
ध्यान दें कि "Tokenization" स्वयं दो टोकनों, "Token" और "ization", में विभाजित होता है, जबकि बाकी सभी शब्द पूरे रहते हैं। अंतिम पूर्णविराम स्वयं एक टोकन है। इसी कारण 37 अक्षरों वाला वाक्य 5 शब्दों के साथ 7 टोकन बनाता है, 6 टोकन नहीं।
टोकन संख्या क्यों महत्वपूर्ण है
AI प्रदाता API के उपयोग का शुल्क प्रति टोकन लेते हैं और भेजे गए पाठ तथा उसके उत्तर में बनाए गए पाठ, दोनों को गिनते हैं। इसलिए टोकन संख्या अनुरोध भेजे जाने से पहले लागत का अनुमान देती है। प्रत्येक मॉडल की संदर्भ लंबाई की एक अधिकतम सीमा भी होती है, यानी एक अनुरोध और उसके उत्तर में कुल कितने टोकन हो सकते हैं, इसकी सीमा। यह सीमा मॉडल के अनुसार अलग होती है और प्रदाताओं द्वारा नए संस्करण जारी करने पर बदलती रहती है, इसलिए इसे स्मृति के आधार पर मान लेने के बजाय उपयोग किए जा रहे मॉडल के वर्तमान दस्तावेज़ में जाँच लेना बेहतर है।
अक्सर पूछे जाने वाले प्रश्न
AI भाषा मॉडल में टोकन क्या होता है? टोकन पाठ का वह खंड है जिसे भाषा मॉडल एक इकाई के रूप में पढ़ता है। यह कोई छोटा पूरा शब्द, लंबे शब्द का भाग, विराम चिह्न या अगले शब्द से जुड़ा रिक्त स्थान हो सकता है।
अलग-अलग एन्कोडिंग एक ही पाठ के लिए अलग टोकन संख्या क्यों देती हैं? प्रत्येक एन्कोडिंग को अपने अलग पाठ-नमूने पर प्रशिक्षित किया गया है और उसने सामान्य खंडों की अपनी शब्दावली बनाई है। जो शब्द एक शब्दावली में इतना सामान्य हो सकता है कि एक ही टोकन बने, वह दूसरी में न हो और इसलिए अलग तरीके से विभाजित हो जाए।
क्या विराम-चिह्नों को टोकन के रूप में गिना जाता है? हाँ। विराम चिह्न सामान्यतः अपने अलग टोकन के रूप में गिने जाते हैं, हालांकि कभी-कभी उन्हें उनके पास के अक्षर के साथ मिला दिया जाता है। यह इस बात पर निर्भर करता है कि टोकेनाइज़र के प्रशिक्षण के दौरान वह संयोजन कितनी बार आया था।
क्या टोकन और शब्द एक ही चीज़ हैं? नहीं। छोटे, सामान्य शब्द आम तौर पर एक-एक टोकन होते हैं। लंबे या कम सामान्य शब्द और अंग्रेज़ी के अलावा अन्य भाषाओं के अधिकांश शब्द अक्सर दो या अधिक टोकनों में विभाजित हो जाते हैं।
यह टूल कितना सटीक है? यह OpenAI की अपनी tiktoken लाइब्रेरी का उपयोग करके टोकन गिनता है और वही एन्कोडिंग तर्क चलाता है जिसका OpenAI आंतरिक रूप से उपयोग करता है। इसलिए समान पाठ और एन्कोडिंग के लिए इसकी गणना OpenAI API कॉल द्वारा दी जाने वाली गणना से मेल खाती है।
क्या यह टूल गैर-OpenAI मॉडल के टोकन गिन सकता है? यह tiktoken की एन्कोडिंग का उपयोग करता है, जो OpenAI के मॉडल के लिए बनाई गई हैं। Anthropic या Google जैसे अन्य प्रदाता अपने टोकेनाइज़र का उपयोग करते हैं, जो उसी पाठ के लिए अलग गणना दे सकते हैं।
संदर्भ
- OpenAI. "tiktoken." GitHub, https://github.com/openai/tiktoken.
- Sennrich, Rico, et al. "Neural Machine Translation of Rare Words with Subword Units." arXiv:1508.07909, 2016, http://arxiv.org/abs/1508.07909.
- Brown, Tom B., et al. "Language Models are Few-Shot Learners." arXiv:2005.14165, 2020, http://arxiv.org/abs/2005.14165.