Хороший учитель исходит из уровня ученика

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

АвторыPerplexity Research & NVIDIA

Введение

Обучение с подкреплением (RL) широко применяется на этапе постобучения языковых моделей, чтобы улучшить их способности в сложных задачах на рассуждение и в агентных задачах с длинным горизонтом.

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

Один из популярных способов справиться с этой разреженностью — дистилляция на собственной политике (On-Policy Distillation, OPD): более сильная модель-учитель потокенно направляет собственные попытки ученика, обеспечивая гораздо более плотные награды. Однако преподавание — само по себе навык. Модель, которая хорошо решает задачу, не обязательно хорошо ей обучает: её обратная связь может выходить за рамки текущих возможностей ученика. Поэтому имеет смысл обучать не только ученика подражать учителю, но и учителя — давать ученику указания, лучше согласованные с его уровнем.

Мы предлагаем один из таких методов — Joint On-policy Learning and Teaching (JOLT, совместное on-policy обучение и преподавание). Опираясь на самодистилляцию на собственной политике (On-Policy Self-Distillation, OPSD), мы используем одну модель в двух ролях: учителя, имеющего доступ к привилегированной информации, например к проверенным решениям, и ученика, у которого такого доступа нет. Мы обучаем обе роли совместно. Ученик следует стандартной целевой функции дистилляции. Целевая функция учителя побуждает его давать такую обратную связь, которая сдвигает ученика в том же направлении, что и RL на собственной награде ученика. Вместе эти целевые функции учат учителя исходить из текущего уровня ученика и помогают ученику учиться на указаниях, которые ему по силам.

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

От разреженных наград к плотной обратной связи

В простейшей форме RL с наградой за результат использует целевую функцию ожидаемой отдачи:

JRL(θ)=Eτ∼πθ[R(τ)]\mathcal{J}_{\mathrm{RL}}(\theta) = \mathbb{E}_{\tau\sim\pi_\theta}\left[R(\tau)\right]

Здесь τ\tau — траектория, следующая политике πθ\pi_\theta, а R(τ)R(\tau) — отдача этой траектории. Соответствующий градиент политики равен:

gRL(θ)=∇θJRL(θ)=Eτ∼πθ[∑tR(τ) ∇θlog⁡πθ(at∣st)]g_{\mathrm{RL}}(\theta) = \nabla_\theta \mathcal{J}_{\mathrm{RL}}(\theta) = \mathbb{E}_{\tau\sim\pi_\theta}\left[\sum_t R(\tau)\,\nabla_\theta\log\pi_\theta(a_t\mid s_t)\right]

где sts_t и ata_t обозначают состояние и действие соответственно на временном шаге tt. Чтобы снизить дисперсию оценок по выборке, градиент часто записывают так:

gRL(θ)=Eτ∼πθ[∑tAπθ(st,at) ∇θlog⁡πθ(at∣st)]g_{\mathrm{RL}}(\theta) = \mathbb{E}_{\tau\sim\pi_\theta}\left[\sum_t A^{\pi_\theta}(s_t,a_t)\,\nabla_\theta\log\pi_\theta(a_t\mid s_t)\right]

где преимущество Aπθ(st,at)A^{\pi_\theta}(s_t, a_t) измеряет ожидаемую избыточную отдачу действия ata_t относительно текущей политики в состоянии sts_t. Один из подходов, Group Relative Policy Optimization (GRPO), оценивает преимущество, сравнивая отдачу каждой траектории со средней отдачей группы, сэмплированной для того же промпта.

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

On-Policy Distillation (OPD) — один из таких подходов. Вместо того чтобы учиться только на итоговой награде, OPD сэмплирует траектории ученика и оценивает каждое сэмплированное действие с помощью более сильного учителя. Для политики учителя πT\pi_T и зафиксированного снимка θˉ\bar{\theta} параметров ученика, использованного для генерации траекторий, локальный градиент в точке θ=θˉ\theta = \bar{\theta} равен:

