Phone icon Зв'язатись з нами

ШІ та машинне навчання

Що таке токен в 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 на практичних курсах із менторами та реальними проєктами.

Обрати курс