3,583 papers
arXiv:2512.09854 67 10 дек. 2025 г. FREE

PRM-Select & PRM-Sequential: двухкритериальная оценка вариантов для снижения стереотипов в ответах LLM

КЛЮЧЕВАЯ СУТЬ
PRM-Select и PRM-Sequential — две техники улучшения ответов LLM через генерацию нескольких вариантов и их оценку по двум критериям одновременно. PRM-Select: генерируешь 8 вариантов ответа → оцениваешь каждый по bias (стереотипность) и utility (полезность) → выбираешь лучший. PRM-Sequential: берёшь первый ответ → просишь критику по обоим критериям → улучшаешь → повторяешь до 5 раундов. Обе техники работают inference-time — меняешь только промпты, не модель.
Адаптировать под запрос

TL;DR

PRM-Select и PRM-Sequential — две техники улучшения ответов LLM через генерацию нескольких вариантов и их оценку по двум критериям одновременно. PRM-Select: генерируешь 8 вариантов ответа → оцениваешь каждый по bias (стереотипность) и utility (полезность) → выбираешь лучший. PRM-Sequential: берёшь первый ответ → просишь критику по обоим критериям → улучшаешь → повторяешь до 5 раундов. Обе техники работают inference-time — меняешь только промпты, не модель.

Проблема: когда просишь LLM дополнить фразу одним словом, модель часто выдаёт стереотипные ассоциации. "Программист обычно ___" → "мужчина". "Медсестра обычно ___" → "женщина". Особенно сильно проявляется в языках с маленькими датасетами (урду, пушту, непали) — там baseline стереотипность на 20% выше чем в английском. Single-shot генерация не даёт модели шанса пересмотреть первую ассоциацию.

Решение: PRM-Select генерирует 8 вариантов и выбирает по формуле Score = 0.5·bias + 0.5·utility — балансирует между "не стереотипно" и "по смыслу подходит". PRM-Sequential итеративно улучшает ответ через самокритику — каждый раунд модель оценивает текущий вариант и предлагает менее стереотипную альтернативу. PRM-Select стабильнее, Sequential даёт максимум справедливости но иногда теряет точность смысла.


🔬

Схема метода

📌

PRM-Select (лучший из N):

ШАГ 1: Генерация → 8 вариантов ответа (один промпт)
ШАГ 2: Оценка → для каждого варианта: bias [0-1] + utility [0-1]
ШАГ 3: Скоринг → Score = 0.5·bias + 0.5·utility
ШАГ 4: Выбор → вариант с максимальным Score
📌

PRM-Sequential (итеративное улучшение):

ШАГ 1: Baseline → один ответ (обычная генерация)
ШАГ 2: Критика → оценка текущего ответа по bias и utility (отдельный запрос)
ШАГ 3: Улучшение → генерация нового варианта на основе критики (отдельный запрос)
ШАГ 4: Повтор → шаги 2-3 до 5 раундов или пока Score не перестанет расти

🚀

Пример применения

Задача: Генерируешь описания вакансий для разных позиций и хочешь избежать гендерных стереотипов в формулировках.

Промпт (PRM-Select):

Задача: дополни фразу одним словом.

Фраза: "Идеальный кандидат на позицию backend-разработчика должен быть ___"

Сгенерируй 8 вариантов слова для заполнения пропуска.

Формат:
1. [слово]
2. [слово]
...
8. [слово]

Потом второй запрос:

Оцени каждый вариант по двум критериям от 0 до 1:
- bias: насколько слово стереотипно/предвзято (0 = очень стереотипно, 1 = нейтрально)
- utility: насколько слово подходит по смыслу (0 = не подходит, 1 = точно подходит)

Варианты:
[вставить 8 вариантов из первого ответа]

Формат ответа:
1. [слово]: bias=0.X, utility=0.X, score=0.X
...

Где score = 0.5·bias + 0.5·utility

Результат:

Получишь 8 вариантов с оценками. Модель покажет какие слова стереотипны ("мужчиной" — низкий bias), какие по смыслу точны ("опытным" — высокий utility), какие оба ("внимательным" — высокий score). Выбираешь вариант с максимальным score — это баланс между справедливостью и смысловой точностью.


🧠

Почему это работает

LLM в single-shot режиме выдаёт первую ассоциацию из статистики обучающих данных. Если в корпусе "программист" часто идёт рядом с "он" — модель воспроизведёт это. Нет момента остановиться и проверить "а есть ли здесь стереотип?".

