Stop-tokens — специальные токены или последовательности, при появлении которых модель прекращает генерацию.
Определение
Stop-tokens — это токены, символы или текстовые шаблоны, которые указывают языковой модели завершить генерацию. Они могут быть встроенными (например, EOS в моделях автодекодирования) или заданными пользователем в момент вызова модели. Stop-токены позволяют контролировать структуру вывода: ограничивать длину, разделять сегменты, завершать мысль или предотвращать выход за рамки разрешённого формата.
В продакшене stop-tokens используются для контроля поведения модели в диалогах, API-ответах, форматах вроде JSON, а также при построении строгих протоколов взаимодействия между агентами.
Как работает
Механизм остановки встроен в процесс покадровой генерации. На каждом шаге декодера сформированный текст проверяется на наличие стоп-последовательности. Если совпадение найдено, генерация немедленно прекращается, независимо от вероятности следующих токенов.
- Декодер генерирует токен.
- Строка сравнивается со списком stop-правил.
- Если встречено совпадение — декодирование завершается.
- Если нет — продолжается следующий шаг.
Stop-токены могут быть как одним токеном (например, EOS), так и строкой из нескольких символов, которую модель не обязана считать единым токеном — механизм всё равно сработает.
Где применяется
- Диалоговые интерфейсы — остановка при завершении реплики.
- JSON- и XML-генерация — прекращение вывода после закрытия структуры.
- Агентные системы — разделение шагов reasoning и actions.
- Многоступенчатые пайплайны — обрезка вывода перед следующей стадией обработки.
- Code generation — завершение функции после фигурной скобки.
- API-интеграции — ограничение формата ответа под требования клиента.
- Тонкие протоколы взаимодействия моделей — остановка при специальных маркерах.
Практические примеры использования
В генерации кода stop-токеном может быть символ «}», что предотвращает появление лишних строк после закрытия функции. Это важно для систем, которые исполняют код автоматически.
В диалоговых системах стоп-последовательности используются для разделения ролей. Например, модель должна генерировать текст только до строки «», после чего управление возвращается внешней системе.
В агентных пайплайнах stop-токены позволяют отделять reasoning от action-команд, чтобы инструментальная часть не захватывала неструктурированный текст.
В API настройки stop-токенов часто применяют для предотвращения выхода модели за пределы строго формализованного ответа: таблицы, JSON, SQL-запроса.
Типы stop-токенов
- EOS-токен — встроенный признак завершения последовательности.
- Односимвольные маркеры — например, «#», когда это ключевой разделитель.
- Строковые шаблоны — «END», «STOP», произвольные последовательности.
- Форматные ограничения — закрывающая JSON-скобка, тег, блок.
- Мультимодальные маркеры — стоп-последовательности для текстового компонента в смешанных моделях.
Отличие от ограничения длины
Max length — это жёстный верхний предел на количество токенов. Stop-tokens — интеллектуальный механизм, который завершает генерацию раньше, когда логическая структура достигнута.
Преимущества и ограничения
- Плюс: контроль структуры и длины вывода.
- Плюс: предотвращение паразитного текста за пределами формата.
- Плюс: возможность строгих протоколов для инструментальных систем.
- Плюс: удобный механизм интеграции модели в многокомпонентные пайплайны.
- Минус: стоп-последовательность может встречаться внутри валидного текста.
- Минус: неправильный выбор стоп-строки приводит к «обрезанным» ответам.
- Минус: в мультимодальных сценах модель может невольно генерировать стоп-маркеры.
- Минус: слишком большое количество стоп-правил усложняет стабильность декодирования.
Связанные термины
- Greedy decoding
- Top-k sampling
- Top-p sampling
- Temperature
- Repetition penalty
- No-repeat n-gram
- Autoregressive decoding