ML Fundamentals

токен

Базовая единица обработки текста в LLM — субстрока, которой соответствует числовой идентификатор в словаре модели.

Что такое токен

Токен — минимальная единица, которой оперирует языковая модель. Это не обязательно слово: токен может быть словом, частью слова, символом пунктуации или даже пробелом с буквой. Каждый токен представлен числовым идентификатором (token_id) в словаре модели.

import tiktoken
enc = tiktoken.get_encoding("cl100k_base")

enc.encode("Hello, world!")
# → [9906, 11, 1917, 0]  — 4 токена

enc.encode("cloudcompute")
# → [77662, 9085, 1088]  — 3 токена

Как считаются токены

Стоимость API, скорость генерации и длина контекста — всё измеряется в токенах, а не в словах или символах:

  • 1 токен ≈ 4 символа для английского
  • 1 токен ≈ 1.5–2 символа для русского (кириллица занимает больше)
  • 100 токенов ≈ 75 слов (английский)
  • 1000 токенов ≈ ~750 слов (английский), ~500 слов (русский)

Токены ввода и вывода

При работе с LLM API стоимость обычно считается раздельно:

  • Input tokens (prompt + history): обрабатываются за один prefill-проход
  • Output tokens (генерируемый ответ): создаются последовательно, каждый токен = один forward pass

Output tokens обычно дороже, так как генерация последовательная.

Context window в токенах

Контекстное окно — максимальное число токенов, которые модель может обработать за раз (input + output). Llama 3 8B поддерживает 128K токенов ≈ ~96 000 слов ≈ ~350 страниц текста.

Связанные термины

Готовы запустить GPU-задачу?

Запустить GPU-сервер