gOPD(θˉ;πT)=∇θJOPD(θ;θˉ,πT)∣θ=θˉ=−∇θEτ∼πθˉ ⁣[∑tKL ⁣(πθ(⋅∣st) ∥ πT(⋅∣st))]∣θ=θˉ=Eτ∼πθˉ[∑t(log⁡πT(at∣st)−log⁡πθˉ(at∣st)) ∇θˉlog⁡πθˉ(at∣st)]\begin{aligned}g_{\mathrm{OPD}}(\bar\theta;\pi_T) &= \left.\nabla_\theta \mathcal{J}_{\mathrm{OPD}}(\theta;\bar\theta,\pi_T)\right|_{\theta=\bar\theta}\\ &= -\left.\nabla_\theta \mathbb{E}_{\tau\sim\pi_{\bar\theta}}\!\left[\sum_t \mathrm{KL}\!\left(\pi_\theta(\cdot\mid s_t)\,\middle\|\,\pi_T(\cdot\mid s_t)\right)\right]\right|_{\theta=\bar\theta}\\ &= \mathbb{E}_{\tau\sim\pi_{\bar\theta}}\left[\sum_t \bigl(\log\pi_T(a_t\mid s_t)-\log\pi_{\bar\theta}(a_t\mid s_t)\bigr)\,\nabla_{\bar\theta}\log\pi_{\bar\theta}(a_t\mid s_t)\right]\end{aligned}

Здесь JOPD(θ;θˉ,πT)\mathcal{J}_{\mathrm{OPD}}(\theta;\bar\theta,\pi_T) — целевая функция дистилляции в виде отрицательной обратной KL-дивергенции. Политика учителя и сэмплированные префиксы при дифференцировании считаются фиксированными. Логарифм отношения вероятностей учителя и ученика даёт плотный обучающий сигнал в каждом посещённом состоянии, заменяя преимущество в роли веса на уровне действий.

On-Policy Self-Distillation (OPSD) идёт дальше и устраняет необходимость в отдельной модели-учителе. Политика ученика сама служит себе учителем, получая привилегированную информацию, например проверенное решение, обратную связь или эталонную трассу. Однако OPSD лишь учит ученика подражать учителю; механизма, который гарантировал бы, что учитель даёт ученику полезный сигнал, нет.

Совместное on-policy обучение и преподавание

JOLT расширяет OPSD: общая модель обучается одновременно и как учитель, дающий лучше согласованные указания, и как ученик, который на них учится. Более информированный учитель учится на наградах за результат с KL-регуляризацией в сторону ученика, а ученик без привилегированного доступа учится на плотном сигнале дистилляции от учителя. Обновление учителя использует попытки, сгенерированные учителем, а обновление ученика — попытки, сгенерированные учеником и оценённые учителем. JOLT+ дополнительно подкрепляет сигнал дистилляции ученика наградами за результат.

Одна политика учится и как учитель, и как ученик.

Обучение учителя

Определяем, что должен делать учитель

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

Назовём учителя согласованным с наградой, если обновление дистилляции, которое он вызывает у ученика, совпадает с градиентом политики ожидаемой награды ученика за задачу с точностью до положительного множителя. А именно, согласованный с наградой учитель πT⋆\pi_T^\star должен удовлетворять условию:

gOPD(θˉ;πT⋆)=1βT gRL(θˉ)g_{\mathrm{OPD}}(\bar\theta;\pi_T^\star) = \frac{1}{\beta_T}\,g_{\mathrm{RL}}(\bar\theta)

где βT\beta_T — положительный скаляр. Как и в предыдущем разделе, gOPDg_{\mathrm{OPD}} — локальный градиент OPD, θˉ\bar\theta — зафиксированный снимок параметров модели ученика θ\theta, а gRLg_{\mathrm{RL}} — градиент политики для целевой функции ожидаемой отдачи.

Этому условию удовлетворяет, например, такой учитель:

πT⋆(a∣s,c)=1Z(s) πθˉ(a∣s)exp⁡ ⁣(1βTAπθˉ(s,a))\pi_T^\star(a\mid s,c) = \frac{1}{Z(s)}\,\pi_{\bar\theta}(a\mid s)\exp\!\left(\frac{1}{\beta_T}A^{\pi_{\bar\theta}}(s,a)\right)

