Как работает токенизатор Mistral

Урок 16 из 148 курса «Mistral AI Cookbook»: официальный курс Mistral AI Cookbook (Мистраль) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

Токенизатор отвечает за преобразование запроса, часто представляющего собой строку, в последовательность ID токенов, которую модель будет получать в качестве входных данных. Токен может быть чем угодно: от отдельного символа до subword или знака. Модель обладает словарём токенов с соответствующими им ID. Задача токенизатора — разбить строку на части и преобразовать её в последовательность ID токенов, этот шаг называется кодированием. Также задача токенизатора — преобразовать последовательность ID обратно в строку, этот шаг называется декодированием. Получив последовательность ID токенов, модель пытается предсказать следующий токен. Для простоты будем рассматривать токены как целые слова. Представим сценарий, в котором у нас есть следующее предложение: «Hello, how are» Токенизатор сначала разобьёт предложение на отдельные части, или токены. Например: Hello, how are Затем токенизатор получит ID токена, соответствующий каждому токену. Например: Hello, -> 432 how -> 523 are -> 87 Эта последовательность ID токенов затем передаётся модели. Модель попытается предсказать следующий токен. Допустим, она предсказывает: 75 Тогда мы получим полную последовательность ID токенов: 432 + 523 + 87 + 75 Эту последовательность можно декодировать обратно в полную строку: Hello, + how + are + you -> Hello, how are you Существует множество способов создания токенизаторов с использованием различных подходов... Простым токенизатором является ASCII/символьный токенизатор, где каждый символ и знак ASCII рассматривается как токен. Этот подход прост, но имеет несколько недостатков: Медленное предсказание: Предсказание символа за символом неэффективно. Статистические ошибки: Склонен к ошибкам из-за гранулярности токенов. Соотношение информации к длине последовательности: Более низкое соотношение информации к длине последовательности. Другой тип — пословный токенизатор, где каждое слово рассматривается как токен. Хотя это может показаться интуитивным, такой подход не оптимизирован. Например, рассмотрим следующие слова: "fast" "fastest" "faster" "slow" "slowest" "slower" Пословный токенизатор преобразовал бы их в 6 токенов. Однако более эффективным подходом было бы использование subword tokens: "fast" "est" "er" "slow" Имея всего 4 токена, мы можем воспроизвести исходные 6 слов, комбинируя их.

План урока

  1. Введение
  2. Кодирование
  3. Декодирование
  4. Типы токенизаторов
  5. ASCII/символьный токенизатор
  6. Пословный токенизатор
  7. BPE и другие
  8. Пример

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Урок входит в темы

Полезные гиды