Prog Academy
RU UA
ШІ та машинне навчання

Що таке токен в AI та мовних моделях?

Токен — це мінімальний шматочок тексту, яким оперує мовна модель: слово, частина слова або розділовий знак. Модель не бачить літери та слова напряму — вона читає й генерує саме послідовність токенів.

Розбиття на токени виконує токенізатор. Коротке англійське слово зазвичай займає один токен, а довге чи рідкісне слово розбивається на кілька частин. Для української та російської мов токенів, як правило, потрібно більше, ніж для англійської того самого змісту.

Токени — це ще й одиниця тарифікації. Вартість звернення до 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 слова на токен. Для української та російської співвідношення гірше: слова часто дробляться на дві-три частини через закінчення й кирилицю. Практичний висновок — той самий текст англійською обходиться дешевше.

Чому за токени беруть плату окремо на вході й виході?

Бо генерація відповіді потребує більше обчислень, ніж читання запиту: кожен новий токен модель передбачає окремо. Тому вихідні токени зазвичай коштують у кілька разів дорожче за вхідні, і довга відповідь дорожча за довге запитання.

Як зменшити витрату токенів?

Прибирають зайвий контекст: не надсилають увесь документ, якщо потрібен один розділ, скорочують історію діалогу, просять коротку відповідь і задають обмеження за довжиною. Для повторюваних запитів допомагає кешування незмінної частини промпту.

Чому модель не може порахувати літери у слові?

Вона не бачить літер: текст потрапляє до неї вже розбитим на токени, і слово може бути одним неподільним фрагментом. Тому підрахунок символів, перестановка літер і схожі задачі розвʼязуються ненадійно — їх краще виконувати звичайним кодом.

Повʼязані терміни