Использование языковых моделей в качестве судей
Классические метрики, такие как BLEU или ROUGE, а также метрики на основе эмбеддингов (например, [BERTScore](METEOR- CIDEr- BERTScore)), отлично работают для задач, где существует четкий эталонный ответ — например, в машинном переводе или строгой суммаризации. Однако с появлением современных больших языковых моделей (Large Language Models, LLM), способных вести диалог, писать программный код и рассуждать, возникла проблема: как оценить качество ответа на открытый вопрос, если единственно верного эталона в принципе не существует?
Представьте запрос пользователя: «Напиши креативный сценарий для рекламного ролика о новом пылесосе». Метрики на основе n-грамм здесь абсолютно бесполезны, так как два отличных, но разных сценария не будут иметь ни одного общего слова! Ручная же оценка экспертами-людьми стоит дорого и занимает слишком много времени.
Для решения этой проблемы был предложен подход LLM-as-a-Judge (языковая модель как судья, [1]). Идея заключается в том, чтобы использовать мощную языковую модель (например, GPT-4) для автоматической оценки ответов других, тестируемых языковых моделей. Исследования показывают, что оценки передовых LLM сильно коррелируют с оценками профессиональных асессоров.
Рассмотрим эволюцию этого подхода от самых простых реализаций к более сложным системам оценивания.
Точечная оценка качества
Самый простой способ использовать LLM для оценки — это точечная оценка качества (pointwise evaluation) или прямое выставление баллов.
В этом случае модели-судье передается специальный промпт (запрос), который содержит:
- Исходный вопрос или задание пользователя.
- Текст ответа, сгенерированный тестируемой моделью.
- Шкалу оценки (например, от 1 до 5).
- Критерий оценки (например, адекватность, полезность, отсутствие галлюцинаций).
Известным примером развития этого подхода является фреймворк G-Eval (g-eval, [2]). Вместо того чтобы просто просить LLM выдать число, G-Eval сначала просит модель-судью самостоятельно сгенерировать детальные шаги оценки на основе краткого описания задачи, а затем использовать эти шаги для выставления финального балла.
При прямой просьбе выдать оценку от 1 до 5, LLM часто демонстрирует неуверенность и тяготеет к средним или целым значениям (например, часто ставит 3 или 4, но редко 1 или 5). Для сглаживания этого эффекта в G-Eval используется вероятностный подход: анализируется распределение вероятностей токенов для каждого из возможных баллов, и вычисляется математическое ожидание. Это позволяет получить более точную непрерывную оценку, например, вместо округленной .
Попарное сравнение
Точечная оценка требует от модели-судьи внутреннего понимания «абсолютной шкалы качества», что часто является слишком сложной задачей. Гораздо проще и естественнее для LLM — сравнить два ответа и сказать, какой из них лучше.
Этот подход называется попарным сравнением (pairwise comparison). Модели-судье передается исходный промпт и сразу два ответа: ответ А (от модели 1) и ответ Б (от модели 2). Судья должен выбрать один из вариантов:
- Ответ А лучше.
- Ответ Б лучше.
- Ничья.
Этот подход лег в основу знаменитой платформы Chatbot Arena и бенчмарка MT-Bench [1].
В отличие от статических бенчмарков, попарное сравнение позволяет непрерывно и динамически оценивать новые модели, просто сравнивая их ответы с ответами текущих лидеров рейтинга.
Обоснование оценок
Чтобы повысить надежность оценки и приблизить ее к человеческой логике, промпт для модели-судьи усложняют, требуя не просто выдать оценку или выбрать победителя, но и перед этим написать подробное текстовое обоснование своего решения (chain-of-thought, CoT).
Промпт должен быть составлен так, чтобы модель-судья сначала сгенерировала текст с анализом сильных и слабых сторон обоих ответов, и только в самом конце вывела финальный вердикт.
Почему обоснование должно идти до оценки?
Языковые модели генерируют текст авторегрессионно (токен за токеном). Если модель сначала выдаст финальную оценку, а затем начнет писать обоснование, она будет вынуждена подгонять свои аргументы под уже предсказанный балл, даже если балл был выбран ошибочно. Если же модель сначала анализирует факты, она формирует в скрытых слоях более глубокое контекстное представление, что приводит к более объективному и обоснованному финальному выводу.
Проблемы и смещения моделей-судей
Подход LLM-as-a-Judge не лишен недостатков. При использовании языковых моделей в качестве судей исследователи выявили несколько систематических смещений (biases), которые могут искажать результаты оценки.
Смещение позиции (position bias) При попарном сравнении LLM-судья склонна чаще выбирать тот ответ, который был подан в промпте первым (Отве т А), просто из-за того, что он находится ближе к началу контекста. Решение: для каждого сравнения алгоритм должен запускать судью дважды, меняя ответы местами (сначала А против Б, затем Б против А). Если судья оба раза выбирает ответ одной и той же модели, победа засчитывается. Если судья всегда голосует за первый вариант независимо от контента, фиксируется ничья.
Смещение многословности (verbosity bias) Модели-судьи испытывают сильную симпатию к длинным, подробным текстам. Даже если длинный ответ содержит избыточную воду, а короткий ответ решает задачу лаконично и точно, LLM-судья почти всегда отдаст победу длинному варианту. Решение: в промпт судьи добавляют явные инструкции штрафовать за излишнюю многословность, либо алгоритмически накладывают дополнительный штраф за длину сгенерированного текста.
Смещение в пользу собственных ответов (self-enhancement bias) Модели склонны выше оценивать тексты, сгенерированные ими самими или моделями из того же семейства (например, GPT-4 часто предпочитает ответы GPT-3.5 ответам моделей LLaMA). Это связано с тем, что стилистика собственного текста кажется модели наиболее естественной.
Специализированные модели-судьи
Использование коммерческих моделей (таких как GPT-4) в качестве судей обходится дорого, а закрытость их архитектуры делает оценки непрозрачными, поведение судьи может измениться после обновления модели разработчиком.
Для решения этой проблемы научное сообщество начало обучать специализированные открытые модели-судьи. Известным примером является проект Prometheus (prometheus, [3]). Исследователи взяли открытую модель LLaMA-2 и дообучили ее на сотнях тысяч примеров качественных оценок, сгенерированных GPT-4. В результате получилась специализированная модель, которая не умеет писать стихи или решать математику, но умеет качественно анализировать и оценивать чужие тексты по заданному рубрикатору, достигая уровня корреляции с человеком наравне с GPT-4.
Мультиагентный подход
В качестве самой продвинутой и сложной реализации подхода LLM-as-a-Judge находятся мультиагентные системы дебатов (multi-agent debate). Вместо того чтобы доверять оценку одной модели, создается виртуальная панель из нескольких разных моделей-судей (например, GPT-4, Claude и LLaMA). Модели оценивают ответы независимо, а затем читают аргументы друг друга и вступают в несколько раундов текстовых дебатов, пока не придут к консенсусу. Такой подход минимизирует индивидуальные галлюцинации и смещения отдельных моделей, обеспечивая максимально взвешенную и всестороннюю оценку.