Прошло почти два года с тех пор, как OpenAI выпустила o1, модель, которая популяризировала reasoning в LLM. Примерно через четыре месяца появился DeepSeek-R1. Вместе с ним авторы подробно описали, как обучать reasoning-модели с помощью reinforcement learning with verifiable rewards (RLVR), то есть RL на проверяемых наградах.

На прошлой неделе OpenAI представила семейство моделей GPT-5.6. В него входят модели трех размеров, и для каждой предусмотрено пять или шесть настроек reasoning effort.

Рисунок 1. GPT-5.6 Sol с разными настройками reasoning effort. Результатов бенчмарков для Ultra пока нет, но они, вероятно, будут близки к Max. Reasoning effort примерно тот же, а четыре субагента ускоряют работу.

Похоже, reasoning-модели с нами надолго. Они стали стандартной частью современных релизов.

Ранее я уже разбирал методологию таких моделей в статье Understanding Reasoning LLMs, а связанные исследования обсуждал в материалах The State of Reinforcement Learning for LLM Reasoning и The State of LLM Reasoning Model Inference.

Все эти материалы посвящены превращению обычной LLM в reasoning-модель. Здесь я сосредоточусь на другом вопросе: как получить reasoning-модель с несколькими настройками reasoning effort, похожими на показанные на первом рисунке.

Статью можно читать отдельно от предыдущих материалов. Впрочем, упомянутые выше источники тоже могут оказаться интересными и полезными.

1. Краткое определение reasoning-моделей

Когда речь заходит почти о любой технологии или области машинного обучения и ИИ, важно не воспринимать технические термины слишком буквально. Например, искусственная нейронная сеть из машинного обучения не работает буквально так же, как биологическая нейронная сеть человеческого мозга.

То же относится и к reasoning-моделям. Не стоит ожидать, что они рассуждают буквально как люди. В исследованиях ИИ и LLM так называют модель, которая выводит промежуточный reasoning-трейс: ответ, где вопрос или задача разбираются шаг за шагом.

Проще всего показать это на примере.

Рисунок 3. Ответ обычной LLM слева и ответ reasoning-модели справа.

2. Краткий обзор масштабирования обучения и инференса

Есть два основных способа повысить качество решения задач, в том числе задач на рассуждение: масштабировать обучение или масштабировать инференс.

Рисунок 4. Масштабирование обучения и инференса как два способа улучшить способность LLM и reasoning-моделей решать задачи. График построен по материалам Learning to reason with LLMs.

Сначала коротко поговорим об обучении.

2.1. Обучение reasoning-моделей

Если коротко, авторы DeepSeek-R1 предложили превращать обычную LLM в reasoning-модель с помощью RLVR. Этот метод дает бинарный сигнал награды (0 = неверно, 1 = верно) в областях, где результат можно автоматически проверить. Для математики подойдет символьная система вроде SymPy или WolframAlpha, а для кода: компилятор, юнит-тесты или платформа вроде LeetCode.

Рисунок 5. Награды за точность и формат при обучении с помощью RLVR.

Важно, что сам reasoning-трейс не использовали для обновления модели. Исследователи пробовали включить эту промежуточную информацию в обучающий сигнал, но в статье DeepSeek-R1 сообщается, что пользы это не принесло. Поэтому от идеи отказались. Вопрос о том, стоит ли оценивать промежуточные шаги с помощью process reward models (PRM) и как именно это делать, остается открытым.

Рисунок 6. Во время RLVR промежуточный reasoning-трейс игнорируется: награда зависит только от итогового ответа и его формата.

2.2. Ага-моменты

Как показано на рисунке 7, одной награды за результат оказалось достаточно, чтобы модель научилась рассуждать над задачей: записывать промежуточные объяснения, возвращаться назад и исправлять собственные ошибки. Ситуации, когда модель замечает ошибку и самостоятельно ее исправляет, называют ага-моментами.

Рисунок 7. Пример ага-момента: reasoning-модель обнаруживает ошибку в промежуточных рассуждениях и исправляет ее до выдачи окончательного ответа.

Хотя работа DeepSeek-R1, безусловно, известнее и именно она вызвала большой интерес к RLVR и разработке reasoning-моделей, в тот же день, 22 января 2025 года, на arXiv вышла еще одна статья: Kimi K1.5. Более того, термин RLVR появился двумя месяцами раньше в работе Tülu 3: Pushing Frontiers in Open Language Model Post-Training.

Одна из причин популярности DeepSeek-R1 в том, что эта работа показала: reasoning можно получить с помощью чистого reinforcement learning (RL).

Рисунок 8. В DeepSeek-R1-Zero RLVR применяется непосредственно к претрейненной базовой модели, без SFT.

