Tokenization (NLP) (BG)

From Systems analysis Wiki
Jump to navigation Jump to search

Токенизация в контекста на големите езикови модели (LLM) е фундаментален процес на предварителна обработка, който се състои в разбиването на текстова последователност на по-малки, управляеми единици, наречени токени. След това тези токени се преобразуват в числови идентификатори, които моделът може да обработва. Токенизацията е критично важна първа стъпка, тъй като пряко влияе върху производителността, ефективността, справедливостта и качеството на езиковото разбиране на модела.

Основни концепции

Токен

Токенът е дискретна единица текст, която езиковият модел обработва. В зависимост от избрания метод на токенизация, токенът може да представлява:

  • Цяла дума (например „котка").
  • Част от дума или подслово (например „пре-", „-пис-", „-ва").
  • Отделен символ (например „а", „б", „в").
  • Байт (в случай на byte-level токенизация).

На всеки уникален токен се присвоява специфичен индексен номер от речника на токенизатора.

Речник на токенизатора

Речникът (или вокабулярът) е пълният набор от всички възможни токени, които моделът може да разпознае. Размерът на речника е важен хиперпараметър:

  • Голям речник позволява повече думи да се представят като цели токени, което подобрява разбирането и намалява дължината на последователностите, но увеличава размера на модела и сложността на обучението.
  • Малък речник е по-компактен, но изисква разбиването на редки или сложни думи на по-голям брой подслова, което може да удължава последователностите и да затруднява улавянето на семантиката.

Размерът на речника варира значително между моделите: от ~50 000 токена в GPT-2 до повече от 100 000 в съвременни модели като GPT-4 (100 277) и LLaMA-3 (128 000).

Основни методи на токенизация

Съществуват три основни нива на гранулярност при токенизацията.

1. Токенизация на ниво думи (Word-level)

  • Принцип: Текстът се разделя на отделни думи въз основа на разделители (интервали, препинателни знаци).
  • Предимства: Интуитивно разбираем; последователностите от токени са по-кратки, което намалява изчислителното натоварване.
  • Недостатъци:
    • Проблемът с непознатите думи (Out-of-Vocabulary, OOV): Моделът не може да обработи думи, които не са присъствали в обучителния речник, както и печатни грешки и нови думи.
    • Голям размер на речника: Необходимо е съхраняването на всички уникални думи, което е особено проблематично за езици с богата морфология.

2. Токенизация на ниво символи (Character-level)

  • Принцип: Текстът се разбива на отделни символи.
  • Предимства:
    • Няма проблем с OOV: Всяка дума може да се представи като последователност от символи.
    • Малък речник: Ограничен до размера на азбуката и специалните символи.
  • Недостатъци:
    • Дълги последователности: Текстът се преобразува в много дълги последователности от токени, което значително увеличава изчислителните разходи.
    • Загуба на семантика: На модела му е по-трудно да улови смисъла, тъй като оперира с отделни символи, а не с цели думи.

3. Подсловна токенизация (Subword Tokenization)

Това е междинен и днес най-популярен подход, който съчетава предимствата на предишните методи.

  • Принцип: Често използваните думи остават като цели токени, а редките или непознатите думи се разбиват на по-малки, значими части (подслова).
  • Предимства:
    • Ефективно обработва OOV-думи и морфологични вариации.
    • Контролируем размер на речника.
    • Улавя морфологичната структура на думите.
  • Основни алгоритми:
    • Byte Pair Encoding (BPE): Итеративен алгоритъм, който започва с набор от символи и последователно обединява най-често срещаните двойки в нови токени. Използва се в моделите GPT. Byte-level BPE, използван в GPT-2 и RoBERTa, разглежда думите като байтови последователности, което напълно решава проблема с 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), работещи директно на ниво байтове или символи, с цел пълното премахване на етапа на явна токенизация и свързаните с него проблеми.
  • Адаптивна и обучаема токенизация: Създаване на токенизатори, които могат динамично да се адаптират към езика, домейна или дори конкретния входен текст, или се обучават съвместно с основния модел.
  • Когнитивно-ориентирани подходи: Разработване на методи, вдъхновени от когнитивната наука за човешката езикова обработка (например „Принципът на най-малкото усилие"), за създаване на по-семантично осмислени токенизации.

Препратки

  • Преглед на токенизацията в курса по LLM от Hugging Face
  • Документация за токенизация от 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.