Решения
Оценка LLM: Perplexity, MT‑Bench и Arena‑подходы
Задача страницы. Дать практичный план: что мерить, чем мерить и как встроить оценки в процесс обучения/внедрения моделей на GPU.
TL;DR
- Perplexity (PPL) — быстрая «внутренняя» метрика для каузальных LM: это экспонента кросс‑энтропии; ниже PPL → лучше языковое моделирование. Для masked‑LM PPL неприменима.
- Стандартизированные бенчмарки запускайте через EleutherAI LM Evaluation Harness (MMLU, HellaSwag и десятки других); он поддерживает HF, vLLM и multi‑GPU.
- MT‑Bench и Chatbot Arena — «открытые» оценки качества в диалоге и предпочтений людей. В MT‑Bench часто используют сильную модель как «судью»; по данным авторов, GPT‑4‑судья даёт >80% согласия с людьми.
- Arena‑подход (анонимные попарные сравнения) агрегируется в рейтинг (исторически Elo, далее — Bradley‑Terry). Это лучше отражает реальное «что предпочитает пользователь».
- Трекинг прогресса: автоматизируйте логи (W&B или MLflow), храните кривые/артефакты, строите ежедневные отчёты.
Карта метрик: когда что использовать
- Intrinsic/модельные: Perplexity (валидная только для autoregressive LM), кросс‑энтропия, точность на мульти‑выборе (MMLU и др.). Быстрые, воспроизводимые.
- Preference‑based (человеческие предпочтения): MT‑Bench (мультитёрн, «LLM‑as‑judge»), Chatbot Arena (анонимные пары, краудсорсинг). Ближе к реальной полезности.
- Продуктовые: принимаемость ответов, латентность, токены/запрос, жалобы/эскалации — мониторятся в проде (см. /solutions/llm-inference/observability/).
Рекомендация: двигайтесь «снизу вверх»: 1) базовые бенчмарки; 2) MT‑Bench; 3) Arena‑стиль/пилоты с пользователями.
Perplexity: быстрая проверка языковой «подгонки»
Что это. Перплексия — PPL=exp(H)\mathrm{PPL}=\exp(H)PPL=exp(H), где HHH — кросс‑энтропия; чем меньше PPL, тем лучше модель предсказывает следующий токен. Это внутренняя метрика качества языка и не гарантирует «полезность» чата.
Важно: PPL корректна для каузальных LM, а для masked‑LM (BERT‑подобных) определена неоднозначно — используйте другие метрики.
Мини‑рецепт (HF Transformers):
# Идея: посчитать среднюю кросс-энтропию на hold-out, затем PPL = exp(loss)
# См. гайд HF "Perplexity of fixed-length models".
Подробнее — у Hugging Face (раздел про PPL).

Стандартизированные бенчмарки: LM Evaluation Harness

Зачем. Одна CLI для десятков датасетов (MMLU, HellaSwag, GSM8K, …). Поддерживает модели HF, vLLM, а также батч‑/мульти‑GPU режимы.
Быстрый старт (один GPU, HF):
pip install lm-eval
lm_eval --model hf \
--model_args pretrained=EleutherAI/gpt-j-6B \
--tasks hellaswag \
--device cuda:0 \
--batch_size 8
Мульти‑GPU / шардирование:
accelerate launch -m lm_eval --model hf \
--tasks mmlu,arc_easy \
--batch_size 16
# Либо разбиение весов между GPU:
lm_eval --model hf --tasks mmlu \
--model_args parallelize=True \
--batch_size 16
Гайды по multi‑GPU/parallelize приведены в README Harness.
MT‑Bench: мультитёрн и «LLM‑as‑judge»
Суть. Набор из 80 продуманных мультитёрн вопросов по категориям (код, математика, знание, письмо и т.д.). Автоматическая оценка часто делается «сильной» моделью‑судьёй. В исследовании авторов сильный судья (напр. GPT‑4) достиг >80% согласия с людьми — на уровне согласия «человек‑человек».
Где взять и как запускать. Реализация и инструкции — в LMSYS FastChat (fastchat/llm_judge), который содержит код MT‑Bench и пайплайн судейства.
Chatbot Arena: попарные сравнения по предпочтениям
Идея. Пользователь анонимно беседует с двумя моделями и голосует, чей ответ предпочитает. Результаты агрегируются в рейтинг: изначально Elo, затем перешли к Bradley‑Terry, что лучше моделирует вероятности побед.
Зачем вам. Если вы дообучаете модель под RU‑рынок, Arena‑подход отражает «что нравится людям» и часто лучше коррелирует с реальной полезностью, чем «закрытые» тесты. Техотчёт по платформе — на arXiv.