Например, в Tülu 3 и Kimi K1.5 RL применяли поверх модели после supervised fine-tuning (SFT). DeepSeek-R1 тоже обучали из SFT-чекпойнта базовой DeepSeek-V3. Но авторы представили и DeepSeek-R1-Zero, обученную только с помощью RLVR. R1-Zero слабее R1, зато показывает, что одного RLVR достаточно, чтобы модель научилась генерировать и использовать reasoning-трейсы.

R1-Zero была скорее демонстрацией концепции. Полный пайплайн обучения DeepSeek-R1 обычно состоит из нескольких этапов и устроен несколько сложнее, как уже отмечалось выше.

Рисунок 9. Более подробный пайплайн обучения семейства моделей DeepSeek-R1. Дополнительные сведения приведены в статье Understanding Reasoning LLMs.

Кстати, большинство современных LLM фактически являются reasoning-моделями: их обучали похожим на DeepSeek-R1 способом, используя ту или иную разновидность RLVR.

2.3. Масштабирование инференса в двух словах

Помимо улучшения рассуждений за счет обучения, качество модели можно повысить масштабированием вычислений во время инференса. Проще говоря, после завершения обучения мы тратим больше вычислительных ресурсов при использовании модели, чтобы получать более качественные ответы.

Это отдельная большая тема. Более подробный разбор можно найти в моей статье The State of LLM Reasoning Model Inference:

The State of Reinforcement Learning for LLM Reasoning

Ниже я постараюсь кратко изложить главное, что понадобится нам дальше.

Во-первых, обучение с помощью RLVR уже неявно приводит к масштабированию инференса. Reasoning-модели обычно генерируют больше токенов, чем обычные LLM, поэтому и вычислений на инференсе требуется больше.

Во-вторых, длину ответа можно дополнительно регулировать через reasoning effort. Подробнее об этом поговорим позже.

В-третьих, существует множество дополнительных методов масштабирования инференса. Один из популярных вариантов называется self-consistency. Обычно его реализуют как голосование большинством: модель опрашивают несколько раз, после чего итоговый ответ выбирают по большинству результатов.

Рисунок 10. Пример self-consistency, популярного метода масштабирования инференса.

Этот метод подходит как обычным LLM, так и reasoning-моделям. Его можно применять по необходимости и независимо от обучения рассуждениям. Хороший пример дает DeepSeekMath-V2: исследователи применили экстремальное масштабирование инференса поверх reasoning-модели, специализированной на математике, и получили передовой результат на сложных задачах уровня математических олимпиад.

Рисунок 11. Совместное применение двух видов масштабирования инференса, self-consistency и self-refinement, для повышения качества решения математических задач. Рисунок адаптирован из статьи DeepSeekMath-V2: Towards Self-Verifiable Mathematical Reasoning.

Обзор других методов снова можно найти в моей статье The State of LLM Reasoning Model Inference:

The State of LLM Reasoning Model Inference

3. Токены

Возможно, вы уже заметили токены <think></think> на рисунке с ага-моментом. Чтобы вам не пришлось прокручивать статью вверх, я повторил соответствующий рисунок ниже.

Рисунок 12. Распространенные токены форматирования в reasoning-моделях.

С точки зрения способности к рассуждению теги <think> и </think> носят чисто оформительский характер. Они не заставляют модель рассуждать и не нужны для достижения высокого качества. Вероятно, ту же модель можно было бы обучить без этих разделителей и получить сопоставимые результаты в бенчмарках.

Главная задача тегов, или токенов, <think> состоит в том, чтобы отметить начало и конец reasoning-трейса. Так обучающий пайплайн или интерфейс может отделить его от финального ответа и при необходимости скрыть от пользователя. Именно так обычно работают ChatGPT и Codex.

Иными словами, токены <think> сами по себе не наделяют модель способностью «думать», рассуждать или рассуждать лучше. Те же модели можно обучить без таких токенов и получить сходные результаты.

В самих строках <think> и </think> тоже нет ничего особенного. Их могла бы заменить любая другая пара разделителей.

Обычно этот формат закрепляют дополнительной наградой на этапе RLVR. Модель награждают не только за правильность ответа, но и за использование токенов <think>, тем самым приучая ее к нужной структуре.

Например, в DeepSeek-R1 общая награда вычислялась так:

R_total = R_accuracy + R_format

Награда за формат представляла собой простую проверку по правилу: модель должна помещать рассуждения внутрь следующего блока:

<think>

reasoning-трейс

</think>.

4. Как включать и выключать reasoning

Первое поколение состояло из специализированных reasoning-моделей. Например, существовала базовая модель DeepSeek-V3 и отдельная reasoning-модель DeepSeek-R1.

Почти независимо от промпта R1 отвечает подробно и тратит много токенов даже на простые задачи. Встроенного переключателя reasoning у нее нет.

Рисунок 13. Reasoning-модели дают многословные ответы даже на самые простые промпты.

