Tokenization (NLP) (HI)
टोकनीकरण (Tokenization) बड़े भाषा मॉडलों (LLM) के संदर्भ में एक मूलभूत पूर्व-प्रसंस्करण प्रक्रिया है, जिसमें पाठ की एक अनुक्रमिक श्रृंखला को छोटी, प्रबंधनीय इकाइयों में विभाजित किया जाता है, जिन्हें टोकन कहा जाता है। इन टोकनों को फिर संख्यात्मक पहचानकर्ताओं में परिवर्तित किया जाता है, जिन्हें मॉडल संसाधित कर सकता है। टोकनीकरण एक अत्यंत महत्वपूर्ण प्रथम चरण है, क्योंकि यह मॉडल के प्रदर्शन, दक्षता, निष्पक्षता और भाषा-बोध की गुणवत्ता को प्रत्यक्ष रूप से प्रभावित करता है।
मूल अवधारणाएँ
टोकन
टोकन पाठ की एक विवेकशील इकाई है जिसे भाषा मॉडल संसाधित करता है। चुनी गई टोकनीकरण विधि के आधार पर, एक टोकन निम्नलिखित में से कुछ भी हो सकता है:
- पूरा शब्द (उदाहरण के लिए, «बिल्ली»)।
- शब्द का कोई भाग या उपशब्द (subword) (उदाहरण के लिए, «अन-», «-देख-», «-ा»)।
- एक अलग वर्ण (उदाहरण के लिए, «अ», «ब», «क»)।
- एक बाइट (byte-level टोकनीकरण के मामले में)।
प्रत्येक अद्वितीय टोकन को टोकनाइज़र के शब्दकोश से एक विशिष्ट अनुक्रमांक (index number) दिया जाता है।
टोकनाइज़र शब्दकोश
शब्दकोश (या vocabulary) सभी संभावित टोकनों का पूर्ण संग्रह है जिन्हें मॉडल पहचान सकता है। शब्दकोश का आकार एक महत्वपूर्ण hyperparameter है:
- बड़ा शब्दकोश अधिक शब्दों को पूर्ण रूप में प्रस्तुत करने की अनुमति देता है, जिससे समझ बेहतर होती है और अनुक्रमों की लंबाई कम होती है, किंतु इससे मॉडल का आकार और प्रशिक्षण की जटिलता बढ़ जाती है।
- छोटा शब्दकोश अधिक संक्षिप्त होता है, परंतु दुर्लभ या जटिल शब्दों को अधिक उपशब्दों में विभाजित करना पड़ता है, जिससे अनुक्रम लंबे हो सकते हैं और अर्थग्रहण कठिन हो सकता है।
शब्दकोश का आकार मॉडलों के बीच काफी भिन्न होता है: GPT-2 में ~50,000 टोकन से लेकर आधुनिक मॉडलों जैसे GPT-4 (100,277) और LLaMA-3 (128,000) में 100,000 से अधिक टोकन तक।
टोकनीकरण की मुख्य विधियाँ
टोकनीकरण की दानेदारता (granularity) के तीन मूल स्तर होते हैं।
1. शब्द-स्तरीय टोकनीकरण (Word-level)
- सिद्धांत: पाठ को विभाजकों (रिक्त स्थान, विराम चिह्न) के आधार पर अलग-अलग शब्दों में विभाजित किया जाता है।
- लाभ: सहज रूप से बोधगम्य; टोकन अनुक्रम छोटे होते हैं, जिससे गणनात्मक भार कम होता है।
- हानियाँ:
- अज्ञात शब्दों की समस्या (Out-of-Vocabulary, OOV): मॉडल उन शब्दों को संसाधित नहीं कर सकता जो प्रशिक्षण शब्दकोश में नहीं थे, साथ ही वर्तनी त्रुटियाँ और नए शब्द भी।
- बड़ा शब्दकोश आकार: सभी अद्वितीय शब्दों को संग्रहीत करना आवश्यक होता है, जो विशेष रूप से समृद्ध आकारविज्ञान वाली भाषाओं के लिए समस्याजनक है।
2. वर्ण-स्तरीय टोकनीकरण (Character-level)
- सिद्धांत: पाठ को अलग-अलग वर्णों में विभाजित किया जाता है।
- लाभ:
- OOV की कोई समस्या नहीं: किसी भी शब्द को वर्णों की अनुक्रमिक श्रृंखला के रूप में प्रस्तुत किया जा सकता है।
- छोटा शब्दकोश: वर्णमाला और विशेष प्रतीकों के आकार तक सीमित।
- हानियाँ:
- लंबे अनुक्रम: पाठ बहुत लंबे टोकन अनुक्रमों में बदल जाता है, जिससे गणनात्मक लागत काफी बढ़ जाती है।
- अर्थ की हानि: मॉडल के लिए अर्थ को समझना कठिन होता है, क्योंकि वह पूरे शब्दों के बजाय अलग-अलग वर्णों पर काम करता है।
3. उपशब्द टोकनीकरण (Subword Tokenization)
यह एक मध्यवर्ती और आज का सबसे लोकप्रिय दृष्टिकोण है, जो पिछली विधियों के लाभों को संयुक्त करता है।
- सिद्धांत: अधिक प्रयुक्त होने वाले शब्द पूर्ण टोकन के रूप में बने रहते हैं, जबकि दुर्लभ या अज्ञात शब्दों को छोटे, सार्थक भागों (उपशब्दों) में विभाजित किया जाता है।
- लाभ:
- OOV-शब्दों और आकारविज्ञान संबंधी विविधताओं को प्रभावी ढंग से संसाधित करता है।
- शब्दकोश का आकार नियंत्रित रहता है।
- शब्दों की आकारविज्ञान संरचना को पकड़ता है।
- मुख्य एल्गोरिदम:
- Byte Pair Encoding (BPE): एक पुनरावृत्त एल्गोरिदम जो वर्णों के समूह से शुरू होता है और सबसे अधिक बार आने वाली जोड़ियों को क्रमिक रूप से नए टोकनों में विलीन करता है। GPT मॉडलों में उपयोग किया जाता है। GPT-2 और RoBERTa में उपयोग किया जाने वाला Byte-level BPE शब्दों को बाइट अनुक्रमों के रूप में मानता है, जो OOV की समस्या को पूरी तरह हल करता है।
- WordPiece: BPE के समान एल्गोरिदम, किंतु जोड़ियों के विलय के लिए वह उन्हें चुनता है जो प्रशिक्षण डेटा की संभावना को अधिकतम करती हैं। BERT मॉडलों में उपयोग किया जाता है।
- Unigram LM: BPE/WordPiece के विपरीत, यह विधि उपशब्दों के एक बड़े समूह से शुरू होती है और धीरे-धीरे उन टोकनों को हटाकर इसे कम करती है जो कॉर्पस की समग्र संभावना को सबसे कम प्रभावित करते हैं। यह एक शब्द के लिए कई संभावित टोकनीकरण बनाने की अनुमति देता है (उपशब्द नियमितीकरण)।
- SentencePiece टूलकिट: Google की एक लाइब्रेरी जो BPE और Unigram LM को लागू करती है और पाठ को वर्णों की एक सतत धारा के रूप में संसाधित करती है, जो इसे स्पष्ट शब्द विभाजकों के बिना भाषाओं (जैसे, चीनी) के लिए सार्वभौमिक बनाती है। LLaMA और T5 मॉडलों में उपयोग किया जाता है।
मल्टीमॉडल LLM में टोकनीकरण
मल्टीमॉडल मॉडलों में, जो केवल पाठ के साथ नहीं बल्कि अन्य प्रकार के डेटा के साथ भी काम करते हैं, टोकनीकरण अन्य डेटा प्रकारों तक भी विस्तारित होता है:
- दृश्य टोकनीकरण: छवियों को छोटे पैच (उदाहरण के लिए, 16x16 पिक्सेल) में विभाजित किया जाता है, जिन्हें फिर पाठ टोकनों के समान वेक्टर-टोकनों में परिवर्तित किया जाता है।
- ऑडियो टोकनीकरण: सतत ऑडियो संकेतों को असतत टोकनों की एक अनुक्रमिक श्रृंखला में परिवर्तित किया जाता है, जो ध्वनि के छोटे-छोटे खंडों का प्रतिनिधित्व करते हैं।
- एकीकृत दृष्टिकोण (TEAL): एक अवधारणा जिसमें किसी भी मोडेलिटी के डेटा को पहले संबंधित टोकनाइज़र से टोकनीकृत किया जाता है, और फिर उनके embedding एक एकीकृत साझा स्थान में संसाधित किए जाते हैं।
समस्याएँ और सीमाएँ
टोकनीकरण, अपनी महत्ता के बावजूद, LLM के कार्य में कई समस्याओं का स्रोत है:
- असंगति और संवेदनशीलता: इनपुट डेटा में छोटे-छोटे परिवर्तन (वर्तनी त्रुटि, अक्षर का आकार, अंत में रिक्त स्थान) टोकनीकरण को पूरी तरह बदल सकते हैं, जिससे मॉडल का व्यवहार अप्रत्याशित हो जाता है।
- बहुभाषी समस्याएँ: कई भाषाओं के लिए एकल शब्दकोश अक्सर कम-संसाधन या आकारविज्ञान की दृष्टि से समृद्ध भाषाओं के लिए अक्षम साबित होता है, जिससे टोकन अनुक्रम बहुत लंबे हो जाते हैं।
- तर्क पर प्रभाव: संख्याओं (जैसे, «25,000» को «25», «,», «000» में) या प्रतीकों का अतार्किक विभाजन अंकगणितीय और प्रतीकात्मक कार्यों को कठिन बना देता है।
- ग्लिच-टोकन (Glitch Tokens): प्रशिक्षण डेटा से असामान्य या दुर्लभ टोकन (जैसे, Reddit के उपयोगकर्ता नाम), जो मॉडल का अप्रत्याशित या हानिकारक व्यवहार उत्पन्न कर सकते हैं।
विकसित होता परिदृश्य और भविष्य की दिशाएँ
टोकनीकरण के क्षेत्र में शोध निम्नलिखित दिशाओं में सक्रिय रूप से जारी है:
- टोकनाइज़र-रहित मॉडल: ऐसे मॉडलों (CANINE, ByT5) का विकास जो सीधे बाइट या वर्ण स्तर पर काम करते हैं, ताकि स्पष्ट टोकनीकरण के चरण और उससे जुड़ी समस्याओं को पूरी तरह समाप्त किया जा सके।
- अनुकूली और प्रशिक्षण योग्य टोकनीकरण: ऐसे टोकनाइज़रों का निर्माण जो भाषा, डोमेन या यहाँ तक कि विशिष्ट इनपुट पाठ के अनुसार गतिशील रूप से अनुकूलित हो सकें, या मुख्य मॉडल के साथ संयुक्त रूप से प्रशिक्षित हों।
- संज्ञानात्मक-उन्मुख दृष्टिकोण: मानव भाषा प्रसंस्करण की संज्ञानात्मक विज्ञान से प्रेरित विधियों का विकास (जैसे, «न्यूनतम प्रयास का सिद्धांत»), अधिक अर्थपूर्ण टोकनीकरण बनाने के लिए।
संदर्भ
- Hugging Face के LLM पाठ्यक्रम में टोकनीकरण का अवलोकन
- Mistral AI द्वारा टोकनीकरण दस्तावेज़ीकरण
साहित्य
- Schuster, M.; Nakajima, K. (2012). Japanese and Korean Voice Search. PDF.
- Sennrich, R.; Haddow, B.; Birch, A. (2016). Neural Machine Translation of Rare Words with Subword Units. arXiv:1508.07909.
- Kudo, T.; Richardson, J. (2018). SentencePiece: A Simple and Language-Independent Subword Tokenizer and Detokenizer for Neural Text Processing. arXiv:1808.06226.
- Kudo, T. (2018). Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates. arXiv:1804.10959.
- Song, X. et al. (2021). Fast WordPiece Tokenization. ACL-Anthology.
- Mielke, S. J.; Dalmia, S.; Cotterell, R. (2021). A Brief History of Open-Vocabulary Modeling and Tokenization in NLP. arXiv:2112.10508.
- Xue, J. et al. (2022). ByT5: Towards a Token-Free Future with Pre-trained Byte-to-Byte Models. arXiv:2105.13626.
- Clark, J. H. et al. (2022). CANINE: Pre-Training an Efficient Tokenization-Free Encoder for Language Representation. arXiv:2103.06874.
- Limisiewicz, T.; Balhar, J.; Mareček, D. (2023). Tokenization Impacts Multilingual Language Modeling. arXiv:2305.17179.
- Pourmostafa Roshan Sharami, J.; Shterionov, D.; Spronck, P. (2023). A Systematic Analysis of Vocabulary and BPE Settings for Optimal Fine-Tuning of NMT. arXiv:2303.00722.
- Batsuren, K. et al. (2024). Evaluating Subword Tokenization: Alien Subword Composition and OOV Generalization Challenge. arXiv:2404.13292.
- Chai, Y. et al. (2024). Tokenization Falling Short: On Subword Robustness in Large Language Models. arXiv:2406.11687.