Writing-Zero: Bridge the Gap Between Non-verifiable Tasks and Verifiable Rewards Вчера мы разбирали статью DeepSeek, в которой рассказывалось, как натренировать GRM — модель для оценки ответов LLM и поверх которой должна запускаться процедура тренировки. Однако второй части не было — китайцы просто замерили качество как соответствие человеческим предпочтениям, и на этом остановились. Сегодня разберём статью, как их коллеги из Quark LLM, Alibaba Group, использовали подход для улучшения творческого письма в LLM. Как гласит китайская поговорка, в литературном искусстве нет абсолютного первенства; творческое письмо представляет собой одну из типичных non-verifiable задач, где оценка качества по своей сути субъективна и не имеет однозначной точки отсчета качества, в отличии от математики и программирования. В процессе разработки 2 этапа: это обучение своей GRM, следуя рецепту DeepSeek, и обучение LLM через RLVR с использованием предсказанных критик и оценок от GRM. Итак, что изменилось в GRM? — собирают внутренний датасет из 200к пар предпочтений, для которых люди отметили, что один ответ лучше другого; 30 тысяч пар из них связаны с письмом. В отличии от DeepSeek, здесь для запроса всегда дана пара ответов, а не 1 или 3. — отбирают пары более высокого качества, прогнав на них какую-то простую RM (она не пишет критики, сразу выдаёт оценку по паре «запрос—ответ», не беря в расчёт другой ответ) и оставив те пары, где как минимум один из ответов получил достаточно высокую оценку, и при этом разница со вторым ответом существенна, то есть они качественно отличаются; получилось примерно 10 тысяч пар — отбирают из них одну тысячу, и делают из неё две методом «переставим ответ 1 и ответ 2 местами». Пишут большой промпт (есть в статье) с описание того, как надо писать критику, как проводить оценку, как формировать ответ, и прогоняют через Claude 3.5 Sonnet — для всех полученных пар проверяют, что при перестановке ответов местами Claude выдал одинаковый и правильный ответ (так как у нас для пар есть оценка, данная человеком). Оставляют только их — получается 500 штук (и 1000, если переставлять ответы местами) — на этом дообучают Qwen3-32B-Base одну эпоху, это и есть этап RFT. Теперь модель хотя бы минимально понимает свою задачу + унаследует хоть какие-то знания от Claude — дальше, как и у DeepSeek, запускают GRPO для обучения генерации критик и оценок. В нём есть несколько ключевых отличий: 1) если оценка хорошего и плохого вариантов расходятся меньше чем на 2 по десятибальной шкале (то есть относительно близки), то награда и штраф уменьшаются пропорционально — так как трудно различать ответы с мелкими текстовыми или семантическими расхождениями, да и сама разметка неидеальна. Если расхождение на 2 и более баллов, то даётся полная награда в 1 и штраф в -1 при обучении 2) вводят дополнительное нормирование для advantage (если не знаете что это, то и бог с ним) для учёта position bias, когда модель больше предпочитает первый ответ и даёт ему большую награду. Вкупе с тем, что в самих запросах оцениваемые ответы тоже меняются местами, это позволяет, если верить авторам, полностью победить position bias 3) как сейчас принято, делают Dynamic Sampling, то есть выкидывают промпты, для которых модель научилась делать идеальные предсказания, или наоборот всегда ошибается. В GRPO для одного запроса делается несколько генераций (группа, G в GRPO), обычно 4-16, и вот если все они приводят к одинаковому результату, то учиться тут не на чём.