Inference-Time Scaling for Generalist Reward Modeling Разбор весенней статьи от DeepSeek, я прочитал сразу как вышла, но долго откладывал разбор, не доходили руки. Возможно, эта работа — часть подготовки компании к выпуску следующей флагманской модели, DeepSeek R2. Я уже писал несколько раз, что в основном обучение рассуждениям работает с задачами, для которых легко проверить, правильный ли ответ — математика и программирование. В этих доменах мы за короткий период увидели существенный скачок в навыках моделей, вплоть до золотых медалей международных олимпиад IMO и IOI. Основная проблема масштабирования RLVR на другие домены — получение точной оценки вознаграждения для обучения LLM, выходящей за рамки простых правил вроде «сколько слов в ответе». В общих доменах генерация оценок представляет собой более сложную задачу потому, что критерии для вознаграждений более разнообразны и сложны, а явного указания на лучший или даже просто хороший ответ нет. А хочется научиться тренировать Generalist reward model (GRM) — модель, которая умеет давать оценку для широкого набора доменов; если будет доступ к такой модели, и она будет качественной, то можно запустить классический цикл RLVR на существенно большем наборе промптов. DeepSeek вводят классификацию для GRM и оценивают их по двум параметрам: 1) inference-time scalability (масштабируемость во время инференса); пункт вдохновлён выходом R1 и других рассуждающих моделей, которые позволили масштабировать количество вычислений, выполняемых при генерации ответа. Inference-time scalability определяется тем, можно ли получить различные оценки при параллельном семплировании. Модель, которая сначала генерирует цепочку рассуждений (называемую критикой), а затем оценку — масштабируемая, так как критики будут разными, и финальные оцени тоже. А классические RM, предсказывающие одно число, так не могут, перегенерация ничего не даст. 2) input flexibility (гибкость входов для модели), определяется тем, поддерживает ли RM оценку одиночных, парных и множественных ответов на один и тот же промпт. Некоторые датасеты имеют больше двух ответов для промпта, и их можно или использовать все и сразу, чтобы показать модели ранжирование от лучшего к худшему, или разбить на пары (1 и 2, 1 и 3, 2 и 3 в случае трёх оценок) и учить на парах. DeepSeek для себя решают следующее: они будут учить модель, которая получает на вход промпт, от одного до нескольких ответов на него, генерирует критику для каждого из ответов, и в конце выдаёт оценки всех ответов по шкале от 1 до 10. Получается что модель обладает и input flexibility, и можно генерировать несколько ответов в параллель, если хочется потратить больше мощностей. Критики будут опираться на принципы, которые специфичны для каждого промпта и генерируются самой моделью. Принципы — это описание человеческим языком того, что может служить критерием хорошего и плохого ответа на данный вопрос. Они гибкие: для запроса про код можно вписать корректность, качество кода, читаемость, итд; для запроса по переводу текста принципы совершенно другие. DeepSeek не пишут про это явно, но по примерам + визуализациям становится ясно, что критерии ещё и имеют вес в процентах. Корректность может отвечать за 40% оценки, понятность, скажем, ещё за 40%, и стиль — за 20%. Тогда если модель в ходе своих же рассуждений оценит ответ на 6/8/6, то финальная оценка (которую посчитает сама модель; никаких калькуляторов к ней не подключено) будет 6*0.4 + 8 * 0.4 + 6 * 0.2=6,8. Если ответов несколько, то оценки будут посчитаны по тем же самым критикам и для них. В конце получается набор из оценок, по которым можно легко сказать, какой ответ из всех — лучший, а какие похуже.