Перейти к основному содержимому

LLM-судья — это версионируемая зависимость: как снизить затраты на пайплайны оценки, не потеряв сопоставимость

Более дешёвый LLM-судья оправдан только в том случае, если он версионируется, фиксируется и проходит регрессионное тестирование, как любая другая зависимость; иначе экономия оплачивается потерей сопоставимости между запусками.

Крупный план серверной стойки с индикаторными огнями и сетевыми кабелями, представляющей версионируемые компоненты инфраструктуры.

Скрытая цена более дешёвого судьи

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

В этом эссе утверждается, что замена судьи правомерна только тогда, когда судья рассматривается как версионируемая зависимость: зафиксирован, записан и прошёл регрессионное тестирование. Без этой дисциплины экономия оплачивается потерей сопоставимости, а сопоставимость — это весь смысл пайплайна оценки.

Почему замена судьи ломает историю

Две версии судьи дают оценки, которые не являются напрямую сопоставимыми, даже если текст рубрики побайтово идентичен. Модель-судья вносит своё собственное априорное знание: насколько строго она интерпретирует пункт рубрики, как она взвешивает частичный балл, как она обрабатывает неоднозначность. Рубрика, которая гласит «ответ должен ссылаться на источник», читается по-разному маленькой моделью, которая сопоставляет шаблоны по наличию URL, и более крупной моделью, которая проверяет, подтверждает ли цитируемый источник утверждение. Рубрика одна и та же; измерение — нет.

Это не теоретическая проблема. Это наиболее распространённая причина необъяснимого изменения оценок в оценке агентов. Таблица лидеров, которая смешивает версии судьи, измеряет судью, а не тестируемую систему. Когда новый судья развёртывается молча, исторические оценки становятся смесью двух распределений. Тренды во времени становятся неинтерпретируемыми. Регрессия, которая появляется на шестой неделе, может быть обновлением судьи на пятой неделе.

Практическое следствие состоит в том, что любое сравнение между запусками требует, чтобы версия судьи оставалась постоянной, или чтобы сдвиг шкалы был явно смоделирован. Большинство команд не делают ни того, ни другого. Они относятся к судье как к инфраструктуре, которую можно обновить на месте, как к патчу среды выполнения. Но патч среды выполнения не меняет смысл метрики. Обновление судьи — меняет.

Относитесь к судье как к компоненту

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

Macro of metallic AA batteries stacked in a pyramid shape

  • идентификатор модели и ревизия провайдера;
  • параметры декодирования (temperature, top-p, max tokens, seed, если доступно);
  • хеш промпта судьи и текста рубрики;
  • номер ревизии рубрики.

Запись результата без этих полей не воспроизводима. Это анекдот.

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

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

Дешёвые судьи нуждаются в собственной оценке

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

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

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

Здесь есть честный компромисс. Блокировка при разногласии добавляет задержку и операционные трения. Она требует поддержания выборки оракула и повторного запуска проверок согласия при изменении рубрики. Команды, которые пропускают это, не экономят усилия; они откладывают их до момента, когда изменIndustrial robotic arm on machinery in a modern manufacturing facilityetwork-cables-macro-e398d9-23b10f.jpg)

Аргумент о стоимости, изложенный честно

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

Реальная экономия от дешёвых судей — это скорость итерации по рубрике, а не расходы на инференс. Дешёвый судья позволяет команде многократно переоценивать сохранённый набор выводов кандидатов, уточняя формулировку рубрики. Это подлинное преимущество: итерация по рубрике — это то, где качество оценки фактически улучшается. Но это зависит от сохранённых выводов судьи и зафиксированной версии судьи. Без них дешёвый судья ускоряет процесс, который производит несопоставимые числа.

Если дешёвый судья меняет то, что вы выпускаете, экономия отрицательна. Судья, который дешевле, но шумнее, будет одобрять или отклонять кандидатов по-разному. Если это различие влияет на решение о выпуске, стоимость ошибки решения затмевает экономию на инференсе. Правильное сравнение — не стоимость судьи против стоимости судьи. Это стоимость судьи плюс ошибка решения против стоимости судьи плюс ошибка решения.

Минимальная дисциплина

Ничто из этого не требует большой платформы. Это требует четырёх привычек:

  1. Фиксируйте идентичность судьи в каждой записи результата, включая хеши промпта и рубрики.
  2. Храните выводы судьи рядом с выводами кандидатов, чтобы повторная оценка была возможна без повторного запуска агента.
  3. Поддерживайте выборку оракула и измеряйте согласие по семействам с блокирующим порогом.
  4. Пишите заметку о миграции всякий раз, когда версия судьи меняется, и переоценивайте фиксированный набор кандидатов, чтобы количественно оценить сдвиг шкалы.

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

Вопрос о сокращении затрат правомерен. Бюджеты на оценку реальны. Но экономия от более дешёвого судьи реальна только в том случае, если сопоставимость сохраняется. Иначе пайплайн производит числа, которые выглядят как измерения, а ведут себя как шум.

ПоделитьсяXLinkedInПостоянная ссылка6 мин чтения

Связанное чтение

На какие вопросы это отвечает

Can two judge versions produce comparable scores if the rubric text is identical?

No. The judge model contributes its own interpretation of the rubric, so identical rubric text does not guarantee an identical scale. Scores from different judge versions should be treated as separate measurements unless a migration study quantifies the shift.

What should be stored in every evaluation result record?

The judge model identifier and revision, decoding parameters, a hash of the judge prompt and rubric, the rubric revision, and the judge's raw output. Storing the raw output allows re-grading without re-running the agent under test.

How should a cheap judge be validated?

Measure agreement with a held-out human sample or an expensive oracle judge, per task family. Set a disagreement threshold that blocks the pipeline for that family rather than emitting a warning that can be ignored.

Is judge cost usually the right place to start cost reduction?

Often not. Judge cost is typically a small fraction of agent run cost. The larger saving from cheap judges is faster rubric iteration, and that only holds if judge outputs are stored and the judge version is pinned.