Оценка бенчмарка — документация Entity Enricher

Оценка бенчмарка

Оценка превращает бенчмарк из «прикидки на глаз по JSON» в объективное число. Результат каждой модели оценивается по золотому эталону — ожидаемому выводу — давая полноту, корректность и общую оценку качества, по которой можно сортировать.

Золотой эталон

Для оценки нужно то, с чем сравнивать. Каждый сценарий содержит эталонный вывод: правильный ответ для его единственной фиксированной сущности. Создайте его, сгенерировав с помощью мощных моделей (веб-поиск + документ-источник истины), вставив заведомо верный результат, а затем отредактировав его вручную, — и отметьте как проверенный, когда будете ему доверять. Проверенный эталон необходим для бенчмаркинга сценария, поэтому всегда есть с чем сравнивать. Если позже вы отредактируете эталон — или измените конфигурацию оценки сценария, — существующие оценки будут помечены как устаревшие до переоценки.

Как сравниваются значения

Основная проблема: два правильных ответа могут быть записаны по-разному. Модель, называющая актёра «R. Downey Jr.» вместо «Robert Downey Jr.», не ошибается. Поэтому каждое поле сравнивается по многоуровневой лестнице — сначала самое дешёвое и достоверное, с эскалацией только при необходимости:

1
Точное и нормализованное

Идентичные значения совпадают. Как и значения, различающиеся только регистром, окружающими пробелами или числовой точностью ("Acme" = "ACME", 4.0 = 4). Бесплатно и полностью детерминированно.

2
Сходство эмбеддингов

Для текста кандидат и эталон векторизуются и сравниваются по косинусному сходству. Выше порога они считаются одинаковыми — поэтому допустимое альтернативное написание, например «R. Downey Jr.» и «Robert Downey Jr.», является совпадением, а не ошибкой. Исключение — даты: они сравниваются как календарные значения, а не по сходству, поэтому близкая, но неверная дата («1972-03-14» и «1972-03-24») — это чёткое несовпадение, а не обманчиво высокое косинусное значение. Логические значения также сравниваются строго — точное совпадение или ничего.

3
LLM-судья

Значения, которые слишком сложно различить по сходству — все поля свободного текста, такие как сводки и описания, и каждое неидентичное число — отправляются в модель-судью, которая оценивает по шкале 0–100, насколько хорошо ответ передаёт смысл эталона. Она вознаграждает правильный ответ, сформулированный иначе или короче, и даёт числу частичный балл, когда поле это допускает (молекулярная масса 273,37 против 273,35, период полураспада 12 против 15), но всё равно засчитывает ошибку там, где важна точность (год выпуска 2020 против 2023). Без судьи свободный текст откатывается к непрерывной оценке сходства, а неидентичное число просто считается несовпадением.

Настройка строгости управляет порогом эмбеддингов: чем выше, тем более похожими должны быть два по-разному записанных значения, чтобы считаться одинаковыми. Строгость, необязательная модель-судья и модель эмбеддингов задаются в сценарии — а не выбираются каждый раз при оценке — поэтому каждая модель оценивается одинаково, и результаты остаются сопоставимыми.

Оценка массивов (списков элементов)

Списки — актёрский состав фильма, побочные эффекты препарата — это то, где модели различаются сильнее всего: небольшая модель может найти 4 актёров там, где сильная находит 15. Порядок не важен, и находка большего числа верных элементов должна побеждать. Поэтому массивы оцениваются как множество, а не позиция за позицией:

Разверните строку результата, чтобы увидеть, какие именно элементы были сопоставлены, пропущены или являются галлюцинациями.

Чтение оценки

Одно число скрывает слишком многое, поэтому каждый результат содержит промежуточные оценки:

Разворачиваемая строка показывает разбивку по каждому полю: кандидат против эталона, какая ступень лестницы приняла решение и, где это уместно, степень сходства.

Когда сценарий запускает модель более одного раза (повторы), каждый запуск оценивается отдельно, и в строке показывается среднее качество плюс разброс консистентности (от наименьшего до наибольшего среди запусков) — так что модель, которая в среднем верна, но нестабильна, легко заметить. Отображаемый вывод — это запуск с медианным качеством.

Стоимость и что выполняется

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

Где это найти

В разделе Управление моделями → Бенчмарки задайте и проверьте эталон в редакторе сценариев (и выберите там модель-судью, модель встраивания и строгость). После этого каждый запуск автоматически оценивает свои успешные результаты — сортируемый столбец Качество заполняется без дополнительных действий. Используйте Переоценить результаты (кнопку в заголовке или меню ···), чтобы переоценить после изменения эталона или настроек оценивания.