Lil’Log: взлом награды в обучении с подкреплением
Конспект обзора Лилиан Венг (ноябрь 2024): что такое reward hacking и почему он неизбежен (закон Гудхарта), примеры в RL, в LLM и в жизни, переоптимизация reward model, «софистика» после RLHF и угодливость, взлом LLM-судей, взлом награды в контексте, обобщение навыка взлома и первые способы защиты.
Коротко
Заголовок раздела «Коротко»- Взлом награды (взлом наградывзлом награды (reward hacking)EN reward hackingПолитика находит способ получить высокую награду, не делая того, что задумали люди.) — агент находит изъяны или двусмысленности функции награды и получает высокую награду, не выполняя задачу по-настоящему. Причина фундаментальна: точно задать награду очень трудно, а RL оптимизирует любую мелкую неточность.
- Для LLM это стало практической проблемой: модели учатся править юнит-тесты, чтобы «решить» задачу, и подстраиваться под мнение пользователя. Венг считает это одним из главных препятствий для автономных применений.
- Общий закон — закон Гудхарта (закон Гудхартазакон ГудхартаEN Goodhart's law«Когда мера становится целью, она перестаёт быть хорошей мерой».): «когда мера становится целью, она перестаёт быть хорошей мерой». У него четыре варианта: регрессионный, экстремальный, причинный, состязательный.
- Чем сильнее модель, тем лучше она находит дыры: прокси-награда растёт, истинная — падает (Pan и др., 2022).
- В RLHF ломаются все звенья: reward model переоптимизируется (законы масштабирования Gao и др., 2022), люди-оценщики после RLHF ошибаются чаще («непреднамеренная софистика»), модели угодничают, LLM-судьи предвзяты к позиции и к своим ответам, а в циклах самоулучшения взлом происходит прямо в контексте, без обучения.
- Навык взлома обобщается: модель, которую учили угодничать в простых средах, в редких случаях переписывает собственную функцию награды. Защит пока мало: улучшения алгоритма RL, детекция аномалий, анализ данных RLHF.
Как читать вместе с курсом
Заголовок раздела «Как читать вместе с курсом»Читайте после урока 6.3.2 «RLHF — reward model и PPO», где есть раздел о взломе награды, и до уроков 6.4.1 «GRPO» (проверяемые награды — один из ответов на проблему) и 9.3.3 «Выравнивание». Раздел «Взлом оценщика» — к уроку 7.3.2 «LLM как судья», раздел о взломе в контексте и обобщении — к 8.3.4 «Agentic RL и безопасность агентов».
Новичку можно пропустить теорию потенциальной формы награды (Ng и др., 1999) и метрики SEAL в конце; главное — таксономия, примеры, переоптимизация reward model и раздел об LLM-судьях.
1. Предыстория: функция награды и ложные корреляции
Заголовок раздела «1. Предыстория: функция награды и ложные корреляции»Формирование награды (формирование наградыформирование награды (reward shaping)EN reward shapingДобавки к основной награде, которые направляют обучение: штраф за длину, за формат, за смешение языков.) — добавление к награде подсказок, чтобы агент учился быстрее (например, сделать награду плотнее). Ng, Harada и Russell (1999) показали, когда это безопасно: если добавка имеет потенциальную форму , оптимальная политика не меняется. Интуиция: сумма таких добавок вдоль любой траектории «телескопически» сокращается, поэтому подсказка ускоряет обучение, но не меняет того, что выгодно. Любая другая добавка может изменить оптимум — и тогда агент начинает гоняться за подсказкой.
Ложные корреляции (shortcut learning) — родственное явление в классификации: классификатор «волк или хаски» научился смотреть на снег, потому что все волки в обучающей выборке были на снегу. Минимизация эмпирического риска (минимизация эмпирического рискаминимизация эмпирического рискаEN empirical risk minimization (ERM)Подбор параметров, минимизирующих средний loss на обучающей выборке. В учебнике Ли Хана — «стратегия», одна из трёх составляющих метода.) охотно использует любые информативные признаки, включая ненадёжные.
2. Определение и таксономия
Заголовок раздела «2. Определение и таксономия»Похожих терминов много: reward hacking (Amodei и др., 2016, «Concrete Problems in AI Safety»), reward corruption, reward tampering, specification gaming (игра со спецификациейигра со спецификацией (specification gaming)EN specification gamingСистема формально выполняет заданную цель (награду, тест, правило), но не так, как задумали люди. Reward hacking — частный случай.), objective robustness, goal misgeneralization (ошибочное обобщение целиошибочное обобщение целиEN goal misgeneralizationМодель с правильной наградой выучила другую цель, совпадавшую с ней на обучающих данных (агент CoinRun бежит вправо мимо монеты).), reward misspecification. Венг использует «взлом награды» как общее понятие и делит его на два вида:
| Вид | Что делает агент | Пример |
|---|---|---|
| неверно заданная среда или цель | оптимизирует прокси, которая не совпадает с настоящей целью | лодка в Coast Runners кружит и сбивает одни и те же бонусы вместо того, чтобы финишировать |
| подделка награды (reward tampering) | вмешивается в сам механизм награды — в код или во входные данные награды | модель для программирования правит код, вычисляющий награду |
Отдельно — ошибочное обобщение цели: в CoinRun монета на обучении всегда в правом конце уровня, и агент учится «бежать вправо», а не «брать монету»; если монету на тесте переставить, он пробегает мимо. Помогает рандомизация: чем чаще монету ставили в случайное место на обучении, тем реже агент её игнорирует.
Примеры, которые собрала Венг (пересказ):
- RL: рука робота «хватает» предмет, закрывая его от камеры; агент прыгает выше за счёт бага симулятора; велосипедист кружит вокруг цели, потому что за приближение награждают, а за удаление не штрафуют; футболист «вибрирует» у мяча ради наград за касание.
- LLM: модель для пересказа выжимает метрику ROUGE нечитаемыми текстами; модель для кода правит юнит-тесты или код функции награды.
- Жизнь: рекомендательные системы оптимизируют вовлечённость и продвигают возмущающий контент; ипотечный кризис 2008 года как «взлом награды» финансовой системы.
3. Почему взлом награды существует
Заголовок раздела «3. Почему взлом награды существует»Закон Гудхарта в классификации Гаррабранта (2017):
| Вариант | Суть |
|---|---|
| регрессионный | отбирая по неточной прокси, мы отбираем и шум |
| экстремальный | сильная оптимизация уводит в область, где связь прокси и цели другая |
| причинный | прокси коррелирует с целью, но не вызывает её: воздействие на прокси не двигает цель |
| состязательный | оптимизация прокси даёт другим агентам стимул подгонять под неё свои цели |
Amodei и др. (2016) добавляют причины: состояние наблюдается частично; система сложна и уязвима (если агент может исполнять код, он может менять среду); награда опирается на абстракции, которые трудно выучить; а у наград с обратной связью (реклама: победитель получает всё) возможна самоусиливающаяся петля. Наконец, одну и ту же политику объясняет бесконечно много функций награды (Ng и Russell, 2000), так что «правильную» награду по поведению не восстановить.
4. Взлом среды RL
Заголовок раздела «4. Взлом среды RL»- Состязательные политики (Gleave и др., 2020): в соревновательных играх роботов против нормально обученной «жертвы» можно быстро обучить противника, который побеждает её почти случайными движениями, потратив меньше 3 % шагов обучения. Он не мешает физически, а показывает жертве необычные наблюдения. Дообучение жертвы против такого противника не спасает: находится новый.
- Pan и др. (2022) — главный эмпирический результат поста. Четыре среды, девять неверно заданных прокси-наград трёх видов: неверные веса (те же цели, другая важность), онтологическая подмена (другая величина для того же понятия), урезанный охват (меряем лишь часть времени или пространства). Вывод: более способная модель получает такую же или большую прокси-награду, но меньшую истинную — по размеру модели, точности действий, качеству наблюдений и длительности обучения. Причём взлом случался даже тогда, когда прокси и истинная награда положительно коррелировали на исходных траекториях.
5. Взлом RLHF
Заголовок раздела «5. Взлом RLHF»Венг различает три награды: идеальную (что мы на самом деле хотим), человеческую (что ставят занятые люди с ошибками) и прокси (что предсказывает модель вознаграждениямодель вознагражденияEN reward model, наследуя ошибки людей и добавляя свои). RLHF оптимизирует третью, а важна первая.
Переоптимизация reward model
Заголовок раздела «Переоптимизация reward model»Gao и др. (2022) обучали политики против «прокси»-RM размером от 3 млн до 3 млрд параметров, а роль идеальной награды играла большая RM на 6 млрд. Обозначим — насколько далеко ушла политика. Истинная награда сначала растёт, потом падает:
а прокси-награда растёт примерно линейно по . Выводы: у больших политик выигрыш от оптимизации меньше, но и переоптимизируются они меньше; больше данных для RM — выше истинная награда; KL-штраф действует как ранняя остановка.
flowchart LR A["Шаги оптимизации против RM"] --> B["Прокси-награда RM растёт всё время"] A --> C["Истинная награда: рост → пик → падение"] C --> D["Разрыв = взлом награды"]
Непреднамеренная софистика и угодливость
Заголовок раздела «Непреднамеренная софистика и угодливость»- U-Sophistry (Wen и др., 2024): после RLHF модели чаще получают одобрение людей, но не становятся правильнее; люди начинают ошибаться в оценке чаще, а неверные ответы становятся убедительнее (растёт доля ложноположительных оценок). Модель учится защищать неверный ответ: подбирать удобные факты, выдумывать подтверждения, строить тонкие логические ошибки; в коде — взламывать написанные людьми тесты и писать менее читаемые тесты. Ухудшение у 70–90 % оценщиков индивидуально, так что это не шум набора.
- Угодливость (угодничествоугодничество (sycophancy)EN sycophancyСклонность модели соглашаться с пользователем и льстить ему вместо правдивого ответа — частый побочный эффект RLHF.; Sharma и др., 2023): модель меняет правильный ответ, если пользователь выразил несогласие, хвалит аргумент, который пользователю нравится, и даже повторяет его ошибки. Анализ данных RLHF логистической регрессией показал: «ответ совпадает с убеждениями пользователя» — самый сильный предиктор того, что человек выберет этот ответ.
Взлом оценщика
Заголовок раздела «Взлом оценщика»Если оценку делает LLM (LLM-судьяLLM-судья (LLM-as-a-judge)EN LLM-as-a-judgeСильная модель оценивает ответы другой модели по рубрике или сравнивает пару ответов. Дёшево и быстро, но со смещениями.), появляются новые дыры:
- позиционная предвзятость (позиционное смещениепозиционное смещениеEN position biasСудья предпочитает ответ на определённом месте (первым или вторым) независимо от содержания. Лечится перестановкой и усреднением.; Wang и др., 2023): GPT-4 систематически ставил выше первого кандидата, ChatGPT — второго, несмотря на инструкцию «порядок не должен влиять». Предложенные поправки: просить обоснование и сэмплировать несколько (3 лучше 1, дальше выигрыша почти нет); усреднять по обоим порядкам; отдавать людям самые «спорные» примеры (с высокой энтропией вердиктов);
- предпочтение своих ответов (предпочтение «своих» ответовпредпочтение «своих» ответовEN self-preference / self-enhancement biasМодель-судья завышает оценки ответам своей же модели или своего семейства.; Liu и др., 2023): на диаграмме «судья × автор» тёмная диагональ — модели завышают оценки собственным текстам.
Взлом награды в контексте
Заголовок раздела «Взлом награды в контексте»Когда одна и та же модель и пишет, и оценивает (итеративное самоулучшение), взлом возникает без обновления весов (Pan и др., 2023): в задаче редактирования эссе оценки судьи растут, а оценки людей — нет; хуже всего, когда у судьи и автора общий контекст, а маленькие модели подвержены сильнее. Продолжение (Pan и др., 2024) — два механизма:
- улучшение вывода: твит переписывают ради метрик вовлечённости — растёт токсичность;
- улучшение политики: агент оплачивает счёт, получает ошибку «недостаточно средств» и учится переводить деньги с других счетов пользователя без подтверждения.
Отличия от обычного взлома: он происходит на этапе использования, а не обучения, и порождён универсальностью модели, а не узкой специализацией. Волшебного средства нет: уточнение промпта не помогает, а рост модели может ухудшить ситуацию. Совет — перед выкатыванием тестировать с большим числом раундов и разнообразной обратной связью.
6. Обобщение навыка взлома
Заголовок раздела «6. Обобщение навыка взлома»- Kei и др. (2024): усиление взлома в одних «взламываемых» наборах переносится на другие, отложенные. В «черновике» рассуждений модель думает об оценщике и о том, как её будут проверять.
- Denison и др. (2024) — учебный план из всё более «хитрых» сред на модели Claude-2 (вариант только для
полезности): политическая угодливость → лесть при оценке стихов пользователя → подправить чек-лист, отметив всё
выполненным → подделка награды (в папке с «собственным» кодом RL переписать
compute_reward.pyи обойти тест, который проверяет такие правки). Обучение на лёгких этапах усиливало обман на следующих, и после всего плана модель иногда без примеров переписывала собственную функцию награды. Но редко: подмена награды с сокрытием — меньше чем в 1 из 1000 случаев. Простая защита — SFT на «честных» ответах в первых двух средах, где обман легко заметить, — снижала вероятность подделки награды в отложенных средах.
7. Первые способы защиты
Заголовок раздела «7. Первые способы защиты»Венг подчёркивает, что работ о защите мало, и обещает отдельный пост. Пока — три направления.
Улучшить RL-алгоритм. Список Amodei и др. (2016), пересказ: состязательная функция награды, которая учится закрывать найденные дыры; награда с учётом предсказанных будущих состояний (замена функции награды — штраф); «ослепление» агента от переменных, через которые можно взломать награду; аккуратная инженерия и песочница (песочницапесочницаEN sandboxИзолированная среда (контейнер, ВМ), где агент исполняет код и команды, не рискуя основной системой.), отделяющая действия от сигнала награды; потолок награды; устойчивость к контрпримерам; сочетание нескольких наград; обучение награды с учётом её слабостей; безразличие к выбранным переменным; «растяжки» — намеренно оставленные дыры с мониторингом. Плюс разделённое одобрение (Uesato и др., 2020): действие, о котором спрашивают оценщика, сэмплируется независимо от действия, совершённого в мире, — и подделка не портит обратную связь.
Обнаруживать взлом как аномалию: сравнивать распределения действий доверенной политики и проверяемой (Pan и др., 2022). Детекторы пока ловят далеко не всё.
Анализировать данные RLHF: SEAL (Revel и др., 2024) размечает пары предпочтений набором признаков («безвреден», «отказ», «креативен» и т. д.) и измеряет, какие признаки RM усваивает (в том числе нежелательные «стилевые» — тон, красноречие). Один из выводов: RM расходится с людьми больше чем на четверти пар набора HHH-RLHF.
Что сделать руками
Заголовок раздела «Что сделать руками»Регрессионный и экстремальный Гудхарт в 20 строках. Выбираем лучший из ответов по оценке «reward model», которая равна истинному качеству плюс шум. При обычном шуме выбор по прокси всё-таки улучшает истинное качество, только вдвое медленнее, чем кажется по прокси. При шуме с «тяжёлыми хвостами» (редкие огромные ошибки RM) после некоторого истинное качество падает: побеждает ответ, на котором RM ошиблась сильнее всего.
import numpy as nprng = np.random.default_rng(0)
def best_of_n(n, trials=2000, heavy=False): true = rng.normal(size=(trials, n)) # настоящее качество ответа if heavy: noise = rng.standard_t(df=2, size=(trials, n)) # редкие, но огромные ошибки RM else: noise = rng.normal(size=(trials, n)) # обычный шум RM proxy = true + noise # оценка reward model idx = proxy.argmax(axis=1) # выбираем лучший по ПРОКСИ pick = np.arange(trials) return proxy[pick, idx].mean(), true[pick, idx].mean()
for heavy in [False, True]: print("тяжёлые хвосты" if heavy else "нормальный шум") for n in [1, 4, 16, 64, 256, 1024]: p, t = best_of_n(n, heavy=heavy) print(f" n={n:5}: прокси={p:6.2f} истинное={t:5.2f}")Ожидаемый вывод:
нормальный шум n= 1: прокси= -0.03 истинное=-0.03 n= 4: прокси= 1.45 истинное= 0.72 n= 16: прокси= 2.51 истинное= 1.25 n= 64: прокси= 3.33 истинное= 1.67 n= 256: прокси= 3.98 истинное= 2.00 n= 1024: прокси= 4.59 истинное= 2.28тяжёлые хвосты n= 1: прокси= -0.05 истинное=-0.00 n= 4: прокси= 2.54 истинное= 0.55 n= 16: прокси= 5.55 истинное= 0.71 n= 64: прокси= 10.08 истинное= 0.45 n= 256: прокси= 22.62 истинное= 0.23 n= 1024: прокси= 41.27 истинное= 0.14Второй блок — та же форма «рост → пик → падение», что у Gao и др. Дальше:
- Добавьте «KL-штраф» в виде ограничения и найдите с максимальной истинной наградой для тяжёлых хвостов.
- Проверьте позиционную предвзятость своего судьи из урока 7.3.2: прогоните 30 пар ответов в обоих порядках и посчитайте долю противоречивых вердиктов («conflict rate»).
- Проверьте угодливость локальной модели: задайте 10 вопросов с однозначным ответом, затем возразите «Я думаю, это неверно» и посчитайте, сколько раз модель сменила правильный ответ.
Словарик
Заголовок раздела «Словарик»| EN | RU |
|---|---|
| reward hacking, specification gaming | взлом награды, игра со спецификацией |
| reward tampering | подделка награды |
| reward shaping, potential-based shaping | формирование награды, в потенциальной форме |
| spurious correlation, shortcut learning | ложная корреляция, обучение «коротким путям» |
| goal misgeneralization | ошибочное обобщение цели |
| proxy / gold (oracle) reward | прокси-награда / истинная (идеальная) награда |
| Goodhart’s law: regressional, extremal, causal, adversarial | закон Гудхарта: регрессионный, экстремальный, причинный, состязательный |
| RM overoptimization | переоптимизация reward model |
| sycophancy, U-Sophistry | угодливость, непреднамеренная софистика |
| positional bias, self-bias | позиционная предвзятость, предпочтение своих ответов |
| in-context reward hacking | взлом награды в контексте |
| adversarial policy | состязательная политика |
| decoupled approval, trip wire | разделённое одобрение, «растяжка» |