Более поздние модели, включая Qwen3, стали экспериментировать с гибридным подходом. Одна и та же модель по запросу может вести себя либо как обычная instruction-tuned модель, либо как reasoning-модель.

Примечание. Одни разработчики называют это thinking mode, другие reasoning mode. Оба термина описывают одно и то же поведение.

В Qwen3 режим выбирает токенизатор через enable_thinking=True или enable_thinking=False. Во втором случае он подставляет пустой блок <think></think> в начало ответа ассистента и тем самым отключает reasoning.

Рисунок 14. Ответ reasoning-модели Qwen3 0.6B при thinking=False и thinking=True. Пустые теги <think></think> скрыты в интерфейсе слева: они входят в измененный входной промпт, а не в сгенерированный ответ.

Как обучить модель так, чтобы во время инференса она поддерживала такое переключение?

Согласно техническому отчету Qwen3, это поведение прежде всего формируется с помощью SFT, а затем дополнительно закрепляется на этапе общего RL в крупнейших флагманских моделях семейства.

После начального обучения reasoning-модели с помощью SFT на длинных reasoning-трейсах и reasoning RL разработчики добавляют этап Thinking Mode Fusion. На этом дополнительном этапе SFT модель видит примеры обоих типов:

  • /think: <think>{reasoning}</think>{answer}

  • /no_think: <think></think>{answer}

Reasoning включен по умолчанию, поэтому /think можно не указывать. Следующий этап общего RL дополнительно закрепляет соблюдение режима и формата.

Флаги /think и /no_think работают как «мягкий» переключатель. А упомянутая выше настройка enable_thinking=False, которая принудительно добавляет пустой блок <think></think>, играет роль «жесткого» переключателя.

Рисунок 15. Thinking Mode Fusion в пайплайне обучения Qwen3 позволяет включать и выключать reasoning.

Токенизатор не добавляет /no_think к запросу. Вместо этого он сразу подставляет пустой блок <think></think> в начало ответа ассистента. Модель видит только получившиеся токены и сразу продолжает формировать ответ.

Такой двоичный переключатель можно считать упрощенной версией настроек reasoning effort в GPT-5.6 и других моделях. Их мы рассмотрим в следующем разделе.

5. Как работают настройки reasoning effort

В этом разделе я кратко разберу возможную реализацию разных настроек reasoning effort. Они появились в моделях семейства GPT-5, а сегодня встречаются почти во всех флагманских моделях.

В начале статьи я показал интерфейс Codex с GPT-5.6, где пользователь может выбрать одну из нескольких настроек reasoning effort.

Рисунок 16. В GPT-5.6 доступны шесть настроек reasoning effort, от Light до Ultra.

В следующем подразделе рассмотрим, как могут быть реализованы эти настройки. Затем перейдем к нескольким особенно интересным исследованиям по этой теме.

5.1. Reasoning effort, длина и качество ответа

OpenAI не раскрывает реализацию reasoning effort, но есть некоторые данные, позволяющие строить обоснованные предположения.

Например, благодаря открытым моделям gpt-oss, о которых я писал в статье From GPT-2 to gpt-oss: Analyzing the Architectural Advances, мы знаем, что OpenAI позволяет задавать reasoning effort через системный промпт. Перед каждым запросом добавляется строка Reasoning effort: low/medium/high.

Рисунок 17. Chat template gpt-oss добавляет выбранный reasoning effort в системное сообщение перед отправкой промпта той же модели.

Как и следовало ожидать, reasoning effort напрямую влияет на длину и точность ответа.

Рисунок 18. Длина и качество ответов моделей gpt-oss при разных уровнях reasoning effort. Аннотированный график из model card.

Предположительно, в моделях GPT-5, включая недавние GPT-5.6, применяется похожий подход.

Обратите внимание, как разные настройки reasoning effort меняют длину ответа. Reasoning effort, по всей видимости, напрямую связан с расходом токенов, а тот, в свою очередь, с точностью. Можно представить режимы выше high, но в какой-то момент качество выйдет на плато. Особенно хорошо это видно на GPT-5.6 Sol: дальнейшее увеличение reasoning budget становится экономически невыгодным.

Рисунок 19. Рост reasoning effort повышает стоимость API и качество работы агента, но на максимальных уровнях GPT-5.6 отдача снижается. График построен по Artificial Analysis Coding Agent Index v1.1.

Еще один свежий пример связи между reasoning effort, расходом токенов и качеством в бенчмарках дает представленная на этой неделе модель Inkling с открытыми весами от Thinking Machines Lab.

Рисунок 20. Повышение reasoning effort в Inkling обычно увеличивает число сгенерированных токенов и результаты в бенчмарках, но на высоких уровнях прирост уменьшается или становится неравномерным. Рисунок из анонса Inkling.

