टोकनायझेशनचे अंतर्गत कार्य
तुम्ही एक चॅटबॉट तैनात करता. इंग्रजी क्वेरीजसाठी ४२ टोकन्स वापरले जातात. स्पॅनिश वापरकर्ता एक क्वेरी पाठवतो आणि त्यासाठी १०३ टोकन्स वापरले जातात. अचानक, तुमचा API खर्च ४०% ने वाढतो.
जेव्हा तुम्ही टोकनायझेशनकडे एक अदृश्य प्लंबिंग (plumbing) म्हणून पाहता, तेव्हा असे घडते. प्रत्येक लार्ज लँग्वेज मॉडेल चार सबवर्ड अल्गोरिदमपैकी एक वापरते. तुमची निवड शब्दसंग्रहाचा आकार (vocabulary size), भाषेची कार्यक्षमता आणि तुमचा मासिक खर्च ठरवते.
टोकनायझेशन तीन महत्त्वाच्या गोष्टींवर नियंत्रण ठेवते:
- इन्फरन्स खर्च (Inference cost). LLM APIs टोकननुसार शुल्क आकारतात. लहान शब्दसंग्रह एका शब्दाचे ८ टोकन्समध्ये विभाजन करू शकतो. मोठा शब्दसंग्रह ते ३ टोकन्समध्ये हाताळू शकतो. मोठ्या प्रमाणावर (at scale) काम करताना या फरकामुळे प्रत्यक्ष पैशांचे नुकसान होते.
- शब्दसंग्रह व्याप्ती (Vocabulary coverage). कमकुवत शब्दसंग्रहामुळे लांब सिक्वेन्स तयार होतात. यामुळे मजकूर तयार करण्याचा वेग मंदावतो आणि खर्च वाढतो.
- मॉडेलचे वर्तन (Model behavior). जर टोकनायझर "cowboy" चे ["cow", "boy"] मध्ये विभाजन करत असेल, तर मॉडेल ["c", "owb", "oy"] मध्ये विभाजन केल्यापेक्षा वेगळ्या प्रकारे शिकते.
चार मुख्य प्रकार खालीलप्रमाणे कार्य करतात:
BPE (Byte Pair Encoding)
- कार्यपद्धती: याची सुरुवात अक्षरांपासून होते. हे वारंवार येणाऱ्या शेजारील जोड्या मोजते आणि त्यांना नवीन टोकन्समध्ये विलीन करते. लक्ष्यित आकार मिळेपर्यंत ही प्रक्रिया पुन्हा पुन्हा केली जाते.
- फायदे: वेगवान आणि डिटरमिनिस्टिक (deterministic).
- वापरकर्ते: GPT-4o, Llama 3, Mistral.
WordPiece
- कार्यपद्धती: BPE सारखेच, परंतु हे केवळ वारंवारतेऐवजी (frequency) संभाव्यता (likelihood) वापरते. हे ट्रेनिंग डेटाची संभाव्यता जास्तीत जास्त वाढवणारे विलीनीकरण निवडते.
- फायदे: अधिक भाषिकदृष्ट्या अर्थपूर्ण टोकन्स तयार करते.
- वापरकर्ते: BERT, Google मॉडेल्स.
SentencePiece
- कार्यपद्धती: हे इनपुटला रॉ युनिकोड बाइट्स (raw Unicode bytes) म्हणून treat करते. यासाठी स्पेसच्या आधारे विभाजन करण्यासारख्या प्री-टोकनायझेशन स्टेपची गरज नसते.
- फायदे: बहुभाषिक समर्थनासाठी सर्वोत्तम कारण ते भाषा-तटस्थ (language-agnostic) आहे.
- वापरकर्ते: Llama 2, Llama 3, Gemma.
Unigram
- कार्यपद्धती: याची सुरुवात एका प्रचंड मोठ्या शब्दसंग्रहाने होते आणि संभाव्यता मॉडेलचा (probabilistic model) वापर करून तो कमी केला जातो. हे सर्वोत्तम सेगमेंटेशन मार्ग निवडते.
- फायदे: टोकन-टू-मीनिंग मॅपिंग अधिक सुसंगत असते.
- वापरकर्ते: T5, XLNet.
डेव्हलपर्ससाठी महत्त्वाचे मुद्दे:
- तुमच्या भाषेच्या मिश्रणावर लक्ष द्या. स्पेसवर अवलंबून असणारी BPE मॉडेल्स जपानी किंवा हिंदी सारख्या भाषांसोबत संघर्ष करतात. जागतिक उत्पादनांसाठी SentencePiece वापरा.
- तुमचे व्हर्जन फिक्स करा (Pin your versions). cl100k_base वरून o200k_base वर जाणे तुमच्या टोकन काउंटमध्ये बदल घडवते. मूल्यमापनात (evaluations) तुम्ही कोणते एन्कोडिंग वापरत आहात याचा नेहमी मागोवा घ्या.
- अचूक बेंचमार्किंग करा. वेगवेगळ्या मॉडेल फॅमिलीमधील टोकन काउंटची तुलना करू नका. अचूक राहण्यासाठी नेहमी कॅरेक्टर किंवा बाइट काउंट वापरून बेंचमार्क करा.
ही साधने समजून घेतल्यामुळे आर्थिक विभागाला आश्चर्याचा धक्का बसण्याऐवजी, तुम्ही किफायतशीर उत्पादने लाँच करू शकता.
ऐच्छिक शिक्षण समुदाय: https://t.me/GyaanSetuAi