ENIGMA AI
ENIGMA AI

Что является выходом токенизатора?

встречается 1× Machine Learning middle algorithms

Как ответить

Выход токенизатора — это не просто список чисел, а структура, которая напрямую подаётся в модель. Обычно это словарь (или объект, который легко преобразуется в тензоры), содержащий input_ids — последовательность целочисленных идентификаторов токенов, и, в зависимости от модели, дополнительные поля: attention_mask, token_type_ids и другие.

Рассмотрим на примере BERT (WordPiece). После токенизации фразы «Привет, мир!» русскоязычным токенизатором мы получим примерно такой вывод:

{
  'input_ids': [101, 102, 103, 104, 105, 102, 0, 0, 0],
  'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0],
  'attention_mask': [1, 1, 1, 1, 1, 1, 0, 0, 0]
}

Здесь 101[CLS], 102[SEP], остальные — ID реальных токенов (слов или подслов). attention_mask показывает, какие позиции реальны (1), а какие — паддинг (0). token_type_ids нужны для задач с двумя предложениями, но в одном предложении они все нули.

Для GPT (BPE) выход проще — только input_ids, без token_type_ids. attention_mask может отсутствовать, если модель не использует паддинг. Современные токенизаторы (Hugging Face) возвращают объект BatchEncoding, который можно преобразовать в тензоры через .to() или параметр return_tensors='pt'.

Важно: токенизатор не просто разбивает текст, но и добавляет специальные токены (если модель их ожидает), обрезает или дополняет до заданной длины, а также может возвращать смещения (offset_mapping) для восстановления исходных позиций в тексте. Для SentencePiece (T5, XLNet) выход — те же input_ids, но без явного разделения на слова — токены могут быть целыми словами или их частями.

На практике разработчику нужно понимать, что выход токенизатора — это подготовленный вход для модели, и его структура определяется архитектурой. Если модель ожидает три поля, а вы передадите только input_ids, она упадёт или будет работать некорректно.

Ключевые тезисы

  • Основной выход — input_ids (последовательность целочисленных ID токенов).
  • Для многих моделей (BERT, RoBERTa) дополнительно возвращаются attention_mask и token_type_ids.
  • Токенизатор добавляет специальные токены ([CLS], [SEP], [PAD] и т.д.) в зависимости от модели.
  • Выход может быть словарём (Python dict) или объектом BatchEncoding, который легко конвертируется в тензоры.
  • Важно учитывать параметры padding, truncation и max_length — они влияют на форму выходных тензоров.

Что спросят дальше

  • — Как токенизатор обрабатывает неизвестные слова (unknown tokens)? Приведите пример для BPE и WordPiece.
  • — Чем отличается выход токенизатора для модели типа encoder-only (BERT) от decoder-only (GPT)?
  • — Зачем нужен параметр return_offsets_mapping и в каких задачах он используется?

Готовьтесь к собеседованию с ENIGMA AI

AI-суфлёр подсказывает ответы прямо на собеседовании в реальном времени — незаметно для интервьюера.

Скачать приложение