Post content
Алгоритмов алайнмента выходит уже десяток в месяц, и все их даже бегло смотреть нет ни времени, ни желания 😕 Но из последнего приглянулась работа от Salesforce AI, “RLHF Workflow: From Reward Modeling to Online RLHF”. В рамках нее авторы выпустили тюн модели llama3-8b с отличными метриками, которая в частности хорошо показала себя на русском языке. Идея в следующем (рассмотрим на примере алгоритмов по типу DPO, но в статье есть обобщение на общий случай, где мы оптимизируем награду напрямую, например, с PPO): по мере обучения модель улучшается и генерирует все более качественные ответы. Эту возможность хочется использовать для обогащения датасета, чтобы не ограничиваться только сбором данных в оффлайне. Для добавления такого онлайн exploration нам нужны две вещи: 1. Модель, отличная от основной, способная генерировать ответы из отличающегося распределения. Возникает вопрос, откуда такую модель получить — это классическая дилемма exploitation vs exploration. 2. Preference модель, которая сможет ранжировать новые ответы и добавлять их в датасет для следующей итерации. Существует множество способов решить эти вопросы, и в статье описаны некоторые из них. Авторы выбрали следующую конфигурацию: 1. Для exploration (то есть для создания новых пар в датасете) используется rejection sampling из текущей модели: генерируется 8 ответов для одного промпта, затем выбирается пара с самой высокой и самой низкой оценками. 2. Preference/Reward Model обучается на большом количестве различных датасетов либо в pointwise постановке (каждому ответу ставится оценка), либо в pairwise постановке (оцениваем сразу пару ответов). Такие итерации можно повторять многократно, что является отдельным гиперпараметром. Крутое приложение метода: прокачивать модели на математике, коде и всем остальном, где результат можно четко измерить без специальной Reward модели, вот пример похожей работы для gsm8k и math.