Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
Модель научили чаще находить хотя бы одно верное решение в серии попыток, не сводя ответы к нескольким повторяющимся схемам. В препринте University of Chicago и Northwestern University, который ещё не прошёл рецензирование и приводит замеры самих авторов, DRY-SFT превзошёл базовую модель на всех трёх наборах задач при ста попытках. Для продуктов с параллельной генерацией это меняет цель дообучения: вместо лучшего одиночного ответа можно повышать шанс получить хотя бы один правильный.
Как разнообразие переносят в веса модели
DRY-SFT состоит из двух стадий. Сначала модель последовательно решает одну задачу несколько раз: каждая новая попытка видит предыдущие и получает указание предложить другой вариант. Для основных экспериментов цепочка включала пять решений.
Затем историю убирают. Каждую попытку превращают в отдельную пару «задача — решение» и дообучают модель так, будто ответ был создан независимо. На рабочем контуре модель снова получает только исходную задачу, а варианты можно генерировать параллельно.
В обучении нет награды, программы для проверки и фильтра правильности. В набор попадают в том числе ошибочные решения: метод учит не выбирать правильный ответ, а распределять вероятность между разными подходами. Это отличает его от схем, которые сначала выполняют код, отбрасывают ошибки и обучаются только на прошедших тесты вариантах.
Ключевой шаг — показать предыдущие решения при подготовке данных, а затем скрыть их при дообучении. Контрольный вариант с тем же числом независимо созданных ответов почти не улучшил покрытие. Значит, обычное самообучение на собственных генерациях не заменяет цепочку, где модель вынуждена отходить от уже использованного способа.
Покрытие здесь измеряет pass@k — вероятность, что хотя бы одна из нескольких независимых попыток пройдёт тесты. Такая метрика подходит для кода, где варианты можно выполнить и сравнить, но не обещает, что первый ответ станет лучше.
Покрытие выросло, одиночный ответ ослаб
На HumanEval+ прирост pass@100 составил 10,8 процентного пункта, на MBPP+ — 12,5, на DS-1000 — 12,4. Разница с базовой моделью статистически значима на всех трёх наборах. Ни контроль с независимой генерацией, ни P-SFT не воспроизвели этот результат.
Улучшение серии куплено ценой первого ответа. Самое заметное падение pass@1 произошло на DS-1000: с 35,7% до 29,3%. При этом кривая DRY-SFT обходила базовую модель уже со второй попытки на двух наборах и с третьей на оставшемся.
Различались не только формулировки кода. Структурное разнообразие измеряли расстоянием между абстрактными синтаксическими деревьями правильных программ: такая проверка отделяет переименование переменных от смены алгоритма или устройства программы. После DRY-SFT разнообразие значимо выросло на каждом наборе.
Повышение температуры вернуло базовой модели часть покрытия, но не дало того же структурного разнообразия. На верхней части проверенного диапазона качество генераций начало падать. Простая перенастройка выбора следующего токена не заменила изменение самого распределения ответов.
Метод полезен там, где продукт проверяет несколько кандидатов
DRY-SFT меняет планы команд, если система уже может получить несколько решений и автоматически выбрать рабочее: выполнить тесты, проверить ограничения или передать кандидатов следующему этапу. Тогда небольшая потеря качества первой попытки допустима, а рост покрытия сокращает риск, что вся серия повторит один неудачный подход.
Отсутствие проверяющей программы относится именно к дообучению. Чтобы использовать покрытие в продукте, всё равно нужен способ распознать правильный результат среди кандидатов. Для генерации кода это может быть запуск тестов; работа не показывает, как выбирать ответ в задачах, где результат нельзя надёжно проверить.
Перед внедрением можно измерить структурное разнообразие уже работающей модели. В опытах с девятью моделями с открытыми весами этот показатель объяснял 65% различий в приросте покрытия: чем сильнее исходные ответы были сосредоточены вокруг нескольких схем, тем больше помогал DRY-SFT. Для модели, которая и так выдаёт разные алгоритмы, дополнительное дообучение могло не дать выигрыша.
Основные сравнения провели на Qwen3-4B-Instruct-2507 и трёх наборах задач по программированию. Результат также проверили на отложенных задачах, между наборами и на других моделях, но за пределами кода метод не испытывали. Повторные циклы самообучения тоже не изучались.
Подготовка данных идёт последовательно, а контекст растёт с каждой попыткой, поэтому этот этап дороже независимой генерации. Расход возникает один раз при сборке обучающего набора. После дообучения решения снова создаются независимо и параллельно, без цепочки предыдущих ответов в запросе.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