Здесь Aπθˉ(s,a)A^{\pi_{\bar{\theta}}}(s, a) — преимущества продолжения ученика, а Z(s)Z(s) — нормирующая константа, обеспечивающая корректное распределение вероятностей.

От идеальной цели к целевой функции учителя

Учителя можно обучать в направлении идеальной цели πT⋆\pi_T^\star, минимизируя KL-дивергенцию до неё. Для фиксированного ученика и состояния ss это даёт:

min⁡πT KL ⁣(πT(⋅∣s,c) ∥ πT⋆(⋅∣s,c))\min_{\pi_T}\,\mathrm{KL}\!\left(\pi_T(\cdot\mid s,c)\,\middle\|\,\pi_T^\star(\cdot\mid s,c)\right)

Подстановка выражения для πT⋆\pi_T^\star даёт эквивалентную задачу максимизации:

max⁡πT{Ea∼πT(⋅∣s,c) ⁣[Aπθˉ(s,a)]−βT KL ⁣(πT(⋅∣s,c) ∥ πθˉ(⋅∣s))}\max_{\pi_T}\Biggl\{\mathbb{E}_{a\sim\pi_T(\cdot\mid s,c)}\!\left[A^{\pi_{\bar\theta}}(s,a)\right]-\beta_T\,\mathrm{KL}\!\left(\pi_T(\cdot\mid s,c)\,\middle\|\,\pi_{\bar\theta}(\cdot\mid s)\right)\Biggr\}

Эта целевая функция побуждает учителя выбирать действия с более высоким преимуществом для ученика, оставаясь при этом близко к распределению действий ученика. Параметр βT\beta_T управляет силой этого штрафа: большие значения удерживают учителя ближе к текущему поведению ученика, а меньшие позволяют ему активнее отдавать предпочтение действиям с высоким преимуществом.

Практическая суррогатная целевая функция

Эта целевая функция зависит от того, насколько хорошо ученик продолжил бы после каждого действия, но такие преимущества продолжения ученика, как правило, недоступны. Поэтому в качестве практического суррогата мы используем центрированную отдачу собственных траекторий учителя. Член награды побуждает учителя решать задачу, а KL-член препятствует отклонениям от текущего распределения действий ученика. Хотя KL-член удерживает учителя рядом с учеником, такая замена не является точной: отдача учителя не обязана совпадать с преимуществами продолжения ученика.

JT(θ;θˉ)=Eτ∼πθˉ(⋅∣c)[ ∑t(sg⁡[A^T(τ)]log⁡πθ(at∣st,c)−βT KL(πθ(⋅∣st,c) ∥ sg⁡[πθˉ(⋅∣st)]))]\begin{aligned}\mathcal{J}_T(\theta;\bar\theta) = \mathbb{E}_{\tau\sim\pi_{\bar\theta}(\cdot\mid c)}\Biggl[\,\sum_t \Bigl(&\operatorname{sg}\bigl[\widehat{A}_T(\tau)\bigr]\log\pi_\theta(a_t\mid s_t,c)\\ &-\beta_T\,\mathrm{KL}\bigl(\pi_\theta(\cdot\mid s_t,c)\,\big\|\,\operatorname{sg}[\pi_{\bar\theta}(\cdot\mid s_t)]\bigr)\Bigr)\Biggr]\end{aligned}

Здесь A^T(τ)\widehat{A}_T(\tau) — отдача попытки учителя за вычетом средней отдачи попыток, сгенерированных учителем, в её группе. Оператор sg⁡\operatorname{sg} обозначает остановку градиента: его аргумент при дифференцировании считается фиксированным, как и сэмплированные префиксы и эталон ученика.

Обучение ученика

Обновление ученика — это стандартное обновление OPSD. Ученик генерирует траектории по задаче. Затем та же модель оценивает каждый сэмплированный токен, имея в контексте привилегированную информацию. Целевая функция ученика штрафует обратную KL-дивергенцию между учеником и этим привилегированным учителем в каждом состоянии, которое посещает ученик:

JOPSD(θ;θˉ)=− Eτ∼πθˉ[∑tKL(πθ(⋅∣st) ∥ sg⁡[πθˉ(⋅∣st,c)])]\mathcal{J}_{\mathrm{OPSD}}(\theta;\bar\theta) = -\,\mathbb{E}_{\tau\sim\pi_{\bar\theta}}\left[\sum_t \mathrm{KL}\bigl(\pi_\theta(\cdot\mid s_t)\,\big\|\,\operatorname{sg}[\pi_{\bar\theta}(\cdot\mid s_t,c)]\bigr)\right]

Таким образом, токены, которые предпочитает учитель, подкрепляются, а токены, которые учитель считает менее вероятными, чем ученик, подавляются.

Собираем всё вместе

Объединение целевых функций учителя и ученика даёт совместную целевую функцию обучения:

JJOLT(θ;θˉ)=JT(θ;θˉ)+βS JOPSD(θ;θˉ)\mathcal{J}_{\mathrm{JOLT}}(\theta;\bar\theta) = \mathcal{J}_T(\theta;\bar\theta) + \beta_S\,\mathcal{J}_{\mathrm{OPSD}}(\theta;\bar\theta)

βS\beta_S — скаляр, задающий вес функции потерь дистилляции ученика в объединённом обновлении.

Результат о согласованности с наградой описывает, как обновляется ученик при дистилляции от заданного учителя. JOLT использует этот принцип для управления совместным обучением, объединяя целевые функции учителя и ученика для обновления их общих параметров.

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

JJOLT+(θ;θˉ)=JT(θ;θˉ)+βS JOPSD(θ;θˉ)+Eτ∼πθˉ ⁣[∑tsg⁡[A^S(τ)] log⁡πθ(at∣st)]\begin{aligned}\mathcal{J}_{\mathrm{JOLT+}}(\theta;\bar\theta) &= \mathcal{J}_T(\theta;\bar\theta)+\beta_S\,\mathcal{J}_{\mathrm{OPSD}}(\theta;\bar\theta)\\ &\quad+\mathbb{E}_{\tau\sim\pi_{\bar\theta}}\!\left[\sum_t \operatorname{sg}[\widehat{A}_S(\tau)]\,\log\pi_\theta(a_t\mid s_t)\right]\end{aligned}

Здесь A^S(τ)\widehat{A}_S(\tau) — отдача траектории ученика за вычетом средней отдачи её группы траекторий, сгенерированных учеником.

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

Псевдокод одного шага обучения JOLT.

Эксперименты

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

  • GSM8K: мы обучаем DeepSeek-V2-Lite на GSM8K — наборе данных школьных математических задач. Учитель получает проверенный ответ на каждую задачу.
  • MATH: мы обучаем Qwen3-0.6B на MATH. Учитель получает подробные эталонные решения.
  • LCBv6: мы обучаем Qwen3-8B на 131 задаче по программированию из LiveCodeBench-V6. Учитель получает сгенерированное моделью решение, прошедшее все тесты, видимые при обучении, или обратную связь от выполнения, если ни одна попытка их не прошла.
  • AppWorld: мы обучаем Qwen3-4B-Instruct на AppWorld. Учитель получает краткие сводки предыдущих попыток.
  • Terminal-Bench: мы обучаем Qwen3-30B-A3B-Instruct на TMax — наборе обучающих задач для терминальных агентов — и оцениваем на Terminal-Bench 2.1. Учитель получает закрытую информацию верификатора.

Мы сравниваем JOLT с GRPO, OPSD и π-Distill, подбирая гиперпараметры для каждого метода. Как и JOLT, π-Distill совместно обучает привилегированную роль учителя и роль ученика в общей модели; однако он использует другую цель для учителя, а обновление ученика в нём остаётся off-policy: оно опирается на траектории, сгенерированные учителем, а не на собственные генерации ученика.

Точность

JOLT+ показывает наивысший средний балл во всех оцениваемых нами сценариях. По сравнению с GRPO, самым сильным из протестированных базовых методов, он повышает точность на GSM8K на 1,5 процентного пункта (п. п.), на MATH — на 4,2 п. п., на LCBv6 — на 3,0 п. п., а долю прохождения тестов состояния в AppWorld — на 9,9 п. п.