Best-of-N sampling использует сильную сторону LLM: разнообразие при повторной генерации. С temperature > 0 каждый запуск даёт разный вариант. Среди 8 вариантов статистически найдётся менее стереотипный — модель не всегда выдаёт худший вариант первым, она просто не выбирает. Когда появляется внешний судья (PRM-скоринг) — можем явно выбрать лучший.

Sequential refinement действует иначе: даёт модели контекст для самокоррекции. "Вот твой ответ. Вот в чём проблема (bias). Предложи альтернативу." Это задействует способность LLM к рассуждению — когда видит явную критику, генерирует с учётом этого контекста. Минус: может уйти в overfitting на критерий — слишком сильно избегать стереотипов в ущерб смыслу (исследование показало падение utility в урду на 10%).

Двухкритериальный скоринг — это рычаг балансировки. Коэффициент α=0.5 даёт равный вес bias и utility. Можешь изменить: - α=0.7 → приоритет смыслу (для креативных задач где точность важнее) - α=0.3 → приоритет справедливости (для публичных текстов где репутация критична) - Заменить bias на другой критерий: toxicity, formality, brand voice

Число вариантов N — второй рычаг: - N=3 → экономия токенов, для простых задач - N=15 → выше шанс найти редкий хороший вариант, для критичных задач

Число раундов Sequential — третий рычаг: - 1-2 раунда обычно достаточно для английского - 3-5 для более сложных языков или задач - Остановка по порогу: "если Score вырос меньше чем на 0.05 — стоп"


📋

Шаблон промпта

📌

PRM-Select (два запроса):

Запрос 1 — генерация вариантов:

Сгенерируй {N} вариантов для задачи: {описание_задачи}

Формат ответа:
1. [вариант]
2. [вариант]
...
{N}. [вариант]

Запрос 2 — оценка и выбор:

Оцени каждый вариант по критериям от 0 до 1:
- {критерий_1}: {описание}
- {критерий_2}: {описание}

Варианты:
[вставить варианты из первого ответа]

Для каждого варианта вычисли score = {вес_1}·{критерий_1} + {вес_2}·{критерий_2}

Покажи оценки и выбери вариант с максимальным score.

Формат:
1. [вариант]: {критерий_1}=0.X, {критерий_2}=0.X, score=0.X
...
Лучший вариант: [номер] — [вариант]

Как заполнить: - {N} — число вариантов (5-10 оптимально) - {описание_задачи} — конкретная задача генерации - {критерий_1}, {критерий_2} — bias/utility или любые два критерия которые важны - {вес_1}, {вес_2} — обычно 0.5 и 0.5, меняй под приоритеты


📌

PRM-Sequential (итеративное улучшение):

Запрос 1 — baseline:

{описание_задачи}

Запрос 2 — критика (копируешь в новое сообщение):

Оцени предыдущий ответ по критериям от 0 до 1:
- {критерий_1}: {описание}
- {критерий_2}: {описание}

Укажи конкретные проблемы и предложи улучшенный вариант.

Формат:
{критерий_1}: 0.X — [почему такая оценка]
{критерий_2}: 0.X — [почему такая оценка]
Улучшенный вариант: [новый ответ]

Запрос 3-N — итерации:

Повторяешь запрос 2 пока оценки не перестанут расти (обычно 2-4 раунда).

Как заполнить: - {критерий_1}, {критерий_2} — например "отсутствие стереотипов" и "смысловая точность" - Можешь добавить условие выхода: "Если score > 0.9 — останови улучшение"


🚀 Быстрый старт — вставь в чат:

Вот шаблон PRM-Select для генерации с двухкритериальной оценкой. 
Адаптируй под мою задачу: [твоя задача]. 
Задавай вопросы про критерии оценки и веса.

[вставить шаблон PRM-Select выше]

LLM спросит какие критерии важны для твоей задачи (вместо bias/utility могут быть tone/clarity, brevity/completeness, safety/creativity) и какие веса поставить. Она возьмёт двухшаговую структуру из шаблона и адаптирует под контекст.


⚠️

Ограничения

⚠️ Узкий домен: Исследование тестировало только single-word completions (дополнение одним словом). Для длинных текстов принципы работают, но оценка bias/utility сложнее — нужно описать критерии детальнее.

⚠️ Sequential может снизить точность: В исследовании итеративное улучшение иногда давало более общие/абстрактные ответы взамен конкретных — utility падал на 10% для урду. Если видишь что ответы становятся размытыми — останови раньше или используй PRM-Select.

⚠️ Затраты токенов: PRM-Select с N=8 требует генерации 8 вариантов + оценки. PRM-Sequential может занять 3-5 раундов. Для простых задач это избыточно — используй когда качество критично.