Итак, во время инференса reasoning effort можно задавать обычным системным промптом. Вероятно, интерфейс ChatGPT просто преобразует выбранный пункт меню в соответствующее системное сообщение. Но произвольная модель не станет поддерживать такую настройку сама по себе. Для этого нужно изменить обучающий пайплайн.

5.2. Возможные способы реализации reasoning effort

Подробности обучения не опубликованы ни для GPT-5.6, ни для открытых моделей gpt-oss. Обычно метку reasoning effort добавляют в промпты во время посттрейна.

Есть два основных способа реализовать такое поведение.

Первый вариант состоит в том, чтобы включить его в процесс RLVR и назначать разный штраф за длину при разных системных промптах. Например, при Reasoning effort: low можно использовать большой штраф, а при Reasoning effort: high уменьшить его или полностью убрать.

Второй вариант состоит в дополнительном SFT после RLVR, где модель учится выполнять инструкции для разных настроек reasoning effort.

Например, после основного этапа RLVR промпты из обучающего датасета можно сопоставить с целевыми ответами нужной длины. Их могут написать люди, сгенерировать другая модель или сначала сгенерировать, а затем отфильтровать.

Рисунок 21. RLVR и SFT с conditioning по reasoning effort. Это возможная реализация, а не подтвержденное описание пайплайна OpenAI.

Во время SFT модель напрямую связывает метку reasoning effort с целевой длиной ответа по обучающим примерам. В RL-варианте метки и budget-aware reward добавляются прямо на этапе RLVR. Подходы можно объединить. Полагаю, именно так поступили в gpt-oss и GPT-5.6. При этом настройка GPT-5.6, скорее всего, лишь меняет системный промпт для конкретного пользовательского запроса.

5.3. Пример Inkling

Недавно опубликованный технический отчет Inkling дает небольшой, но довольно конкретный пример обучения с разными уровнями reasoning effort.

Рисунок 22. В Inkling reasoning effort задается непрерывным значением от 0,2 до 0,99. Более высокое значение обычно дает более длинные ответы и лучшие результаты в бенчмарках.

Во время крупномасштабного RL для каждого примера выполнялись две операции:

  1. Требуемый reasoning effort задавался в системном сообщении.

  2. Корректировалась стоимость каждого сгенерированного токена.

Концептуально функция награды, вероятно, выглядела примерно так:

R(e) = R_task - λ(e)N_tokens

Здесь e обозначает требуемый reasoning effort, а λ(e) управляет штрафом за токены.

  • При низком reasoning effort стоимость каждого токена выше, что поощряет более короткие reasoning-трейсы.

  • При высоком reasoning effort стоимость токена ниже, поэтому модель может потратить больше токенов.

Во время инференса Inkling получает системное сообщение вроде Thinking effort level: 0.8 и соответствующим образом регулирует расход токенов. В отличие от gpt-oss и GPT-5.6, Inkling использует непрерывное число от 0 до 1, а не категории low, medium и high.

Таким образом, conditioning по reasoning effort в Inkling формируется прежде всего на этапе reasoning RL, а не только во время последующего SFT.

Точную формулу награды, коэффициенты стоимости токенов и возможный conditioning во время SFT авторы не раскрывают.

5.4. Масштабирование инференса и масштабирование обучения

Прежде чем перейти к исследованиям reasoning effort, ненадолго вернемся к разделу 2.3 о масштабировании инференса.

Ранее я разделил масштабирование вычислений при обучении и во время инференса. Интерфейс GPT-5.6 наглядно показывает разницу между этими направлениями.

Выбор Luna, Terra или Sol в левой части интерфейса меняет саму модель. В качестве грубой аналогии это можно сопоставить с масштабированием вычислений при обучении. Перед нами отдельно обученные модели. При неизменных методике обучения и размере набора данных более крупная модель требует больше ресурсов для обучения и, как правило, больше вычислений на каждый сгенерированный токен.

Справа модель остается прежней, а меняется только reasoning effort. Это масштабирование во время инференса. Веса модели не изменяются, но на подготовку ответа ей разрешается потратить больше или меньше токенов.

Рисунок 23. Меню выбора модели и reasoning effort соответствуют двум разным направлениям масштабирования. Luna, Terra и Sol меняют саму модель, а reasoning effort регулирует вычисления на инференсе при фиксированной модели.

Есть небольшой терминологический нюанс. Выбор другой модели в меню не масштабирует обучение в данный момент, поскольку оно уже завершено. Точнее будет сказать, что меню позволяет выбрать одну из моделей, созданных при разных масштабах обучения.

Результаты Artificial Analysis ниже показывают, как эти два направления взаимодействуют на практике.

Каждая синяя кривая соответствует одной модели: Luna, Terra или Sol. Движение вдоль кривой за счет повышения reasoning effort означает масштабирование инференса. Переход между кривыми означает масштабирование модели, которое здесь служит практическим аналогом масштабирования обучения.

