Почему мы создали бенчмарк до обучения следованию инструкциям

Источник: AI21•

Почему мы создали бенчмарк до обучения следованию инструкциям

Награды за следование инструкциям проверяют правила, а не задачу. Вот почему мы сначала создали LIFT-Bench.

Кратко

Обучите модель на стандартных наградах за следование инструкциям (IF), и она научится удовлетворять ограничениям и пропускать саму задачу. Один из наших запусков ответил на запрос главы по истории одним словом и получил максимальную награду. В этой статье мы расскажем, как мы провели обучение правильно. Для этого сначала пришлось создать LIFT-Bench — бенчмарк, в котором каждое ограничение привязано к одному разделу документа, а сама задача оценивается, и затем использовать эту же оценку в качестве награды при RL. При таком обучении модель не деградировала и стабильно держалась на внешних бенчмарках, в то время как IFTrain давал сбои.

Запуск, который выглядел идеальным

Допустим, вы решили обучить модель, которая создает черновики документов. Ваши пользователи дают ей тему, план и несколько правил: этот раздел на немецком, здесь — сравнительная таблица, а резюме должно быть короче 100 слов. Вы выбрали лучшую базовую модель из доступных, взяли IFTrain — популярный открытый датасет для следования инструкциям — и запустили RL, используя его проверяющие скрипты в качестве наград.

Это работает! Награда растет до 1.0, IFEval поднимается на 5 пунктов, IFBench — на 16. Затем вы действительно читаете результаты (как и следует делать). На запрос написать главу об альтернативной истории Синьхайской революции без повторения слов более четырех раз ваша модель отвечает: «Китай».

Это не мысленный эксперимент; это произошло, когда мы провели этот (реальный) эксперимент. Это научило нас уроку, который лежит в основе всего остального: награда за следование инструкциям должна проверять, была ли выполнена задача, а не только соблюдались ли правила. Чтобы добиться этого, сначала пришлось создать бенчмарк.

Что пошло не так: награда никогда не видела задачу

«Китай» не был случайностью: к шагу 390 медианная длина ответа сократилась со 114 слов до 18. Причина проста. Награда IFTrain, как и в IFEval, проверяет ограничения с помощью кода (нет запятых, ключевое слово встречается три раза) для всего ответа целиком. Ничто не проверяет, была ли выполнена задача, поэтому отказ от нее ничего не стоит, и RL это обнаруживает.

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

Поэтому перед тем как что-либо обучать, нам потребовалась система оценки, которая видела бы саму задачу.

Шаг 1: Создание оценки, которая видит задачу

У создания черновиков здесь есть одно большое преимущество — структура. Вместо проверки каждого ограничения по всему ответу мы привязываем каждое из них к определенному разделу плана и оцениваем только по тексту этого раздела. В этом разница между «абзацем на французском где-нибудь» и «разделом 2.1 на французском». Мы называем такие ограничения локализованными (scoped constraints), и они составляют основу LIFT-Bench.

Каждый раздел содержит два типа ограничений. Проверяемые (verifiable) проверяются с помощью кода (например: написать на немецком, использовать слово «турнир» не менее трех раз). Оцениваемые (judged) проверяются с помощью языковой модели и описывают то, что должен охватывать раздел (например: проследить историю чемпионатов до их первого официального турнира). Оцениваемые ограничения представляют собой саму задачу, расписанную раздел за раздел, и учитываются в той же оценке, что и форматирование.

Локализация также дает нам инструмент управления, которого нет ни у одного существующего IF-бенчмарка: плотность (density), то есть количество ограничений на один раздел. Мы задаем этот параметр при генерации задач, независимо от общего числа ограничений в документе.

Все данные синтетические. Темы берутся из Википедии, планы и ограничения — от языковой модели, а сэмплер контролирует, сколько ограничений попадает в каждый раздел. Этот же пайплайн генерирует и плоские задачи (flat tasks) — без плана, где каждое ограничение применяется ко всему ответу целиком, как в IFEval. LIFT-Bench содержит 784 тестовые задачи в десяти подмножествах: короткие и длинные документы (примерно 4 и 9 разделов) на четырех уровнях плотности, плюс два плоских подмножества.

Шаг 2: Убедиться, что судья работает

Оцениваемые ограничения требуют судьи, а награда хороша настолько, насколько хорош ее судья. В стандартной конфигурации судье передается полный промпт, полный ответ и один критерий. Мы протестировали это на 305 примерах с разметкой от людей, и судья отвечал «да» почти на все. Gemma-4-31B приняла 292 примера, в то время как фактически были выполнены только 227. Нелокализованная Qwen2.5-32B набрала 0.44 по макро-F1, что примерно соответствует простому ответу «да» на все (0.43).

Поэтому мы тоже локализовали судью. Вместо всего документа он получает короткий запрос для одного раздела и только тот текст, к которому применяется ограничение:

Локализация добавила 11–19 пунктов — это сильнейший эффект среди всех наших изменений, включая саму модель-судью. Наш вывод: нелокализованные судьи ошибались не столько в оценке, сколько в поиске нужного абзаца в длинном документе. Мы остановились на локализованной Gemma-4-31B.

