К тренажеру
ВопросMediumnlp-ragРеальный собес

Как работает токенизатор и зачем его обучать

Интервьюер просит рассказать про токенизатор: какие бывают алгоритмы, как он работает и нужно ли его обучать под домен или язык?

Короткий ответ

Токенизатор переводит текст в последовательность token ids. Частые алгоритмы: BPE, WordPiece, Unigram/SentencePiece. Его обучают, когда нужен лучший coverage и меньше токенов на конкретном языке или домене.

Полный разбор

Токенизатор разбивает текст на единицы, с которыми работает модель. Символьная токенизация слишком длинная, словарная плохо работает с редкими словами, поэтому современные LLM обычно используют subword tokenization.

BPE начинает с маленьких единиц и итеративно объединяет частые пары. WordPiece похож по идее, но выбирает merges через likelihood. Unigram/SentencePiece строит вероятностный словарь subword units и умеет работать без предварительного разделения на слова.

Обучать свой токенизатор имеет смысл, если готовый плохо покрывает язык, домен или формат данных. Например, для русского текста или специфических документов плохой токенизатор может давать слишком много токенов, повышать стоимость и ухудшать context efficiency. Но новый токенизатор усложняет совместимость с pretrained моделью.

Теория

Токенизация влияет на длину контекста, стоимость inference, качество на редких словах и domain-specific терминах. Это базовая часть LLM stack, а не только preprocessing.

Типичные ошибки

  • Сказать только "токенизатор делит на слова".
  • Не объяснить subword идею.
  • Забыть про trade-off собственного токенизатора и pretrained модели.

Как отвечать на собеседовании

  • Назови 2-3 алгоритма: BPE, WordPiece, SentencePiece/Unigram.
  • Свяжи обучение токенизатора с языком, доменом и количеством токенов.