Оба подхода ожидаемо улучшают результат в бенчмарке, но одновременно повышают стоимость. Особенно интересно, что кривые пересекаются. Например, небольшая модель с высоким reasoning effort иногда показывает результат, сравнимый с более крупной моделью при низком.

Рисунок 24. Масштабирование обучения и инференса для семейства GPT-5.6 в Artificial Analysis Coding Agent Index. Движение вдоль кривой означает рост reasoning effort, а переход между кривыми Luna, Terra и Sol означает выбор другой модели.

По горизонтальной оси отложена стоимость API, а не чистые вычислительные затраты. Стоимость API удобна как практическая мера, но зависит от тарифов поставщика и числа сгенерированных токенов. Точная форма кривых также зависит от конкретного бенчмарка.

Размер модели и reasoning effort образуют две независимые ручки управления. Можно выбрать более крупную модель, повысить reasoning effort или совместить оба подхода. Лучшее сочетание зависит от требуемой точности, стоимости и задержки.

К этому моменту у вас уже должно сложиться достаточно полное представление о reasoning effort и способах его реализации. Если времени мало, статью можно закончить здесь. Если интересны технические подробности нескольких недавних флагманских моделей с открытыми весами, читайте дальше.

6. Дополнение: разные способы реализации reasoning effort во флагманских LLM с открытыми весами

Этот раздел можно пропустить, если дополнительные подробности вам не нужны.

В разделе 5 мы рассмотрели два способа управления reasoning effort: SFT с conditioning по reasoning effort и RL с разной стоимостью токенов. Изначально я собирался разобрать исследования альтернативных способов задавать reasoning budget. Однако большинство таких работ больше похоже на proof of concept, который не обязательно хорошо работает на практике.

Поэтому я решил сосредоточиться на методиках, примененных в современных и заметных флагманских LLM с открытыми весами. Для них по крайней мере есть свидетельства практической работоспособности.

Остаются шесть примеров: DeepSeek V4, Nemotron 3 Ultra, Kimi K2.5, GLM-5, Qwen3 и Inkling. Технические отчеты раскрывают разный объем подробностей, но каждая модель предлагает полезный вариант подхода. Я исключил модели, в документации которых reasoning effort показан только в интерфейсе, а способ обучения такого поведения не объясняется.

6.1. DeepSeek V4 обучает отдельные специализированные модели для разных режимов reasoning effort

Начнем с технического отчета DeepSeek V4, где описаны три режима:

  • Non-think выдает прямой ответ без reasoning-трейса.

  • Think High использует классический подход: модель помещает reasoning-трейс между тегами <think> и </think>. Похожую схему мы обсуждали на примере DeepSeek-R1 в разделе 2.

  • Think Max работает так же, но дополнительно получает специальную системную инструкцию. К ней мы еще вернемся.

Дополнительная системная инструкция Think Max начинается словами Reasoning Effort: Absolute maximum with no shortcuts permitted, то есть «Reasoning effort: абсолютный максимум, без каких-либо упрощений».

Рисунок 25. Обзор управления reasoning effort из документации DeepSeek V4.

На первый взгляд это обычный прием промпт-инжиниринга, но за промптом стоит особая схема обучения. Каждый режим использует собственное контекстное окно и собственный штраф за длину. К сожалению, точная реализация штрафа в отчете не описана. Think Max получает более длинное контекстное окно и меньший штраф, чем Think High, поэтому может дольше продолжать рассуждение.

Таким образом, системная инструкция выбирает поведение, сформированное во время посттрейна. Если добавить ту же инструкцию произвольной модели, эффект будет другим.

Рисунок 26. В отчете DeepSeek V4 три режима reasoning effort и расширенный пул teacher-моделей описаны отдельно. Пул включает более десяти предметных специализированных моделей, но их распределение между Non-think, Think High и Think Max не раскрывается.

Даже подробный публичный отчет DeepSeek V4 не связывает режимы reasoning с предметными специализированными моделями настолько явно, чтобы можно было восстановить точное назначение teacher-моделей.

При этом в отчете сказано, что финальную модель с поддержкой разных уровней reasoning effort получили путем on-policy-дистилляции от этих teacher-моделей.

Подведем итог. Во время посттрейна DeepSeek V4 создаются три модели, специализированные под разные режимы reasoning effort. Начиная с базовой модели, каждая проходит SFT, а затем RLVR с помощью GRPO. Конфигурация RL для каждого режима различается. В частности, у каждой модели свое контекстное окно и свой штраф за длину, а Think Max дополнительно получает специальную системную инструкцию.

Затем модели, специализированные по режимам и предметным областям, дистиллируют в единый чекпойнт, поддерживающий все три уровня reasoning effort.

6.2. Nemotron 3 Ultra объединяет выученные режимы с жестким reasoning budget

