Оценка генеративных моделей: как измерять качество
Eval — воспроизводимая процедура, которая связывает сценарий использования с примерами, эталонами, метриками и правилом принятия решения.
Краткий ответ
Eval — воспроизводимая процедура, которая связывает сценарий использования с примерами, эталонами, метриками и правилом принятия решения. Один публичный benchmark не отвечает, подходит ли система конкретным пользователям и данным.
Eval — воспроизводимая процедура, которая связывает сценарий использования с примерами, эталонами, метриками и правилом принятия решения. Один публичный benchmark не отвечает, подходит ли система конкретным пользователям и данным.
Начинайте со спецификации задачи
Опишите пользователей, входы, допустимые выходы и цену ошибки. Для справочного ассистента важны factuality, groundedness и корректный отказ. Для извлечения полей — precision, recall и валидность схемы. Для творческого помощника — разнообразие, управляемость и человеческое предпочтение.
Метрика должна различать полезные и опасные изменения. Если оценивать только длину ответа, модель научится многословию. Если только совпадение строки, корректный перефразированный ответ может получить ноль.
Уровни тестирования
- Компонентные evals: retrieval recall, корректность tool arguments, schema validation.
- End-to-end evals: решена ли пользовательская задача всем конвейером.
- Safety evals: prompt injection, утечка данных, опасные запросы, обход разрешений.
- Эксплуатационные метрики: latency, стоимость, отказ API, доля эскалаций.
- Human evaluation: полезность и тон по заранее заданной рубрике.
HELM подчёркивает многомерность: accuracy нужно рассматривать вместе с calibration, robustness, fairness, toxicity и efficiency. Между метриками возможны компромиссы.
Публичные benchmarks и их границы
MMLU измеряет ответы на вопросы из множества дисциплин, TruthfulQA — устойчивость к распространённым ложным представлениям. Они полезны для сравнения при одинаковом протоколе, но не представляют весь продукт.
Результат зависит от версии датасета, prompt template, числа few-shot примеров и способа извлечь ответ. Данные benchmark могут попасть в обучение — contamination завышает оценку. Высокий средний балл также скрывает провал маленькой, но критичной категории.
LLM-as-a-judge и человеческая калибровка
Модель-судья масштабирует проверку открытых ответов, однако может предпочитать длинный текст, определённый порядок вариантов или стиль модели того же семейства. Судье дают рубрику и доказательства, меняют порядок кандидатов, измеряют согласие с экспертами.
Не храните только итоговый балл. Сохраняйте версию judge, prompt, сырой вывод и причину оценки. Для спорных и высокорисковых случаев нужен человек.
Регрессии и статистическая неопределённость
Фиксированный набор позволяет сравнивать релизы, но со временем превращается в цель оптимизации. Дополняйте его скрытой и регулярно обновляемой выборкой. Считайте доверительные интервалы или хотя бы число примеров: изменение 90% на 92% при 20 вопросах не равно тому же изменению на 10 000.
Разбивайте метрики по языку, типу запроса, длине контекста и группам пользователей. Среднее может улучшиться, пока качество русского языка или доступности ухудшилось.
Упражнение: eval для ответов по документам
Составьте 12 вопросов: четыре с прямым ответом, четыре требующих объединить два фрагмента, два без ответа и два с ложной предпосылкой. Для каждого укажите допустимые источники.
Оцените retrieval recall, groundedness каждого утверждения, корректность ссылок, полноту и правильный отказ. Задайте порог релиза и правило: нулевая терпимость к раскрытию документа без права доступа.
Частые вопросы
Можно выбрать лучшую модель по leaderboard?
Leaderboard помогает сузить кандидатов, но его распределение, стоимость и протокол могут не совпадать с вашим продуктом. Финальный выбор требует доменного eval.
Достаточно ли автоматических метрик?
Для строгих полей часто да, но открытые ответы и человеческая полезность требуют рубрики и калиброванной ручной проверки. Высокорисковые решения нельзя отдавать непрозрачному judge без контроля.
Нужно ли тестировать каждый prompt change?
Да, prompt является частью версии системы. Небольшая формулировка может изменить формат, отказ или чувствительность к injection.
Что важно запомнить
- Eval начинается с сценария и цены ошибки, а не с доступного benchmark.
- Качество многомерно: точность, groundedness, устойчивость, безопасность, fairness, latency и стоимость.
- Результаты публичных тестов чувствительны к протоколу, а попадание тестовых примеров в обучение способно завысить оценку.
- Версионируйте весь конвейер и проверяйте статистику по критичным срезам.
https://yadro-code.ru/lessons/without-university/generative-ai-foundations/generative-ai-13