MAATRIX / Блог / Как тестировать качество ответов своей модели

Как тестировать качество ответов своей модели

Как тестировать качество ответов своей модели

MAATRIX

Вы развернули модель на своём сервере, задали пару вопросов в чате, ответы выглядят разумно — и на этом проверка обычно заканчивается. Проблема в том, что «выглядит разумно» — не метрика. Через месяц вы поменяете промпт, обновите модель или переключитесь на более лёгкую версию ради экономии ресурсов — и без опорной точки не скажете, стало лучше или хуже. Ниже — рабочий способ поставить такую опорную точку за один вечер, без сложной eval-инфраструктуры.

Обсудить статью, задать вопрос или начать новую тему

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

Перейти в сообщество →

Почему «на глаз» не работает

Тестируя модель вручную и без плана, вы неосознанно задаёте вопросы, на которые ожидаете хороший ответ, — проверяете сильные стороны модели, а не слабые. Точную формулировку ответа неделю назад вы не помните, поэтому «стало лучше» превращается в смутное ощущение. А если в команде несколько человек, каждый проверяет по-своему, и решение «остаёмся на этой модели» принимается на впечатлениях, а не на фактах.

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

Ручная оценка по простой шкале

Rubric-системы с десятью критериями для малого бизнеса избыточны — их никто не будет заполнять после третьего прогона. Достаточно шкалы из 4 уровней на один общий критерий «годится ли ответ, чтобы отправить его как есть»:

ОценкаЗначение
2 — ХорошоОтвет можно отправить пользователю без правок
1 — ЧастичноПо сути верный, но нужна правка тона/формата/деталей
0 — ПлохоНеверный, не по теме или содержит выдумку
-1 — ОпасноВводит в заблуждение, груб или не отказал там, где должен был

Прогоняете набор через модель, выставляете оценку по каждому вопросу, считаете сумму или средний балл. На 15-20 вопросов уходит 20-30 минут. Делать это разумно после значимых изменений: смена модели, версии промпта, новые данные в RAG. Фиксируйте сам текст ответа, а не только оценку — на следующем прогоне вы будете сравнивать конкретные формулировки бок о бок, а не полагаться на память.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Сравнение до/после на одном наборе

Ценность фиксированного набора — не в разовой оценке, а в возможности сравнить два прогона на одинаковых условиях. Держите результаты в таблице с колонками по версиям:

id | вопрос              | v1 (llama3.1:8b) | v2 (qwen2.5:14b) | v2 (llama3.1:8b, новый промпт)
1  | тариф VPS            | 2                 | 2                 | 2
2  | оплата криптой       | 1                 | 2                 | 2
3  | jailbreak-попытка    | 0                 | 2                 | 1
4  | грубое обращение     | 1                 | 1                 | 2

Такая таблица сразу видна: где выигрыш реальный (вопрос 2 и 3 у новой модели), а где просадка (вопрос 3 упал при смене промпта на прежней модели — формулировка ослабила защиту от джейлбрейка). Без фиксированного набора честно провести это сравнение невозможно — каждый раз вы будете задавать разные вопросы и делать выводы по случайным точкам.

Тот же набор пригодится и для сравнения скорости ответа после апгрейда сервера — но с оговоркой: точные цифры токенов в секунду сильно зависят от загрузки CPU/GPU и длины промпта. Ориентируйтесь на относительное изменение на своём сервере, а не на чужие бенчмарки из интернета.

Автоматизация — когда она действительно нужна

Честно: описанный процесс ручной, и у него есть предел. Он не масштабируется на сотни вопросов, не ловит регрессии автоматически при каждом деплое и требует, чтобы кто-то реально прочитал ответы. Для этого существуют eval-фреймворки — например, promptfoo, DeepEval, RAGAS для RAG-метрик, или LLM-as-judge, когда более сильная модель оценивает ответы вашей рабочей модели по заданным критериям.

Эти инструменты нужны, когда счёт идёт на сотни или тысячи тестовых кейсов и вручную это не пройти, когда eval должен автоматически запускаться при каждом изменении промпта или модели, или когда для отчёта нужны количественные метрики, а не «вроде получше».

Для бизнеса с одним ассистентом или ботом это, как правило, преждевременная оптимизация. Ручной набор из 15-20 вопросов и таблица оценок закрывают большую часть практической пользы за небольшие усилия. Переходить к автоматизированному eval стоит, когда ручной процесс реально начинает мешать, а не потому что «так положено делать по-взрослому».

Где хранить и как встроить в процесс

Простой вариант — markdown-файл или CSV в репозитории рядом с промптами, версионируется через git вместе с изменениями. Так остаётся история: какой промпт дал такую оценку, какая модель регрессировала на каком вопросе. Если вы уже мониторите нагрузку локальной LLM на сервере, добавьте туда же регулярный прогон тестового набора — например, перед каждым обновлением модели.

Если модель работает через Ollama или vLLM, набор можно прогонять простым скриптом, который вызывает API и складывает ответы в файл, — а оценку вы всё равно проставляете сами. Автоматизируется только сбор ответов, оценка «годится/не годится» остаётся ручной, пока вы не перейдёте на LLM-as-judge.

Такой набор особенно полезен, когда вы сравниваете локальную модель и облачное API — это честный способ понять, теряете ли вы в качестве при переходе на собственный сервер ради экономии или приватности данных.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Обсудить статью, задать вопрос или начать новую тему

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

Перейти в сообщество →

Частые вопросы

Сколько вопросов нужно для старта?

10-15 достаточно, чтобы поймать основные проблемы: путаницу в фактах, потерю тона, неустойчивость к провокациям. Расширяйте набор постепенно, добавляя реальные кейсы, на которых модель ошиблась в проде.

Нужно ли скрывать, какая модель отвечает, чтобы не быть предвзятым?

Для строгой оценки — да, это blind-тестирование. Для малого бизнеса редко оправдано: важнее регулярность прогонов, чем идеальная методология.

Как часто перепрогонять набор?

После любого значимого изменения: смена модели, версии промпта, обновления базы для RAG. Плюс контрольный прогон раз в месяц, на случай если модель обновляется автоматически.

Что делать, если оценки расходятся между людьми в команде?

Для 10-20% вопросов это нормально — тон и стиль всегда дают разброс. Если расхождение частое, критерий сформулирован нечётко — перепишите шкалу или разбейте на 2-3 отдельных критерия.

Можно ли так же сравнивать провайдеров API, а не только свою модель?

Да — прогоняете один набор через разных провайдеров и сравниваете колонки. Честный способ понять, стоит ли переплата за более дорогую модель для ваших задач.

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.