Оценка качества вывода LLM в продакшене
В марте 2023 года GPT-4 определяла простые числа с точностью 97,6%. К июню 2023 года точность той же модели упала до 2,4%. Никто не менял код. Никто не менял промпт. Модель просто «уплыла».
В этом заключается основная проблема использования LLM в продакшене. Вы не контролируете модель. Это зависимость, которая подвержена дрейфу. Если вы не будете её измерять, пользователи сами скажут вам, что она сломалась.
Нельзя полагаться на «ощущения» или принцип «вроде выглядит нормально». Вам нужны воспроизводимые сигналы.
Традиционное ПО детерминировано. Один и тот же вход дает один и тот же выход. LLM нарушают это правило. Они недетерминированы, а понятие «правильно» часто бывает размытым.
Чтобы управлять этим процессом, вам необходимы три уровня оценки:
- Оффлайн-оценка (Offline evals): запускайте фиксированный набор тестов при каждом изменении, чтобы отлавливать регрессии.
- Проверки без эталона (Reference-free checks): используйте такие сигналы, как обнаружение галлюцинаций, когда у вас нет «правильного» ответа.
- Мониторинг продакшена: следите за реальным трафиком на предмет дрейфа и падения качества.
Фундаментом является «Золотой набор данных» (Golden Dataset). Не используйте случайные выборки. Используйте отобранный набор сложных случаев: пустые входные данные, странные пограничные случаи (edge cases) и состязательные промпты (adversarial prompts). 80 точных примеров лучше, чем 8 000 случайных.
При использовании LLM в качестве судьи (LLM as a judge) следите за следующими искажениями:
- Искажение позиции (Position bias): судьи часто отдают предпочтение первому увиденному ответу. Исправьте это, проводя сравнения в обоих порядках.
- Искажение многословности (Verbosity bias): судьи поощряют более длинные ответы, даже если они менее понятны.
- Искажение самопредставления (Self-enhancement bias): модели предпочитают текст из своего собственного семейства. Используйте модели других семейств для оценки результатов.
Для мониторинга в реальном времени используйте триаду RAG (RAG Triad), чтобы проверить:
- Верность (Faithfulness): соответствует ли ответ контексту?
- Релевантность ответа (Answer relevance): отвечает ли он на вопрос?
- Релевантность контекста (Context relevance): извлекла ли система правильные документы?
Перестаньте относиться к качеству модели как к фиксированному свойству. Относитесь к нему как к задержке (latency) или уровню ошибок. Оно меняется. Ваша задача — заметить, когда оно перестает быть приемлемым.
Начните с малого. Напишите 20 «золотых» примеров. Используйте их как фильтр (gate) при развертывании. Позже добавьте дешевые эвристики для продакшена.
Спокойно спят не те команды, у которых самые умные модели. А те, кто в течение часа узнает, если их модель «поглупела».
Source: https://dev.to/nazar_boyko/evaluating-llm-output-quality-in-production-39an
Optional learning community: https://t.me/GyaanSetuAi
