ИИ и машинное обучение
Что такое токен в AI и сколько их в одном слове?
Токен (token) — это наименьший фрагмент текста, с которым работает языковая модель: слово, часть слова или знак препинания. Модель не видит букв и слов напрямую — она читает и создаёт именно последовательность токенов.
Текст на токены делит токенизатор. Короткое английское слово обычно занимает один токен, а длинное или редкое делится на несколько частей. Для украинского и русского языков токенов обычно нужно больше, чем для английского текста того же содержания.
Токены — это ещё и единица оплаты. Стоимость запросов к API языковой модели считают за тысячу токенов, отдельно за входные и выходные. Поэтому длинные промпты и большие документы прямо влияют на цену и скорость ответа.
Где применяется
Токены — единица учёта в работе с моделями. По ним считают стоимость запроса, отдельно для входных и выходных, и ими же задают лимит длины ответа. Поэтому оценка бюджета любого AI-решения начинается с подсчёта, сколько токенов уходит на типичную операцию.
Понимание токенов объясняет и странное поведение модели. Украинские и русские слова делятся на большее количество токенов, чем английские, поэтому тот же текст стоит дороже. А задачи вроде «посчитай буквы в слове» модель решает плохо именно потому, что видит не буквы, а фрагменты текста.
Пример
Для ориентира: примерно 1000 токенов — это 700–750 английских слов, то есть чуть больше страницы обычного текста.
import tiktoken
encoder = tiktoken.get_encoding('cl100k_base')
text = 'Привет! Расскажи о курсах программирования.'
tokens = encoder.encode(text)
print(len(tokens)) # сколько токенов уйдёт в запрос
print(tokens[:10]) # идентификаторы фрагментов
Частые вопросы
Сколько токенов в одном слове?
Для английского — в среднем около 0,75 слова на токен. Для украинского и русского соотношение хуже: слова часто делятся на две-три части из-за окончаний и кириллицы. Вывод простой: тот же текст на английском обходится дешевле.
Почему входные и выходные токены оплачивают отдельно?
Потому что создание ответа требует больше вычислений, чем чтение запроса: каждый новый токен модель предсказывает отдельно. Поэтому выходные токены обычно в несколько раз дороже входных, и длинный ответ стоит больше, чем длинный вопрос.
Как уменьшить расход токенов?
Убирать лишний контекст: не отправлять весь документ, если нужен один раздел, сокращать историю разговора, просить короткий ответ и задавать лимит длины. Для повторяющихся запросов помогает кеширование неизменной части промпта.
Почему модель не может посчитать буквы в слове?
Она не видит букв: текст попадает к ней уже разделённым на токены, и слово может быть одним целым фрагментом. Поэтому подсчёт символов, перестановка букв и похожие задачи получаются ненадёжно — их лучше выполнять обычным кодом.
Обучение программированию в OWU
Освойте профессию в IT на практических курсах с менторами и реальными проектами.
Выбрать курс