LLM‑as‑a‑Judge: риски и как снизить
Проблемы: позиционный/многословный/само‑бустинг‑bias, ограниченная проверка рассуждений, чувствительность к формулировкам. Митигации: рандомизация позиций, нормализация длины, калибровка подсказок судьи, использование более сильного судьи и/или референс‑ответов, проверка согласия с людьми.
Практический совет: если судья «слишком слабый», результаты могут «плыть» — в FastChat обсуждают, что усиление судьи и наличие эталонов повышают устойчивость оценок.
Прогресс‑трекинг и отчёты: W&B / MLflow
- Weights & Biases (W&B): логируйте кривые (wandb.log), итоговые метрики (run.summary), артефакты и сводные дашборды. Хорошо подходит под распределённое обучение и историю запусков.
- MLflow Tracking: mlflow.autolog() + хранение параметров/метрик/артефактов; удобно для «чистых» Python‑скриптов и локальных серверов отслеживания.
Мини‑гид по содержимому отчёта:
- PPL/CE на валидации по датасетам‑референтам.
- Баллы LM Harness (подмножество задач, стабильные семена).
- MT‑Bench: общий балл + разрез по категориям.
- Arena‑стиль: оффлайн‑баттлы внутри команды (анонимные пары), агрегированный BT‑рейтинг.
Производственные KPI (латентность/TPS/ошибки) — см. /solutions/llm-inference/observability/.
Практические рецепты под облачные GPU
Рекомендуем Orbax Checkpointing (в том числе async и восстановление сложных pytrees; поддерживаются мульти‑хост сценарии). Есть готовые рецепты «сохранить/восстановить несколько объектов» (параметры, state оптимизатора, метрики и т.п.).
A) «Быстрая» валидация LoRA‑финтюна
- LM Harness: 3–5 задач (hellaswag, truthfulqa, небольшое подмножество MMLU).
- MT‑Bench: пакетная оценка 80 вопросов «сильным» судьёй.
- Отчёт → W&B/MLflow + артефакты (логи, конфиги, семена).
B) Регулярные регресс‑тесты (CI)
- Ночью: Harness + MT‑Bench на фиксированных семенах/версиях.
- Фиксируйте версии датасетов и шаблонов подсказок (prompt templates).
- Порог «провала» PR: падение по ключевым метрикам выше допустимого дельта‑интервала.
C) Экономия GPU‑времени
- Сэмплируйте 20–30% тестов на ежедневных прогонах, полный набор — раз в неделю.
- Стабильно логируйте вариабельность (стандартное отклонение) — не только средние.
Чек‑лист перед стартом
- Выбрали тип оценки под цель: PPL / Harness / MT‑Bench / Arena.
- Зафиксировали датасеты, подсказки, семена, версии библиотек.
- Подготовили шаблон запуска (см. /solutions/templates/) с W&B/MLflow.
- Определили тайт бюджет GPU под nightly/weekly прогон.
- Настроили дашборды и уведомления о регрессах.
Связанные страницы
База по обучению
Смешанная точность
Память и скорость: /solutions/llm-training/memory-opt/, /solutions/llm-training/optimizers/
Инференс/наблюдаемость: /solutions/llm-inference/, /solutions/llm-inference/observability/