Токен в нейросети — что это простыми словами
Токен — единица текста, с которой работает нейросеть: слово, часть слова или знак. Разбираемся, как это устроено и почему это важно, если собираешь продукты с ИИ.
Что это простыми словами
Токен в нейросети — это кусок текста, который модель обрабатывает как одну единицу: слово, часть слова, знак или пробел. Перед тем как нейросеть начнёт работать с твоим текстом, сервис режет его на такие кусочки — токенизирует — и дальше модель видит не буквы и не слова, а последовательность токенов с номерами.
Токен — минимальная единица текста, которую видит модель. Не буква и не слово целиком, а кусок, на который текст порезал токенизатор. Для английского это часто целое короткое слово, для длинного или редкого слова — несколько кусков, для русского с его приставками и окончаниями — чаще не одно слово, а два-три токена.
Есть разные способы такого разбиения — по словам целиком, по частям слов (самый частый подход в современных моделях называется BPE, byte pair encoding) и по отдельным символам. У каждого свои плюсы и свои потери.
Способ · Словами · Частями · Буквами · Словарь · Большой · Средний · Малый · Новое слово · Теряет · Делит · Всегда · Длина текста · Короче · Средне · Длиннее
Как это устроено
Токенизатор превращает текст в список чисел — id токенов из своего словаря. Модель не хранит буквы, она хранит таблицу: каждому id соответствует вектор чисел, эмбеддинг, который описывает смысл токена и его связи с другими токенами. Дальше нейросеть работает с последовательностью этих векторов — читает контекст и предсказывает, какой токен должен идти следующим.
Ответ модель строит не целиком, а по одному токену за раз: предсказала токен, добавила его к тексту, предсказала следующий — и так, пока не решит остановиться. Поэтому длинный ответ генерируется дольше короткого: на каждый токен модель делает отдельный проход.
Сколько токенов в фразе «Привет, как дела?» · Точное число считает токенизатор модели — не ориентируйся на количество слов или букв, оно почти всегда другое.
Весь разговор с моделью — твой промпт плюс её ответ — должен уместиться в контекстное окно, лимит в токенах. Если текста больше лимита, модель не увидит начало или обрежет ответ.
Пример из жизни
Фраза «Привет, как дела?» для модели — не четыре слова, а своя цепочка токенов, и запятая со знаком вопроса — тоже токены. Один и тот же смысл на русском почти всегда превращается в больше токенов, чем на английском: словарь большинства токенизаторов строили в основном на английских текстах, и русские слова с окончаниями режутся мельче.
Это прямо влияет на счёт: модели через API обычно оценивают стоимость запроса в токенах, а не в словах или символах, поэтому один и тот же вопрос на русском может выйти дороже, чем на английском.
С чего начать
Если собираешь продукт с ИИ, токены стоит держать в голове в трёх местах: при выборе модели — у каждой свой лимит контекстного окна, при расчёте стоимости запроса и при формулировке самого промпта. Чем короче и плотнее текст, тем меньше токенов он съедает.
как посчитать токены · токен это · Что такое токен в нейросети · словарь · Токенизатор — проверить текст · инструмент · токен это · контекст
Проверить, во сколько токенов превращается конкретный текст, можно в токенизаторе — большинство провайдеров моделей выкладывают такой инструмент в открытом доступе. Это быстрее, чем гадать по числу слов или символов.
Вопросы и ответы
Токен в нейросети — это что
Кусок текста, с которым модель работает как с одной единицей: слово, часть слова, знак или пробел. Текст сначала режет на такие кусочки токенизатор, и дальше модель видит только их.
Токен это слово или буква
Ни то, ни другое само по себе — токен может совпадать со словом, быть частью слова или отдельным символом. Какой вариант используется, решает токенизатор конкретной модели.
Как посчитать токены в тексте
Через токенизатор модели — инструмент, который показывает, на какие токены разбивается конкретный текст. Считать по числу слов или букв не подходит: соотношение разное для каждого языка и токенизатора.