В техническом отчете Nemotron 3 Ultra описаны три настройки, похожие на режимы DeepSeek V4: reasoning-off, regular и medium-effort. Режим medium-effort дешевле обычного regular. NVIDIA вводит его во время SFT на примерах, сгенерированных GPT-OSS-120B в medium-effort, а затем дополнительно оптимизирует через RLVR. Около 2,5% промптов RLVR используют этот режим, а награды для них корректируются с учетом длины.

6.2.1. Reasoning budget в Nemotron во время инференса

Во время инференса все три режима выбираются через chat template.

Рисунок 27. Настройки reasoning в Nemotron 3 Ultra через chat template. Примеры взяты из официальной model card.

  1. Regular используется по умолчанию и задается через enable_thinking=True. Ответ ассистента начинается открывающим тегом <think>.

  2. Medium-effort использует одновременно enable_thinking=True и medium_effort=True. Вторая настройка также добавляет строку {reasoning effort: efficient} к последнему сообщению пользователя.

Кроме того, regular и medium-effort можно сочетать с отдельным reasoning budget на инференсе. Он работает как внешний механизм остановки. В опубликованной реализации клиент просит модель завершить reasoning-трейс около заданного лимита токенов. Если модель еще не вывела </think>, клиент сам закрывает блок reasoning и продолжает генерацию финального ответа. Выученный режим определяет, как модель расходует reasoning tokens, а budget ограничивает длину трейса. Поэтому любой режим можно сочетать с более жестким или свободным budget в зависимости от требуемых стоимости и точности.

  1. Reasoning-off использует enable_thinking=False и заранее подставляет пустой блок <think></think>, как в Qwen3 из раздела 4. После него модель сразу формирует окончательный ответ. Следовательно, перед нами элементы управления chat template, а не системные промпты.

6.2.2. Обучение Nemotron с учетом reasoning budget

Описанные элементы управления поддерживаются двумя связанными компонентами SFT. Первый формирует поведение medium-effort на reasoning-трейсах GPT-OSS-120B. Второй готовит модель к жестким reasoning budgets.

Для обучающего датасета авторы берут обычные reasoning-трейсы, обрезают их по случайно выбранным токен-бюджетам и сохраняют исходные финальные ответы. Вставленный токен </think> маскируется при вычислении SFT loss. В результате модель видит примеры, где после внешнего закрытия незавершенного reasoning-блока нужно перейти к ответу.

Обучение medium-effort продолжается во время RLVR. Примерно 2,5% RL-промптов по математике, STEM и программированию используют этот режим. В отчете отмечается, что его можно калибровать гиперпараметрами награды. Корректировка награды с учетом длины дает дополнительный контроль над trade-off между стоимостью и качеством.

Рисунок 28. Nemotron 3 Ultra формирует medium-effort с помощью SFT-данных от teacher-модели, случайной обрезки по budget и небольшой доли примеров medium-effort во время RLVR.

6.3. Kimi K2.5 чередует RL с бюджетом и без ограничений

В техническом отчете Kimi K2.5 описан метод Token Efficient RL для снижения reasoning effort. На этой неделе была анонсирована K3, но методика обучения ее уровней reasoning effort пока не опубликована. Возможно, она похожа на подход K2.5 или связана с ним.

6.3.1. Метод Toggle в Kimi

В отчете отмечается, что фиксированный токен-бюджет может привести к переобучению reasoning-модели на коротких решениях. Модель становится лаконичнее, быстрее и дешевле, но может утратить способность использовать дополнительные вычисления на инференсе и из-за этого показывать низкое качество.

Рисунок 29. Метод Toggle заметно повышает токенную эффективность Kimi K2.5, почти не меняя суммарные результаты в бенчмарках. Аннотированный график из статьи Kimi K2.5.

Метод Kimi K2.5 под названием Toggle через фиксированное число итераций обучения чередует две фазы RL:

  1. В фазе с бюджетом правильные решения поощряются за соблюдение бюджета токенов, заданного отдельно для каждой задачи.

  2. В фазе без ограничений восстанавливается обычная максимальная длина генерации, чтобы модель продолжала учиться на более длинных решениях.

Для каждой задачи budget оценивают по выбранному процентилю длины среди правильных RLVR-роллаутов. Ограничение включают только после того, как средняя точность на задаче превысит заданный порог. Так модель не заставляют сокращать reasoning до того, как она научится надежно решать задачу.

Рисунок 30. Две фазы метода Toggle.

При оценке Toggle на K2 Thinking число сгенерированных токенов сократилось примерно на 25-30%, а результаты в бенчмарках почти не изменились. Поведение, выученное на RL-задачах по математике и программированию, также переносится на GPQA и MMLU-Pro.

Toggle дает конкретный рецепт для флагманской модели: он позволяет обучить более экономную по токенам reasoning policy, сохранив возможность масштабировать test-time compute.

6.3.2. Что Toggle меняет во время инференса