Здесь это важнее, чем обычно, поскольку тот же судья выдает награду для RL. Судья, который говорит «да» почти всему, привел бы к тому же коллапсу, с которого мы начали.

Шаг 3: Переосмысление базовой модели

Вернемся к началу: вы выбрали лучшую базовую модель. Лучшую по какому критерию? Большинство таблиц лидеров IF используют плоские промпты в стиле IFEval, где каждое ограничение относится ко всему ответу. LIFT-Bench позволяет сравнить этот подход с локализованными задачами в рамках одного пайплайна. Мы оценили 17 моделей, по 8 сэмплов на задачу.

На структурированных задачах лучшие модели близки к потолку: GPT-5.5 в среднем набирает 0.96. На плоских задачах никто не преодолевает отметку 0.85, а ведущие закрытые модели показывают в среднем 0.65–0.72. Дело не в нагрузке. Плоские задачи содержат гораздо меньше ограничений, и когда мы ограничиваем обе категории задачами с 10 или менее ограничениями, все модели, кроме одной, все равно набирают меньше баллов на плоских задачах. Баллы за структуру, которые можно получить только в структурированных задачах, составляют 10% от оценки — это слишком мало, чтобы объяснить такую разницу.

Рейтинги тоже меняются. Среди девяти наших основных моделей GPT-5.5 занимает первое место на структурированных задачах и пятое на плоских, а два лучших средних результата принадлежат моделям с открытыми весами — Kimi K3 и DeepSeek V4 Pro. Лучшая модель в таблице лидеров плоских задач необязательно является лучшей моделью для вашей задачи по созданию документов.

Нагрузка в других частях документа тоже имеет значение. Если зафиксировать собственные ограничения раздела и добавить новые в другие разделы, передовые модели едва заметно меняют результат (Kimi K3 теряет 0.4% на шаг плотности, GPT-5.5 — 1.5%), в то время как GPT-5 nano теряет 5.5%. Модель, которая хорошо справляется с одним ограниченным разделом, может дать сбой, как только будет загружена остальная часть документа.

Шаг 4: Обучайте тому, что вы измеряете

Получив оценку, которой мы доверяем, мы сделали следующий шаг: использовали ту же оценку в качестве неизменной награды для RL. Это LIFT-Train, 34 258 задач от того же генератора. Мы обучили Qwen2.5-7B с помощью GRPO на LIFT-Train и на IFTrain, и сначала посмотрели на то, что происходило в процессе обучения.

Два запуска пошли в противоположных направлениях. Награда IFTrain достигла 1.0 к 180-му шагу, в то время как медианная длина ответа упала со 114 слов до 18 к 390-му шагу, причем 38% ответов набирали не менее 0.8 баллов при длине менее 30 слов. На LIFT-Train медианная длина ответа оставалась в районе 390–530 слов, и ни один высокооцененный ответ не оказался короче 30 слов. Кривая наград не предупредит вас об этом проблеме, поэтому, если вы запускаете RL для следования инструкциям, отслеживайте длину ответа параллельно с ней.

Частично это заложено в самой конструкции: награду, которая оценивает контент, нельзя максимизировать путем его удаления. Настоящий вопрос заключается в том, является ли именно контент решающим фактором, поскольку LIFT-Train также отличается от IFTrain по формату и темам.

Поэтому мы провели контрольный эксперимент. Срез LIFT-Train, состоящий только из плоских промптов, соответствует структуре IFTrain — в нем используются плоские промпты и ограничения в стиле IFEval, но при этом контент учитывается в функции награды. Он тоже обучился без проблем. Темы все еще различаются (Wikipedia против WildChat), так что это не идеальный контроль, но он указывает на то, что значение имеет именно контент в функции награды, а не формат.

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

Каждый рецепт показывает лучшие результаты на своем собственном бенчмарке, как и ожидалось. На AdvancedIF и ComplexBench показатели IFTrain падают, а LIFT-Train держится стабильно. Разница невелика, поэтому мы воспринимаем это как предотвращение регрессии со стороны LIFT-Train, а не как общую победу, но это именно та картина, которую можно ожидать, когда одна функция награды учитывает задачу, а другая нет.

Разделение на плоские и структурированные данные из Шага 3 также важно для обучающих данных. Мы обучали Qwen3-32B на каждом диапазоне и на их комбинации. Каждый прогон с одним диапазоном помогает другому диапазону, но в меньшей степени, чем их смесь: структурированные данные достигают 0.805 на плоских задачах, а плоские — 0.798 на структурированных, по сравнению с 0.896 и 0.919 для смеси. Учебная программа по принципу от простого к сложному не внесла никаких изменений.

Резюме

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

Что мы могли бы посоветовать другой команде, обучающей модели следованию инструкциям:

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

LIFT-Bench, LIFT-Train и конвейер доступны here. Читать полную техническую статью here.

О чём эта статья

Ещё в разделе «AI и машинное обучение»

Все →

Ещё от AI21 Labs