टोकनाइज़ेशन वह प्रक्रिया है जिसमें पाठ को टोकन नामक अलग-अलग इकाइयों में विभाजित किया जाता है, जो मूल शब्दावली के रूप में कार्य करती है जिसे एक बड़ा-भाषा-मॉडल इनपुट के रूप में पढ़ता है और आउटपुट के रूप में उत्पन्न करता है। टोकन आमतौर पर पूरे शब्दों या व्यक्तिगत वर्णों के बजाय उपशब्द (subword) टुकड़े होते हैं, यह एक डिज़ाइन विकल्प है जो शब्दावली के आकार और अनुक्रम की लंबाई के बीच संतुलन बनाता है।
शब्दों या वर्णों की बजाय क्यों
पाठ को पूरे शब्दों में विभाजित करने के लिए एक शब्दावली की आवश्यकता होगी जो किसी मॉडल द्वारा समर्थित हर भाषा में हर शब्द रूप को कवर करने के लिए पर्याप्त बड़ी हो, जिसमें दुर्लभ शब्द, गलत वर्तनी और नाम शामिल हैं, फिर भी जब भी कोई वास्तव में नया शब्द आता है तो यह विफल हो जाता है। पाठ को व्यक्तिगत वर्णों में विभाजित करने से वह शब्दावली समस्या तो टल जाती है, लेकिन मॉडल को संसाधित करने के लिए बहुत लंबे अनुक्रम उत्पन्न होते हैं, जो महंगा है क्योंकि ट्रांसफॉर्मर ध्यान-तंत्र अनुक्रम की लंबाई के साथ खराब पैमाने पर काम करते हैं। उपशब्द टोकनाइज़ेशन एक समझौता है: सामान्य शब्दों को आमतौर पर एक ही टोकन के रूप में दर्शाया जाता है, जबकि दुर्लभ शब्दों को छोटे, पुन: प्रयोज्य टुकड़ों में तोड़ा जाता है, और यहां तक कि पूरी तरह से अनदेखे वर्ण संयोजनों को भी ज्ञात उपशब्द इकाइयों के अनुक्रम के रूप में दर्शाया जा सकता है।
विधियाँ
सबसे व्यापक रूप से उपयोग की जाने वाली उपशब्द टोकनाइज़ेशन विधि बाइट-पेयर एन्कोडिंग है, जिसे 1994 के डेटा संपीड़न एल्गोरिदम से भाषा मॉडल के लिए अनुकूलित किया गया है और यह प्रशिक्षण के दौरान नहीं देखे गए शब्दों को संभालने के लिए पहले की सांख्यिकीय प्राकृतिक-भाषा-प्रसंस्करण तकनीकों पर आधारित है। यह व्यक्तिगत वर्णों या बाइट्स से शुरू होता है और सबसे अधिक बार सह-घटित होने वाले जोड़ों को बार-बार नए टोकन में मर्ज करता है, जिससे एक बड़े प्रशिक्षण कोष में देखी गई सबसे उपयोगी उपशब्द इकाइयों की एक निश्चित आकार की शब्दावली बनती है। SentencePiece और WordPiece जैसे वेरिएंट समान मर्जिंग तर्क का पालन करते हैं, लेकिन अलग-अलग प्रीप्रोसेसिंग और व्हाइटस्पेस के संभालने के साथ। परिणामी शब्दावली, आमतौर पर दसियों हज़ार टोकन, एक बार मॉडल प्रशिक्षित होने के बाद निश्चित होती है और पुनः प्रशिक्षण के बिना इसे बदला नहीं जा सकता।
टोकन से संख्याओं तक
एक बार पाठ को टोकन में विभाजित करने के बाद, प्रत्येक टोकन को एक पूर्णांक सूचकांक और फिर एक सीखे गए वेक्टर प्रतिनिधित्व में मैप किया जाता है जिसे एम्बेडिंग कहा जाता है, जो वास्तव में तंत्रिका नेटवर्क द्वारा संसाधित किया जाता है। जीपीटी-2 और जीपीटी-3 दोनों ने बाइट-स्तरीय बाइट-पेयर एन्कोडिंग टोकनाइज़र का उपयोग किया, और अधिकांश बाद के बड़े भाषा मॉडल ने समान दृष्टिकोण अपनाए हैं, कभी-कभी गैर-अंग्रेज़ी भाषाओं और कोड को बेहतर ढंग से दर्शाने के लिए विस्तारित शब्दावली के साथ।
व्यावहारिक निहितार्थ
टोकनाइज़ेशन के कई परिणाम हैं जो भाषा मॉडल के उपयोगकर्ताओं को बिना किसी तकनीकी पृष्ठभूमि के भी दिखाई देते हैं। एक मॉडल का संदर्भ-विंडो, पाठ की अधिकतम मात्रा जिसे वह एक बार में संसाधित कर सकता है, शब्दों या वर्णों के बजाय टोकन में मापी जाती है, और वाणिज्यिक एपीआई आमतौर पर प्रति टोकन शुल्क लेते हैं, जिससे टोकनाइज़ेशन सीधे लागत से संबंधित हो जाता है। मुख्य रूप से अंग्रेज़ी पाठ पर प्रशिक्षित टोकनाइज़ेशन योजनाएं गैर-अंग्रेज़ी पाठ, विशेष रूप से विभिन्न लिपियों वाली भाषाओं को, अंग्रेज़ी की तुलना में प्रति शब्द अधिक टोकन में विभाजित करती हैं, जो मॉडल का उपयोग करने को अधिक महंगा बना सकती हैं और उन भाषाओं के बोलने वालों के लिए उपयोगी संदर्भ विंडो को प्रभावी ढंग से छोटा कर सकती हैं। टोकनाइज़ेशन उन कार्यों पर आश्चर्यजनक व्यवहार भी उत्पन्न कर सकता है जिनके लिए व्यक्तिगत वर्णों के बारे में तर्क करने की आवश्यकता होती है, जैसे कि किसी शब्द के भीतर अक्षरों की गिनती करना, क्योंकि एक मॉडल शायद कभी भी शब्द को उसके घटक वर्णों में टूटा हुआ नहीं देखता है।