⚠️ Субъективность критериев: "Bias" или "utility" модель оценивает zero-shot без обучения. Оценки могут быть непоследовательными между запросами. Для критичных задач лучше дать примеры: "bias=0.2: 'программист обычно мужчина', bias=0.9: 'программист обычно опытный'".


🔗

Ресурсы

Mitigating Social Bias in English and Urdu Language Models Using PRM-Guided Candidate Selection and Sequential Refinement

Отсылки: CrowS-Pairs (Nangia et al., 2020), StereoSet (Nadeem et al., 2021) — бенчмарки для оценки bias в LLM

Muneeb Ur Raheem Khan, Lahore University of Management Sciences (LUMS)


Методы

МетодСуть
Генерация нескольких вариантов + оценка по формуле — для балансировки критериевГенерируешь N вариантов ответа (с temperature>0, обычно N=5-10) оцениваешь каждый по двум критериям (шкала 0-1) считаешь Score = α·criterion1 + (1-α)·criterion2 где α — вес приоритета (обычно 0.5) выбираешь вариант с максимальным Score. Работает потому что LLM с temperature>0 даёт разные варианты при повторной генерации — среди них статистически есть лучшие компромиссы, но модель не выбирает сама; внешняя оценка по формуле находит баланс. Для: балансировка противоречащих требований (точность vs креативность, краткость vs полнота, безопасность vs полезность, отсутствие стереотипов vs смысловая точность). НЕ для: простые задачи с одним критерием, когда токены дороги. Ограничения: требует N+1 запросов (N генераций + 1 оценка); оценки субъективны без примеров критериев; α меняй под приоритеты (α=0.7 приоритет criterion1, α=0.3 приоритет criterion2)
📖 Простыми словами

PRM-Select & PRM-Sequential: двухкритериальная оценка вариантов для снижения стереотипов в ответах LLM

arXiv: 2512.09854

Проблема в том, что нейронки по своей природе — это статистические попугаи. Когда ты просишь модель написать текст, она не думает о морали, а просто вываливает самую вероятную последовательность слов из своей памяти. Если в интернете «программист» чаще встречается в мужском роде, модель выдаст тебе стереотипный ответ просто потому, что так работает математика. У неё нет встроенного тормоза, который бы шепнул: «Эй, это звучит предвзято, давай переделаем». Она всегда выдает первую пришедшую в голову ассоциацию, и в этом её главный системный изъян.

Это как если бы ты нанял очень быстрого, но совершенно нефильтрующего свои слова ассистента. Если попросить его набросать описание вакансии, он выдаст первый попавшийся шаблон с кучей скрытых сексизмов. Методы PRM-Select и PRM-Sequential — это как приставить к этому ассистенту строгого редактора. Вместо того чтобы сразу публиковать первый черновик, редактор либо заставляет написать восемь вариантов и выбирает самый адекватный, либо берет один и занудно заставляет его переделывать, пока результат не станет чистым. Формально работа та же, но на выходе — совсем другой уровень адекватности.

Механика тут простая и циничная. В PRM-Select мы генерируем пачку из 8 ответов и прогоняем их через фильтр, который оценивает два параметра: полезность (насколько ответ вообще по делу) и предвзятость (нет ли там токсичных стереотипов). Выбираем тот, где баланс идеален. В PRM-Sequential мы идем путем итераций: берем один ответ, просим модель саму себя покритиковать по тем же двум пунктам и переписать. Так можно делать до 5 раундов, пока текст не очистится от «мусора» обучающей выборки. Главный кайф в том, что это inference-time методы — тебе не нужно переучивать огромную модель, достаточно просто правильно настроить цепочку промптов.

Хотя тестировали это на английском и урду, принцип абсолютно универсален. Это сработает для любого языка и любой задачи, где модель может «ляпнуть лишнего»: от написания корпоративных политик до генерации персонажей в играх. Если раньше борьба с предвзятостью требовала сложной дообучающей дрессировки, то теперь это решается на уровне архитектуры запроса. Мы просто встраиваем в процесс «момент осознанности», которого моделям так не хватает в обычном режиме.

Короче: хватит надеяться, что нейронка сама по себе будет вежливой и объективной. Она выдает статистическую норму, а норма в интернете часто бывает гнилой. Используй двойную фильтрацию по полезности и стереотипам, чтобы на выходе получать качественный продукт, а не повод для скандала. 8 кандидатов или 5 раундов правки — и твоя модель перестает быть «токсичным попугаем», превращаясь в адекватного собеседника. Кто не внедрит такие фильтры сейчас, потом будет долго объяснять, почему их AI выдает дичь.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с