Токены в нейросети: что это и как считать контекст локальной модели
На странице · 4 разделов
Токен — элемент последовательности, с которой работает языковая модель: слово, часть слова, знак или специальный маркер в зависимости от её токенизатора. Количество токенов нельзя надёжно получить делением числа русских слов на постоянный коэффициент. Для локального запуска учитывайте отдельно входной текст, служебную разметку чата и запас на ответ; фактические счётчики запроса проверяйте в ответе вашего runtime.
Проверено 1 октября 2026 года по документации Hugging Face Transformers v4.57.1 и Ollama. Это разбор механизма и план проверки; Modelium не измерял скорость или расход памяти конкретной модели.
Что такое токен — это слово или символ?
Токен — элемент, который токенизатор модели преобразует в числовой идентификатор. Это может быть целое короткое слово, часть длинного слова, знак препинания или служебный маркер. Hugging Face описывает несколько способов разбиения, в том числе BPE, WordPiece и SentencePiece; одинаковый текст может дать разные последовательности в разных моделях s1. Токен не равен ни слову, ни букве, ни байту файла.
При общении с чат-моделью учитывается не только видимая фраза. Роли, границы сообщений и другие элементы шаблона превращаются в последовательность специальных токенов. Формат зависит от модели: одинаковое содержимое пользовательских сообщений не означает одинаковую длину готового входа s2. Поэтому правило вроде «одно русское слово — столько-то токенов» годится разве что для грубой гипотезы, но не для проверки вместимости.
Где токены участвуют в локальном запуске?
- Вход. Инструкция, история переписки, найденные документы и текущий вопрос становятся входом для модели. Шаблон чата добавляет свою разметку; реальный счётчик надо смотреть после обработки runtime, а не по количеству символов в редакторе s2 s4.
- Выход. Модель генерирует продолжение последовательности; число новых токенов отдельно отражается в
eval_countOllama, а счётчик входа — вprompt_eval_counts4 s6. Это две разные величины: длина входа не сообщает автоматически длину ответа. - Память и время. При авторегрессионной генерации хранится KV-кеш промежуточных представлений. Его стратегия и архитектура модели влияют на расход памяти; рост количества токенов может увеличивать требования к кешу, но он не даёт универсального числа гигабайт или фиксированной скорости. У моделей со скользящим/блочным вниманием поведение кеша может отличаться s5. Длительности обработки входа и генерации Ollama возвращает разными полями, так что скорость оценивайте на собственных запросах, а не по одному обещанию в карточке s4 s6.
Если вы используете локальную Ollama, денежного счёта за каждый токен от её локального API как такового не возникает: «цена» здесь прежде всего бюджет контекста и вычислительные ресурсы. Это не отменяет затрат на своё оборудование и электричество; облачные режимы и внешние провайдеры имеют отдельные условия. Число токенов само по себе не заменяет проверки оборудования.
Как оценить запас контекста без выдуманного коэффициента?
Возьмите ограничение контекста конкретной модели и текущей конфигурации. Затем отделите фактический вход после форматирования от пространства, которое хотите оставить для продолжения. Редакторская схема планирования: бюджет входа + резерв ответа не должны превышать выбранный рабочий лимит. Вход включает системную инструкцию, историю, извлечённые фрагменты и служебную разметку; точное поведение при переполнении и внутренний учёт зависят от runtime и версии s2 s3. Не обещайте, что весь заявленный моделью максимум помещается на вашей видеокарте: весовые файлы и KV-кеш занимают разные области ресурсов s5.
Ollama документирует OLLAMA_CONTEXT_LENGTH для сервера и options.num_ctx для API-запроса. Это способ задать рабочую настройку, не подтверждение, что данная модель, железо и вся история беседы выдержат любой выбранный размер s3. Отдельный гайд по контексту Ollama показывает настройку и контроль размещения; будущая страница о контекстном окне разберёт пределы самой модели, а здесь речь о том, что именно считают токенами.
Как проверить число токенов на своей задаче?
- Убедитесь, что нужный тег модели и локальный API доступны: начните с проверки готовности Ollama. Не подменяйте токенизатор одной модели счётчиком от другой s1.
- Отправьте короткий реальный запрос в
/api/generateс нужной моделью иstream: falseлибо соберите реальную цепочку чата, если задача использует историю. Для/api/generateдокументация описывает JSON-ответ с итоговыми счётчиками s6. Счётчик отдельного текстового prompt не равен автоматически токенам всего чата с ролями s2. - Сохраните
prompt_eval_count,eval_count,prompt_eval_duration,eval_durationи выбранныйnum_ctxвместе с тегом модели и текстом тестового запроса. Поля Ollama различают число входных и выходных токенов и длительности соответствующих этапов s4 s6. Повторите с более длинным допустимым документом и сравните на своём железе; не называйте этот протокол измерением Modelium. - Если ответ обрывается или контекст не помещается, сокращайте лишнюю историю или количество извлечённых фрагментов, а затем сверяйте ответ с исходным документом. Увеличение окна без контроля размещения и качества ответа не решает задачу автоматически s3 s5.
Следующий шаг: откройте настройку контекста Ollama, задайте подходящий рабочий предел и проверьте счётчики входа и ответа на собственном тексте. Страницу о памяти видеокарты используйте отдельно для оценки конфигурации — токены и размер весового файла не взаимозаменяемы.
Источники
- Hugging Face Transformers v4.57.1 — Summary of the tokenizers — revision v4.57.1. Получено 01.10.2026.
- Hugging Face Transformers v4.57.1 — Chat templates — revision v4.57.1. Получено 01.10.2026.
- Ollama — FAQ, context window. Получено 01.10.2026.
- Ollama — API usage metrics. Получено 01.10.2026.
- Hugging Face Transformers v4.57.1 — KV cache strategies — revision v4.57.1. Получено 01.10.2026.
- Ollama — Generate a response API. Получено 01.10.2026.