English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

guest
1 / ?
back to lessons

शब्दों से संख्याएँ

सीमा पर एक अनुवादक

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


तीन कार्य:


1. विभाजन करें। एक स्ट्रिंग को टुकड़ों (टोकन्स) में काटें।

2. मानचित्रण करें। प्रत्येक टुकड़े को एक निश्चित शब्दकोश से अद्वितीय पूर्णांक ID सौंपें।

3. उलटा करें। उत्पन्न करने के समय IDs से पाठ को पुनर्निर्माण करें।


क्यों टुकड़े, पूरे शब्द नहीं

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


सबवर्ड टोकनाइज़ेशन इसे ठीक करता है। सामान्य टुकड़ों का एक शब्दकोश किसी भी शब्द को रचता है, जिसमें प्रशिक्षण के दौरान कभी न देखे गए शब्द भी शामिल हैं। दो रणनीतियाँ प्रमुख हैं: BPE (byte pair encoding) & distributional segmentation। ANDREA दूसरी रणनीति चुनता है।


Harris vs BPE

क्यों सबवर्ड

एक पूर्ण-शब्द टोकनाइज़र दुर्लभ शब्द `proporian` पर विफल हो जाता है (एक शब्द जो ANDREA-12M ने चरण 43,100 पर उत्पन्न किया था)। दो भिन्न समस्याओं का नाम बताइए जो एक सबवर्ड टोकनाइज़र (BPE या Harris) टाल लेता है लेकिन पूर्ण-शब्द टोकनाइज़र नहीं कर पाता।

शब्द कहाँ टूटता है

ज़ेलिग हैरिस, 1955

एक भाषाविद् ज़ेलिग हैरिस ने कुछ नोटिस किया। एक शब्द के अंदर, किसी दिए गए अक्षर अनुक्रम के बाद आने वाले विशिष्ट अक्षरों की संख्या में तीव्र परिवर्तन होता है। un के बाद दर्जनों अक्षर मिल सकते हैं: a, b, c, d, e ... unbel के बाद केवल एक छोटा सा समूह आता है: i (फिर ievable)।


उत्तराधिकारी विविधता में वृद्धि एक संभावित प्रत्यय सीमा को चिह्नित करती है। un (एक उपसर्ग) के बाद, विविधता बढ़ जाती है क्योंकि कई मूल शब्द उसके बाद आ सकते हैं। एक मूल शब्द जैसे believ के अंदर, विविधता कम रहती है क्योंकि अक्षर एक-दूसरे की भविष्यवाणी करते हैं। प्रत्ययों के बीच संक्रमण पर, विविधता फिर से बढ़ जाती है।


विविधता वृद्धि से खंडों तक

उस डिटेक्टर को ट्रेनिंग कॉर्पस पर चलाएं। हर शब्द सांख्यिकीय साक्ष्य दान करता है। एक टोकनाइज़र उच्च-आवृत्ति वाले खंडों को इकट्ठा करता है जो मॉर्फीम-आकार की सीमाओं पर बार-बार आते हैं: un, re, pre, believ, know, ing, able, ly, tion, ed


कोई लेबल नहीं। कोई भाषाविद् मॉर्फीम को हाथ से टैग नहीं करता। अक्षर सह-अवधारणा का एक सांख्यिकी कार्य करता है।


हैरिस बनाम BPE


गुणHarrisBPE
सीमा मानदंडउत्तराधिकारी विविधता स्पाइकजोड़ी आवृत्ति
भाषाई आकारप्रत्यय-संरेखित (उपसर्ग, मूल, प्रत्यय)सामान्य बाइट जोड़ियाँ
उदाहरण: unbelievablyun + believ + abl + yunb + eli + eva + bly
सामान्यीकरणमजबूत (मूल + प्रत्यय पुनर्संयोजित होता है)कमजोर (जोड़ियों को संरेखित होने की आवश्यकता नहीं)

दोनों उपशब्द टुकड़े उत्पन्न करते हैं। हैरिस टुकड़े आमतौर पर एक भाषाविद् द्वारा प्रत्यय कहे जाने वाले के साथ संरेखित होते हैं: सबसे छोटी अर्थपूर्ण इकाई। BPE टुकड़े संपीड़न को अनुकूलित करते हैं: सबसे सामान्य बाइट जोड़ी को विलय किया जाता है, अर्थ की परवाह किए बिना।

शब्द का विभाजन करें

`replayed` शब्द पर हैरिस-शैली तर्क लागू करें। तीन प्रत्यय विभाजन प्रस्तावित करें & प्रत्येक को एक वाक्यांश में औचित्य दें (यह क्या भूमिका निभाता है: उपसर्ग, मूल, या प्रत्यय)।

तीन Vocab Slabs

एक ANDREA Vocabulary की Anatomy

Harris tokenization एक vocabulary उत्पन्न करता है जिसमें तीन slabs होते हैं:


स्लैब 1: 256 बेस बाइट्स. हर संभव UTF-8 बाइट (0x00 से 0xFF तक) को अपना टोकन ID मिलता है। एक सुरक्षा जाल: कोई भी चरित्र जो कॉर्पस में हो, टोकनाइज़र उसे बाइट्स की एक श्रृंखला के रूप में दर्शा सकता है। कभी <UNK> फायर नहीं होता।


