शब्दावली बनाना: tokenizer एल्गोरिथ्म (आमतौर पर BPE) व्यक्तिगत बाइट्स या अक्षरों से शुरू होता है और पुनरावर्ती रूप से सबसे लगातार जोड़ों को मर्ज करता है। 32K–128K मर्ज के बाद, आपके पास एक शब्दावली होती है जहाँ सामान्य शब्द एकल टोकन हैं ("the," "and," "function") और दुर्लभ शब्द उपशब्द टुकड़ों में विभाजित होते हैं ("un" + "common," "pre" + "process" + "ing")। विशेष टोकन जैसे <BOS> (अनुक्रम की शुरुआत), <EOS> (अंत), और <PAD> (पैडिंग) स्पष्ट रूप से जोड़े जाते हैं।
बड़ी शब्दावली टेक्स्ट को बेहतर संकुचित करती है (प्रति वाक्य कम टोकन = सस्ता, संदर्भ में अधिक फिट) लेकिन मॉडल की embedding टेबल का आकार बढ़ाती है। 4096-आयामी embeddings के साथ 128K शब्दावली सिर्फ़ token टेबल के लिए ~500M पैरामीटर जोड़ती है। 7B मॉडल के लिए, यह कुल पैरामीटरों का 7% है जो सिर्फ़ टोकन को vectors में मैप करने में खर्च होता है। 1B मॉडल के लिए, यह 50% होगा। इसीलिए छोटे मॉडल आमतौर पर छोटी शब्दावली का उपयोग करते हैं।
शब्दावली की भाषा कवरेज उसके प्रशिक्षण कॉर्पस पर निर्भर करती है। Llama के शुरुआती tokenizer को मुख्य रूप से अंग्रेज़ी पर प्रशिक्षित किया गया था और चीनी अक्षरों को 3–4 टोकन प्रत्येक के रूप में प्रदर्शित करता था, जिससे चीनी inference अंग्रेज़ी की तुलना में 3–4x अधिक महंगा हो जाता था। Llama 3 के tokenizer को अधिक संतुलित बहुभाषी डेटा पर प्रशिक्षित किया गया, जिससे गैर-अंग्रेज़ी दक्षता में नाटकीय सुधार हुआ। यह एक हल करने योग्य समस्या है, लेकिन इसके लिए जानबूझकर प्रयास की आवश्यकता है — डिफ़ॉल्ट अंग्रेज़ी-प्रधान है।