Toggle работает исключительно во время RL. Обе чередующиеся фазы обновляют одну и ту же policy, то есть LLM, а в финальном едином чекпойнте нет переключателя между режимами с budget и без ограничений. На инференсе полученная модель по умолчанию работает в thinking mode.

При этом в некоторых проверенных мной API, включая vLLM и SGLang, сама Kimi K2.5 предлагает отдельный двоичный выбор между thinking и instant. Первый включен по умолчанию. Режим instant отключает reasoning-трейс через thinking: {"type": "disabled"} в официальном API или chat_template_kwargs={"thinking": False} при запуске через vLLM или SGLang. Эти настройки не относятся к Toggle.

Официальный отчет Kimi не описывает отдельную методику обучения instant. Однако SFT-данные K2.5 создавались и более ранней K2, которая выдает прямые ответы без длинного reasoning, и K2 Thinking, которая формирует развернутые reasoning-трейсы. Вероятно, благодаря этому единый чекпойнт знакомится с обоими форматами, как в Nemotron 3. На инференсе chat template выбирает между ними, заранее подставляя открывающий <think> для thinking mode или пустой <think></think> для instant mode. Точный состав данных и возможное дополнительное RL для отдельных режимов в отчете не раскрыты.

Более новая Kimi K3 предлагает прямой интерфейс управления reasoning effort на инференсе. В актуальной документации Kimi Code перечислены три настройки: low, high и используемая по умолчанию max. Они передаются параметром reasoning_effort. Однако Moonshot пока не объяснила, как эти уровни формировались при обучении. В анонсе сказано, что подробности появятся в будущем техническом отчете K3.

6.3.3. Kimi K3, обновление

Согласно новому техническому отчету Kimi K3, который вышел уже после публикации этой статьи, Kimi K3 поддерживает три режима: low, high и max.

Для каждой обучающей задачи исследователи сначала оценивают исходный бюджет токенов. В простой проверяемой задаче правильный ответ обычно получает награду +1, а неправильный 0. Здесь же ответ, превысивший выбранный бюджет, получает -1. Это создает сильный стимул не выходить за лимит. Для непроверяемых и агентных задач схема награды отличается. Кроме того, Kimi использует обученные reward models и попарные сравнения.

Обучение трех режимов Kimi K3 устроено следующим образом. Сначала исследователи обучают специализированную max-effort-модель с относительно щедрым budget. Затем budget уменьшают и обучают версии high и low.

Процесс повторяется для трех областей: общих задач, универсальных агентов и агентов для программирования. В каждой области создается отдельная специализированная модель для каждого уровня. Например, одна модель осваивает поведение агента для программирования с низким reasoning effort, а другая осваивает поведение универсального агента с максимальным reasoning effort. Всего получается девять специализированных моделей.

Затем поведение девяти специализированных моделей объединяется в единую Kimi K3 с помощью on-policy-дистилляции от нескольких teacher-моделей. На инференсе нужный уровень задается инструкцией thinking-effort на естественном языке внутри промпта.

6.4. GLM-5 добавляет turn-level и interleaved thinking через SFT

Технический отчет GLM-5 расширяет двоичный переключатель thinking из GLM-4.5 на многоходовые сценарии и работу с инструментами. В нем описаны не три уровня reasoning effort, а три связанных вида поведения:

  • Interleaved thinking: reasoning-блок вставляется перед каждым ответом и вызовом инструмента.

  • Preserved thinking: чат сохраняет reasoning-блоки из предыдущих ходов, чтобы модель могла использовать их позднее.

  • Turn-level thinking: reasoning включается или отключается отдельно для каждого запроса внутри диалога.

На инференсе именно turn-level thinking служит переключателем. В API Z.ai thinking включен по умолчанию, а для отдельного запроса его можно отключить через thinking: {"type": "disabled"}. Реализация облачного сервиса не раскрывается, но открытый chat template GLM-5 показывает эквивалентный механизм при самостоятельном запуске через Transformers, vLLM или SGLang.

При включенном thinking ответ ассистента начинается с <|assistant|><think>, а при отключенном с <|assistant|></think>. Во втором случае reasoning-блок закрывается сразу, и модель переходит к финальному ответу.

В отчете сказано, что эти виды поведения вводятся во время многозадачного SFT вместе с обновленным chat template.

После SFT GLM-5 последовательно проходит reasoning RL, agentic RL и общее RL. На финальном этапе on-policy-дистилляции чекпойнты предыдущих стадий выступают teacher-моделями. Это помогает итоговой модели восстановить способности, которые могли ослабнуть во время последовательных стадий RL.

Рисунок 31. Пайплайн обучения GLM-5.

6.5. Qwen3 объединяет режимы и обрезает reasoning на инференсе

