Telegram Group & Telegram Channel
GRPO

На этих выходных захотел верхнеуровнево разобраться в GRPO (Group Relative Policy Optimization) 🏥. Это полезно и по работе, и понимать, что вообще люди в комьюнити обсуждают так бурно. Если где-то ошибся или что-то можно объяснить точнее — поправляйте, буду рад обсудить 😍.

Вообще метод появился-то еще год назад, в работе DeepSeek — DeepSeekMath. Тогда еще @lovedeathtransformers назвал его странный рро. Ну и забили (вроде как). Переодически появлялся в статьях, а потом... Ну вы сами знаете, обвал рынков, шутки про дипсик и т.д. После этого все начали суетиться и заводить GRPO у себя в проектах. Вот, например, в TRL реализовали.

Метод и правда прост 🤓:
1. Генерируем N ответов на один промпт;
2. Оцениваем каждый из них — получаем награду;
3. Cчитаем среднее и стандартное отклонение по наградам из п.2;
4. Применяем операцию стандартизации (из каждой оценки вычитаем среднее и стандартное отклонение из п.3) — получаем относительные награды;
5. Обновляем модель, увеличивая вероятность хороших ответов и контролируя отклонение через KL-штраф (между исходной моделью и обучаемой).

Что здесь отличного от PPO (Proximal Policy Optimization):
— Это пункт 1, в котором мы оцениваем не одну цепочку генерации, а сразу N — и это самое главное, как мне кажется, новелти этого подхода. Одновременная оценка нескольких гипотез делает процесс обучения стабильнее, так как модель получает больше информации за одну итерацию и лучше учитывает вариативность ответов;
— Мы избавляемся от дополнительной модели-скорера: GRPO нормализует награды относительно других ответов, а не через отдельную value-модель, как в PPO, что делает процесс обучения более прозрачным и менее шумным, а также возможным для gpu-poor сетапов;

Исходя из того, что я почитал у разных коллег из индустрии, GRPO заведётся у вас точно, если:
1. Модель в каком-то приближении умеет решать задачу (например, здесь ребята пытаются сделать лучше grounding у qwen2.5-vl, а модель изначально неплохо в него умела; в R1 модельке кормили и код, и математику и чего только не кормили до GRPO);
2. Сама задача относительно простая и решается недолгими рассуждениями: для длинных рассуждений нужно считать оценку для промежуточных стадий.

Но при этом гипотезы, почему GRPO работает лучше PPO примерно следующие:
1. Нормировка ревордов достаточно простая и прозрачная; в PPO же что только не делали уже с нормировкой (особенно в мультихост обучении);
2. Да хрен его знает 👨‍🦳.

Еще говорят, что если у вас достаточно много источников ревордов, то GRPO может быть менее информативным. Вот тут буквально пару абзацев текста.

А если хотите погрузиться чуточку поглубже, можно почитать неплохой гайд здесь. Мне помог погрузиться!
Please open Telegram to view this post
VIEW IN TELEGRAM



group-telegram.com/blog_toxa/321
Create:
Last Update:

GRPO

На этих выходных захотел верхнеуровнево разобраться в GRPO (Group Relative Policy Optimization) 🏥. Это полезно и по работе, и понимать, что вообще люди в комьюнити обсуждают так бурно. Если где-то ошибся или что-то можно объяснить точнее — поправляйте, буду рад обсудить 😍.

Вообще метод появился-то еще год назад, в работе DeepSeek — DeepSeekMath. Тогда еще @lovedeathtransformers назвал его странный рро. Ну и забили (вроде как). Переодически появлялся в статьях, а потом... Ну вы сами знаете, обвал рынков, шутки про дипсик и т.д. После этого все начали суетиться и заводить GRPO у себя в проектах. Вот, например, в TRL реализовали.

Метод и правда прост 🤓:
1. Генерируем N ответов на один промпт;
2. Оцениваем каждый из них — получаем награду;
3. Cчитаем среднее и стандартное отклонение по наградам из п.2;
4. Применяем операцию стандартизации (из каждой оценки вычитаем среднее и стандартное отклонение из п.3) — получаем относительные награды;
5. Обновляем модель, увеличивая вероятность хороших ответов и контролируя отклонение через KL-штраф (между исходной моделью и обучаемой).

Что здесь отличного от PPO (Proximal Policy Optimization):
— Это пункт 1, в котором мы оцениваем не одну цепочку генерации, а сразу N — и это самое главное, как мне кажется, новелти этого подхода. Одновременная оценка нескольких гипотез делает процесс обучения стабильнее, так как модель получает больше информации за одну итерацию и лучше учитывает вариативность ответов;
— Мы избавляемся от дополнительной модели-скорера: GRPO нормализует награды относительно других ответов, а не через отдельную value-модель, как в PPO, что делает процесс обучения более прозрачным и менее шумным, а также возможным для gpu-poor сетапов;

Исходя из того, что я почитал у разных коллег из индустрии, GRPO заведётся у вас точно, если:
1. Модель в каком-то приближении умеет решать задачу (например, здесь ребята пытаются сделать лучше grounding у qwen2.5-vl, а модель изначально неплохо в него умела; в R1 модельке кормили и код, и математику и чего только не кормили до GRPO);
2. Сама задача относительно простая и решается недолгими рассуждениями: для длинных рассуждений нужно считать оценку для промежуточных стадий.

Но при этом гипотезы, почему GRPO работает лучше PPO примерно следующие:
1. Нормировка ревордов достаточно простая и прозрачная; в PPO же что только не делали уже с нормировкой (особенно в мультихост обучении);
2. Да хрен его знает 👨‍🦳.

Еще говорят, что если у вас достаточно много источников ревордов, то GRPO может быть менее информативным. Вот тут буквально пару абзацев текста.

А если хотите погрузиться чуточку поглубже, можно почитать неплохой гайд здесь. Мне помог погрузиться!

BY Дратути Антон


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/blog_toxa/321

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Again, in contrast to Facebook, Google and Twitter, Telegram's founder Pavel Durov runs his company in relative secrecy from Dubai. "Someone posing as a Ukrainian citizen just joins the chat and starts spreading misinformation, or gathers data, like the location of shelters," Tsekhanovska said, noting how false messages have urged Ukrainians to turn off their phones at a specific time of night, citing cybersafety. Russian President Vladimir Putin launched Russia's invasion of Ukraine in the early-morning hours of February 24, targeting several key cities with military strikes. The War on Fakes channel has repeatedly attempted to push conspiracies that footage from Ukraine is somehow being falsified. One post on the channel from February 24 claimed without evidence that a widely viewed photo of a Ukrainian woman injured in an airstrike in the city of Chuhuiv was doctored and that the woman was seen in a different photo days later without injuries. The post, which has over 600,000 views, also baselessly claimed that the woman's blood was actually makeup or grape juice. The message was not authentic, with the real Zelenskiy soon denying the claim on his official Telegram channel, but the incident highlighted a major problem: disinformation quickly spreads unchecked on the encrypted app.
from sg


Telegram Дратути Антон
FROM American