JOLT+ показывает наивысший средний балл на всех четырёх бенчмарках.

Без какой-либо прямой награды для ученика средняя точность JOLT выше, чем у GRPO, на GSM8K, MATH и LCBv6. Однако на AppWorld она остаётся ниже, чем у GRPO и π-Distill.

Terminal-Bench 2.1 — сценарий с самым длинным горизонтом. JOLT+ показывает наивысший pass@k при каждом приведённом k: от 10,96% при pass@1 до 34,83% при pass@32. JOLT превосходит базовую модель и оба базовых метода дистилляции при каждом k, но остаётся ниже GRPO. OPSD при каждом k уступает базовой модели.

JOLT+ лидирует в Terminal-Bench при любом бюджете попыток.

Эффективность по токенам и масштабирование

Нас также интересует, как качество масштабируется с ростом бюджета обучения. Мы оцениваем GRPO, OPSD и JOLT при разных бюджетах обучающих токенов на MATH и сравниваем итоговую точность ученика.

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

JOLT требуется меньше токенов, чтобы достичь точности GRPO.

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

JOLT уже на раннем этапе демонстрирует высокую эффективность по выборкам и при этом достигает наивысшей точности из трёх методов, выходя на плато около 72%. OPSD быстро прогрессирует при малых бюджетах, но останавливается на точности около 62%. GRPO поначалу учится медленнее, но продолжает улучшаться дольше и доходит примерно до 70%. При одинаковой точности 63,44% наблюдаемый чекпойнт GRPO использует 8,40 млн токенов, тогда как аппроксимирующая кривая JOLT даёт 1,30 млн — в 6,5 раза меньше.

Мы также измеряем затраты в токенах генерации: для GRPO и OPSD учитываются генерации ученика, для JOLT — генерации и учителя, и ученика, но без промптов, привилегированного контекста и дополнительных проходов оптимизации. При сравнении по токенам генерации, а не по обработанным обучающим токенам, разрыв в эффективности при том же уровне точности увеличивается примерно до 13 раз. В диапазоне целевых значений точности JOLT использует в 9,5–14,4 раза меньше токенов генерации и в 4,3–7,4 раза меньше обработанных обучающих токенов.

Преимущество JOLT по токенам сохраняется при точности от 55% до 65%.

Заключение

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

Такое совместное обучение повышает и точность, и эффективность. С наградами за результат для ученика JOLT+ достигает абсолютного прироста по сравнению с GRPO в 1,5 п. п. на GSM8K, 4,2 п. п. на MATH, 3,0 п. п. на LCBv6, 9,9 п. п. на AppWorld и 2,7 п. п. по метрике pass@1 на Terminal-Bench 2.1. На MATH при одинаковой точности JOLT расходует в 13 раз меньше токенов генерации и в 6,5 раза меньше обработанных обучающих токенов, чем GRPO, без прямой награды для ученика.

JOLT позволяет указаниям учителя развиваться вместе с учеником. Это подталкивает к вопросу, может ли учитель также научиться генерировать полезные обучающие задачи. Интересное направление для будущих работ — совместно обучать учителя, генерирующего задачи, и ученика, решающего их, используя прогресс ученика в обучении для улучшения генерируемых задач в рамках учебной программы. Благодаря этому синтетическая генерация задач могла бы учитывать, к изучению чего ученик готов на следующем шаге.

Подробнее читайте в полной версии нашей статьи. В ближайшее время мы откроем исходный код.

Цитирование

BibTeX
@online{perplexity2026AGoodTeacherMeetsTheStudentWhereTheyAre,
  author = {{Perplexity} and Randy Ardywibowo and Arnav Dalal and Jiantao Jiao and Jarrod Bryan and Claire Beamer and Jeremy Yang and Jerry Ma},
  title = {{A good teacher meets the student where they are}},
  date = {2026-10-21},
  url = {https://www.perplexity.ai/hub/blog/a-good-teacher-meets-the-student-where-they-are}
}