Qwen3 уже рассматривалась в разделе 4, поэтому здесь я повторю только важные для сравнения детали. Согласно техническому отчету Qwen3, посттрейн состоит из четырех этапов: SFT на длинных reasoning-трейсах, reasoning RL, Thinking Mode Fusion и общее RL.

Thinking Mode Fusion играет ключевую роль в двоичном переключении. На этом этапе модель проходит SFT на смеси примеров с reasoning и без него. Примеры /think содержат reasoning-трейс, а /no_think начинаются с пустого <think></think>, после которого идет короткий ответ. Последующее общее RL закрепляет выполнение инструкций и соблюдение формата для обоих вариантов поведения.

Qwen3 также поддерживает жесткий reasoning budget. При достижении порога reasoning-трейс останавливается, в него вставляется инструкция прекратить thinking, после чего модель продолжает формировать финальный ответ. Согласно отчету, такое поведение с частичным reasoning не обучалось явно, а возникло после Thinking Mode Fusion.

В результате Qwen3 получает выученный двоичный переключатель и reasoning budget на инференсе. Схема похожа на DeepSeek V4 и Nemotron, но устроена проще.

6.6. Inkling задает RL conditioning непрерывным значением reasoning effort

Inkling уже обсуждалась в разделе 5.3. Если коротко, в ее техническом отчете используется непрерывный reasoning effort от 0,0 до 1,0 вместо фиксированных меток.

После относительно небольшого начального SFT основная часть посттрейна Inkling приходится на асинхронное RL с более чем 30 миллионами роллаутов. Требуемый reasoning effort указывается в системном сообщении, а штраф за длину во время RL корректируется по этому значению. Высокая стоимость токена поощряет короткий ответ, а низкая оставляет модели больше пространства для reasoning.

6.7. Обзор известных методик

На таблице ниже сведено то, что действительно описано в шести технических отчетах.

Рисунок 32. Сравнение опубликованных механизмов обучения и элементов управления инференсом у шести моделей с открытыми весами и настройками reasoning effort.

У шести рассмотренных моделей есть общая схема. Сначала управление режимом вводится через SFT и chat template. Qwen3 явно смешивает примеры с reasoning и без него, а GLM-5 добавляет interleaved, preserved и turn-level thinking.

Второй общий компонент представляет собой RL с conditioning по режиму, где контекстное окно и штраф за длину меняются вместе с требуемым reasoning effort. Такой подход используют DeepSeek V4, Nemotron 3 Ultra и Inkling.

Третий компонент повышает устойчивость при явных budgets. Nemotron обучается на случайно обрезанных reasoning-трейсах, Qwen3 умеет продолжить работу после принудительной остановки reasoning, а Kimi чередует RL с budget и без ограничений. Эти методы помогают сохранить качество ответа, когда доступная длина reasoning меняется или трейс неожиданно обрывается.

7. Заключение

В рассмотренных моделях с открытыми весами reasoning effort реализован несколькими способами. За похожими метками могут стоять отдельные специализированные модели, смешанные SFT-данные, mode-conditioned rewards, жесткие токен-бюджеты или сочетания этих методов.

Сказать, какой подход лучше, трудно. Модели различаются базовыми чекпойнтами, обучающими данными, объемом вычислений на посттрейне, бенчмарками и требованиями к развертыванию. Кроме того, в отчетах не хватает деталей для контролируемого сравнения. Универсального решения может не существовать: метод, хорошо подходящий интерактивному ассистенту, способен оказаться неудачным для долго работающего агента.

Идеальным решением был бы автоматический выбор reasoning effort. Некоторое время назад такой подход появился в режиме Auto модели GPT-5. Задача оказалась сложной, а реализация, вероятно, чаще промахивалась, чем попадала в цель. Возможно, поэтому режим убрали из интерфейса. По крайней мере, сейчас я его там не нахожу.

В ближайшем будущем reasoning effort, на мой взгляд, останется явным входным параметром модели, чаще всего передаваемым через системный промпт. Но агентная обвязка вокруг LLM или внутренний роутер, возможно, будут все чаще автоматически выбирать режим и budget по состоянию задачи и доступным ресурсам. Пользователь при этом сможет переопределить выбор.

Я по-прежнему надеюсь, что выбор reasoning effort станет более автоматическим. Как в режиме Auto у GPT-5, недорогая модель или роутер могла бы выбирать режим по запросу, состоянию инструментов, оставшемуся времени и токен-бюджету. Ручное переопределение все равно полезно, если нужно оптимизировать latency и стоимость или, наоборот, добиться максимального качества.

Статья получилась длинной и, возможно, посвящена не самой эффектной теме. Но на фоне всех разговоров о LLM, reasoning-моделях и агентах мне показалось полезным разобрать аспект, который раньше почти не освещали. Надеюсь, этот необычный обзор оказался полезным.

Примечание переводчика. Из Хабр-версии исключен рекламный блок о книге автора и платной подписке.