स्लैब 2: N मॉर्फीम सेगमेंट्स. वितरणीय विश्लेषण के माध्यम से खोजे गए सामान्य टुकड़े। ANDREA-12M में प्रशिक्षित N = 4096; ANDREA-120M में प्रशिक्षित N = 8192। प्रत्येक सेगमेंट एक बार-बार आने वाले मल्टी-बाइट स्ट्रिंग को एकल टोकन में संपीड़ित करता है।


स्लैब 3: 1 BOS टोकन. हर ट्रेनिंग सीक्वेंस की शुरुआत में रखा गया एक विशेष मार्कर। मॉडल को 'इस स्थिति का कोई अतीत नहीं है' सीखने देता है। ANDREA-12M और ANDREA-120M दोनों BOS के लिए ठीक एक ID आरक्षित करते हैं।


शब्दकोश आकार


मॉडलआधार बाइट्समॉर्फीम खंड (N)BOSशब्दकोश आकार
ANDREA-12M256409614353
ANDREA-120M256819218449

256 + N + 1 = शब्दकोश आकार। सरल। पुनरुत्पाद्य। खुला।


बाइट स्लैब क्यों महत्वपूर्ण है

एक बाइट फॉलबैक कवरेज की गारंटी देता है। यदि कोई मॉडल 日本語 को एन्काउंटर करता है & टोकनाइज़र के पास जापानी मॉर्फीम्स नहीं हैं, तो व्यक्तिगत UTF-8 बाइट्स एक सीक्वेंस को आगे ले जाते हैं। एक मॉडल बाइट्स पर ट्रेन होता है; दुर्लभ स्क्रिप्ट्स पर क्वालिटी क्षमता & एक्सपोज़र पर निर्भर करती है, लेकिन कोई इनपुट कभी टोकनाइज़र को क्रैश नहीं करता।

एक वोकैबुलरी की गणना करें

ANDREA-480M (एक परिवार में तीसरा मॉडल, भविष्य की गतिविधि 24 इसे कवर करेगी) एक बड़े कॉर्पस पर N = 16,384 सेगमेंट्स के साथ एक Harris टोकनाइज़र को ट्रेन करने की योजना बना रहा है। इसकी वोकैबुलरी साइज़ की गणना करें। एक फॉर्मूला दिखाएँ। फिर एक वाक्य में समझाएँ कि एक बाइट स्लैब 256 पर क्यों रहता है भले ही N बढ़े।

सीक्वेंस की शुरुआत

एक अनुक्रम को मार्कर की आवश्यकता क्यों होती है

एक डिकोडर-ओनली ट्रांसफॉर्मर पूर्व संदर्भ से अगला टोकन भविष्यवाणी करता है। स्थिति 0 में कोई पूर्व संदर्भ नहीं होता। बिना मार्कर के, स्थिति 0 एक तार्किक छेद में बैठी रहती है: मॉडल के पास ध्यान देने के लिए कुछ नहीं होता।


BOS एक छेद को हल करता है। एक एकल विशेष टोकन (ID = 256 + N) प्रशिक्षण के दौरान हर अनुक्रम की शुरुआत में बैठता है। मॉडल सीखता है:


- 'जब आप BOS देखें, तो प्राकृतिक पाठ का एक संभावित पहला टोकन भविष्यवाणी करें।'

- 'जब आप BOS के बाद एक शब्द देखें, तो वह शब्द अनुक्रम की शुरुआत है, न कि निरंतरता।'


एक टोकन, कई उपयोग


BOS निम्नलिखित स्थानों पर दिखाई देता है:


- प्रशिक्षण समय: मॉडल में डाले गए हर टेक्स्ट चंक के पहले जोड़ा जाता है।

- अनुमान समय: प्रॉम्प्ट के पहले जोड़ा जाता है ताकि मॉडल को एक परिचित 'नई शुरुआत' संकेत दिखे।

- सीमा चिह्नन: कुछ पाइपलाइनों में, संयोजित दस्तावेजों के बीच एक विभाजक।


ANDREA BOS के लिए ठीक एक ID आरक्षित करता है। कोई EOS नहीं, कोई PAD नहीं, कोई विशेष टोकन नहीं जो शब्दकोश को चाहिए उससे अधिक। सादगी एक स्थायी कंप्यूटर मूल्य बनी रहती है: हर टोकन अपनी जगह कमाता है।


गतिविधि 3 जारी

गतिविधि 3 (grow_a_language_model_tokenizer_diet) कवर करती है कि जब N बहुत बड़ा हो या टोकनाइजर कॉर्पस ट्रेनिंग कॉर्पस से भिन्न हो तो क्या होता है। ANDREA-12M ने अपना 63.6% शब्दकोश बर्बाद किया; ANDREA-120M ने इसे ठीक किया। आगे पढ़ें।

BOS-केवल व्यापारिकoffs

ANDREA के एक डिज़ाइन विकल्प पर चिंतन करें: केवल एक विशेष टोकन (BOS), कोई EOS नहीं, कोई PAD नहीं। नाम दें कि यह एक व्यापारिकoff पैदा करता है। व्यापारिकoff एक लाभ हो सकता है (सरल इंजन, कम बर्बाद स्लॉट्स) या एक बाधा (कुछ ट्रेनिंग ट्रिक्स को अतिरिक्त टोकन चाहिए)। एक वाक्य पर्याप्त है।