Кратко про RL-like методы в обучении языковых моделей.
Proximal Policy Optimization (PPO)
https://arxiv.org/abs/2203.02155
Дед всех методов ниже👍
- Изобретен в OpenAI 7 лет назад вообще не для текстов, для языковых моделей применен2 года 5 лет назад. Ни у кого, кроме OpenAI, не работает.
- Требует reward-модель, которая по паре промпт-ответ предсказывает качество ответа.
- Главная задача тут передать знания из reward-модели в основную. Но языковые модели генерируют дискретные токены, поэтому лосс недифференцируем, поэтому и нужна чёрная магия PPO. На ней мы останавливаться не будем, тут важно только то, что мы заставляем модель максимизировать награду в сгенерированных ответах, не слишком сильно отдаляясь от оригинальной SFT-модели (с помощью KL-штрафа).
- Единственный настоящий RL в этом списке.
Direct Preference Optimization (DPO)
https://arxiv.org/abs/2305.18290
Сын PPO и батя всех методов ниже💃
- Учимся на тройках-предпочтениях: (промпт, хороший ответ, плохой ответ).
- Выводим финальный лосс из PPO. Выкидываем reward-модель, пусть сама языковая модель и моделирует награду. Заодно избавляемся от недифференцируемости.
- В итоге увеличиваем правдоподобие хорошего ответа, уменьшаем правдоподобие плохого. С весом, который зависит от неявной reward-модели.
- Из-за того, как устроена неявная награда, нужно хранить ещё и изначальную языковую модель😣
Kahneman-Tversky Optimization (KTO)
https://arxiv.org/abs/2402.01306
- Учимся на тройках: (промпт, ответ, хороший = 1 или плохой = 0). Это и есть основная плюшка, можно учиться на лайках и дизлайках👍
- Заменяем модель предпочтений Брэдли–Терри на модель из теории перспектив. На практике это означает добавление точки отсчета в виде среднего KL-отколнения в батче с перемешанными входами и выходами (поэтому, кстати, батч должен быть приличного размера) и добавление сигмоиды.
Odds Ratio Preference Optimization (ORPO)
https://arxiv.org/abs/2403.07691
- Учимся на тройках-предпочтениях: (промпт, хороший ответ, плохой ответ), как в DPO.
- К SFT лоссу добавляем отношение шансов на плохой ответ к шансам на хороший ответ (с определенным весом).
- Не нужно хранить изначальную языковую модель
Proximal Policy Optimization (PPO)
https://arxiv.org/abs/2203.02155
Дед всех методов ниже
- Изобретен в OpenAI 7 лет назад вообще не для текстов, для языковых моделей применен
- Требует reward-модель, которая по паре промпт-ответ предсказывает качество ответа.
- Главная задача тут передать знания из reward-модели в основную. Но языковые модели генерируют дискретные токены, поэтому лосс недифференцируем, поэтому и нужна чёрная магия PPO. На ней мы останавливаться не будем, тут важно только то, что мы заставляем модель максимизировать награду в сгенерированных ответах, не слишком сильно отдаляясь от оригинальной SFT-модели (с помощью KL-штрафа).
- Единственный настоящий RL в этом списке.
Direct Preference Optimization (DPO)
https://arxiv.org/abs/2305.18290
Сын PPO и батя всех методов ниже
- Учимся на тройках-предпочтениях: (промпт, хороший ответ, плохой ответ).
- Выводим финальный лосс из PPO. Выкидываем reward-модель, пусть сама языковая модель и моделирует награду. Заодно избавляемся от недифференцируемости.
- В итоге увеличиваем правдоподобие хорошего ответа, уменьшаем правдоподобие плохого. С весом, который зависит от неявной reward-модели.
- Из-за того, как устроена неявная награда, нужно хранить ещё и изначальную языковую модель
Kahneman-Tversky Optimization (KTO)
https://arxiv.org/abs/2402.01306
- Учимся на тройках: (промпт, ответ, хороший = 1 или плохой = 0). Это и есть основная плюшка, можно учиться на лайках и дизлайках
- Заменяем модель предпочтений Брэдли–Терри на модель из теории перспектив. На практике это означает добавление точки отсчета в виде среднего KL-отколнения в батче с перемешанными входами и выходами (поэтому, кстати, батч должен быть приличного размера) и добавление сигмоиды.
Odds Ratio Preference Optimization (ORPO)
https://arxiv.org/abs/2403.07691
- Учимся на тройках-предпочтениях: (промпт, хороший ответ, плохой ответ), как в DPO.
- К SFT лоссу добавляем отношение шансов на плохой ответ к шансам на хороший ответ (с определенным весом).
- Не нужно хранить изначальную языковую модель