Зачем стандартизировать сравнение LLM?
Вы скачали три новые модели. Запустили первую, спросили про квантовую физику. Второй задали вопрос по Python. Третьей — про историю Древнего Рима. И что вы получили? Не сравнение моделей. Вы сравнили свои вопросы.
Это как оценивать машины: одну на скорости, вторую на комфорте, третью на расходе топлива. Бессмысленно.
Самый частый косяк при тестировании LLM — менять промпты между моделями. Результаты становятся бесполезными для сравнения.
Нужен единый тестовый набор. Один промпт, который проверяет сразу несколько способностей модели. И выдает результаты в одинаковом формате. Тогда можно реально сравнить Llama с Mistral, GPT с Claude.
Что проверяет этот промпт?
Не просто "умная ли модель". Конкретные навыки:
- Логика и рассуждения — решает ли задачки вроде "У Сергея три яблока..."
- Знание фактов — не галлюцинирует ли про даты и события
- Код — пишет ли рабочий Python, понимает ли синтаксис
- Креативность — генерирует ли осмысленные тексты
- Инструкции — следует ли точно указаниям
Плюс технические метрики: время ответа, длина вывода, токены в секунду (если API дает такие данные).
Готовый промпт для сравнения
Копируйте. Вставляйте в любую модель. Получайте структурированные ответы.
# ПРОМПТ ДЛЯ СРАВНЕНИЯ ПРОИЗВОДИТЕЛЬНОСТИ LLM МОДЕЛЕЙ
# Время начала теста: {timestamp}
# Модель: {model_name}
ТЕСТОВЫЙ НАБОР ДЛЯ ОЦЕНКИ LLM
ПРАВИЛА:
1. Отвечай ТОЛЬКО на вопросы ниже, не добавляй пояснений
2. Строго соблюдай формат ответа для каждого задания
3. Не меняй формулировки заданий
4. Если не знаешь ответа — напиши "НЕ ЗНАЮ"
---
ЗАДАНИЕ 1: ЛОГИЧЕСКОЕ РАССУЖДЕНИЕ
Вопрос: "У Марии было 5 книг. Она подарила 2 книги подруге и купила 3 новые. Затем потеряла 1 книгу. Сколько книг у Марии теперь?"
Формат ответа: ЧИСЛО: [только число]
---
ЗАДАНИЕ 2: ФАКТИЧЕСКОЕ ЗНАНИЕ
Вопрос: "В каком году человек впервые высадился на Луне?"
Формат ответа: ДАТА: [год]
---
ЗАДАНИЕ 3: ПРОГРАММИРОВАНИЕ
Задача: "Напиши функцию на Python, которая принимает список чисел и возвращает сумму всех четных чисел."
Формат ответа: КОД:
python
[код здесь]
---
ЗАДАНИЕ 4: ТВОРЧЕСКОЕ ЗАДАНИЕ
Задача: "Придумай короткое название (2-3 слова) для нового приложения, которое помогает изучать иностранные языки через игры."
Формат ответа: НАЗВАНИЕ: [название]
---
ЗАДАНИЕ 5: ИНСТРУКЦИИ
Задача: "Перепиши это предложение в обратном порядке слов: 'Быстрая коричневая лиса прыгает через ленивую собаку'"
Формат ответа: ПЕРЕВЕРНУТО: [предложение]
---
ТЕХНИЧЕСКИЕ ДАННЫЕ (заполни, если доступно):
- Время генерации ответа: [секунды]
- Длина ответа в токенах: [число]
- Модель идентифицирует себя как: [название модели]
НАЧНИ ОТВЕТ С "ТЕСТ НАЧАТ".
1 Как использовать этот промпт
Просто скопируйте весь блок кода выше. Вставьте в чат с моделью. Замените {timestamp} на текущее время и {model_name} на название тестируемой модели.
Важно: используйте одинаковые параметры генерации для всех моделей. Одинаковая температура (0.7 — хороший вариант). Одинаковый max_tokens.
Не меняйте промпт между запусками! Даже запятые. Иначе сравнение теряет смысл.
2 Что делать с результатами
Собирайте ответы в таблицу. Excel, Google Sheets — не важно. Столбцы:
| Модель | Логика (задание 1) | Факты (задание 2) | Код рабочий? | Время ответа | Следование инструкциям |
|---|---|---|---|---|---|
| Llama 3.1 8B | 5 ✓ | 1969 ✓ | Да | 2.3с | Полное |
| Mistral Small | 5 ✓ | 1969 ✓ | Да | 1.8с | Частичное |
"Следование инструкциям" — сюда пишем, насколько точно модель соблюдала формат. Если везде писала "ЧИСЛО: 5", "ДАТА: 1969" — отлично. Если добавляла пояснения — плохо.
Почему именно эти задания?
Каждое задание ловит разные типы ошибок:
- Задание 1 — простая арифметика, но модели иногда "рассуждают вслух" вместо числа
- Задание 2 — базовый факт, проверка на галлюцинации (некоторые модели называют 1972 или 1968)
- Задание 3 — практический навык, плюс проверка форматирования кода
- Задание 4 — креативность без правильного ответа, оцениваем субъективно
- Задание 5 — чистое следование инструкциям, без понимания смысла
Вместе они дают срез способностей. Не полную картину, но достаточную для первого отсева.
Частые ошибки при сравнении
Что делают не так:
- Меняют температуру — одна модель на 0.2 (консервативная), другая на 1.0 (креативная). Результаты несравнимы.
- Забывают про контекст — тестируют в новом чате, а потом в продолжении диалога. Разные условия.
- Не фиксируют seed — если есть возможность установить seed для детерминированности, используйте.
- Оценивают "по ощущениям" — "эта модель кажется умнее". Цифры важнее.
Самая обидная ошибка: потратить день на тесты, а потом понять, что нельзя сделать выводы из-за разного подхода.
Как расширить тест
Базовый промпт выше — минимальный набор. Для серьезного сравнения добавьте:
- Многократные запуски — 3-5 раз с разными seed, усреднить результаты
- Специализированные задачи — если нужна модель для кода, добавьте больше программирования
- Длинный контекст — проверьте, не теряет ли модель нить в 10к токенах
- Неанглийские языки — добавьте задание на русском, испанском, китайском
Для визуализации результатов попробуйте LLMPlot.com — сервис для создания графиков сравнения.
Что делать, если модель игнорирует формат?
Бывает. Особенно у маленьких или плохо настроенных моделей. Они начинают рассуждать: "Давайте посчитаем... у Марии было 5 книг..."
Варианты решения:
- Уменьшить temperature до 0.1-0.3
- Добавить в начало промпта "ТЫ — ТЕСТОВЫЙ АССИСТЕНТ. ТВОЯ ЕДИНСТВЕННАЯ ЗАДАЧА — ОТВЕЧАТЬ В СТРОГОМ ФОРМАТЕ."
- Использовать few-shot примеры — показать, как должен выглядеть ответ
Если модель все равно не слушается — это уже метрика. Плохое следование инструкциям = минус в оценке.
Секретное применение: отслеживание деградации
Вот что мало кто делает. Запускайте этот промпт на одной и той же модели раз в месяц.
Провайдеры иногда "улучшают" модели. Или "оптимизируют". И качество падает. Но незаметно, постепенно.
Если в январе модель правильно отвечала на все 5 заданий за 2 секунды, а в марте ошибается в арифметике и тратит 4 секунды — это тревожный звоночек. У вас есть цифры, а не ощущения.
Особенно актуально для облачных API, где вы не контролируете, какая именно версия модели вам отвечает.
Сохраняйте результаты. Дату, время, ответы. Через полгода будет видна динамика.
И последнее: не делайте из этого религию. Промпт — инструмент, а не истина в последней инстанции. Если модель плохо справляется с тестом, но идеально решает вашу конкретную задачу — используйте ее. Тесты для сравнения, а не для абсолютных оценок.
Теперь у вас есть метод. Больше не нужно гадать, какая модель "лучше". Запустите тест. Посмотрите цифры. Решение станет очевидным.