Назад к подготовке

Почему у BPE-токенизатора почти нет unknown tokens

Почему современные subword tokenizers вроде BPE/SentencePiece редко используют unknown token, и какие trade-off есть у такого подхода?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

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

BPE разбивает редкие слова на более частые subword units, вплоть до символов/байтов, поэтому OOV почти исчезает.

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

Идея BPE: начать с маленьких единиц и постепенно объединять частые пары. Поэтому незнакомое слово не обязано превращаться в unknown: его можно разложить на известные subwords, символы или bytes.

Плюс: модель может обрабатывать редкие слова, имена, новые термины и опечатки. Минус: редкий или странный текст может превращаться в много токенов, что увеличивает context length и inference cost. Еще один trade-off - разные языки и домены могут токенизироваться с разной эффективностью.

В интервью полезно связать токенизацию с latency/cost: чем больше токенов на тот же текст, тем дороже attention и generation.

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

  • Думать, что vocabulary содержит все возможные слова.
  • Не упомянуть byte/character fallback.
  • Забыть про cost от длинной токенизации.

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

  • Скажи: subword decomposition solves OOV.
  • Добавь trade-off про token count.