Что это
Методы измерения качества работы LLM - насколько хорошо модель решает ваши задачи.
Зачем
"Модель стала лучше" - это не ощущение, а цифры. Нужно уметь сравнивать модели, отслеживать деградацию после дообучения, выбирать между GPT-4 и локальной моделью.
Ключевые метрики
BLEU, ROUGE, METEOR (сравнение с эталонным текстом), BERTScore (семантическое сходство), LLM-as-a-Judge (использовать GPT-4 как оценщика), человеческая оценка, создание своего бенчмарка (набор тестов под вашу задачу).
Для кого
Для всех, кто внедряет LLM в production. Без оценки вы не узнаете, что ваша система сломалась после обновления.
Почему бенчмарки врут
MMLU, HellaSwag, GSM8K - публичные тесты. Компании знают, что их модели будут на них проверять, и подгоняют обучение. Иногда это честное улучшение, иногда - прямое включение тестов в тренировочные данные. Результат: модель может блестяще сдавать экзамены, но плавать на реальных запросах пользователей.
Что измеряют основные бенчмарки
MMLU - знания по 57 предметам (история, физика, право). HellaSwag - здравый смысл и понимание причинно-следственных связей. GSM8K - математические задачи уровня начальной школы. HumanEval - способность писать код на Python. Ни один из них не измеряет, насколько модель хороша в вашей конкретной задаче.
Как построить свой бенчмарк
Соберите 100–200 реальных запросов из вашего продакшена. Разметьте правильные ответы (это можно сделать вручную или с помощью более мощной модели). При каждом изменении модели прогоняйте этот набор. Смотрите не только на процент правильных ответов, но и на латенси, длину ответа, частоту галлюцинаций.
LLM-as-a-Judge
Самый практичный способ оценки, если у вас нет денег на человеческую разметку. Берёте GPT-4 или Claude, даёте промпт: «Оцени ответ по шкале 1–5 по критериям: точность, полнота, стиль». Исследования показывают, что такой подход коррелирует с человеческой оценкой на 80–90 процентов.
Оценка показала, что промпт-инжиниринг упёрся в потолок.
Модель всё ещё путает ваш внутренний сленг, не может выучить специфический формат ответа или постоянно забывает важные факты даже при RAG. Что делать?
Есть два пути: либо увеличивать контекст и надеяться на чудо, либо дообучать модель на своих данных.
Fine-tuning - это следующий уровень персонализации. Он даёт +5–15% качества, но требует данных и GPU. И здесь главный вопрос: когда finetune, а когда хватит хорошего промпта? И как не убить модель катастрофическим забыванием?
Что это
Дообучение предварительно обученной модели на ваших данных, чтобы она лучше решала вашу задачу.
Зачем
LLM общая, а задача - конкретная. Fine-tuning позволяет адаптировать модель под ваш стиль общения, формат ответов, предметную область.
Ключевые методы
LoRA (Low-Rank Adaptation) - самый популярный, дообучает малую часть параметров; QLoRA (Quantized LoRA) - то же самое, но с квантизацией для экономии памяти; полный fine-tune (все параметры) - дорого, редко нужно; катастрофическое забывание (catastrofic forgetting) - модель забывает старые знания при дообучении на узкой задаче.
Для кого
Для тех, кому не хватает качества промпта. Fine-tune даёт +5-15% качества, но требует данных (сотни-тысячи примеров) и инфраструктуры.
Когда нужен fine-tuning, а когда хватит промпта
Промпт хорош для быстрых экспериментов и задач, которые не требуют нового знания. Fine-tuning нужен, когда модель должна перенять ваш стиль общения, выучить специфический формат ответов или запомнить факты, которые не влезают в контекстное окно. Fine-tuning даёт плюс 5–15 процентов качества по сравнению с промптом, но требует данных и GPU.
LoRA и QLoRA
Полный fine-tune всех параметров модели - дорого (десятки тысяч долларов) и часто не нужно. LoRA (Low-Rank Adaptation) замораживает исходные веса и добавляет к ним маленькие обучаемые матрицы. Размер этих матриц обычно 0.1–1 процент от исходной модели. QLoRA делает то же самое, но с квантизацией - вы можете дообучить 70-миллиардную модель на одной видеокарте с 24 гигабайтами памяти.
Сколько нужно данных
Для LoRA достаточно 500–2000 примеров. Для полного fine-tune - 10–50 тысяч. Качество данных важнее количества: 500 отличных примеров лучше, чем 5000 мусорных. Важно разнообразие: если вы учите модель отвечать на вопросы по договорам, в датасете должны быть и короткие, и длинные, и простые, и сложные примеры.
Катастрофическое забывание
Главная проблема fine-tune: модель может забыть то, что знала раньше. Если вы дообучили LLaMA на юридических документах, она может разучиться писать код. Борьба: перемешивайте старые данные (примеры общих знаний) с новыми, используйте низкую скорость обучения, не дообучайтесь больше 1–2 эпох.
Допустим, вы дообучили модель. Она идеально отвечает, знает ваш сленг, не галлюцинирует. Но теперь надо выпустить её в продакшен.
Тысячи запросов в секунду, жёсткие требования по латентности, ограниченный бюджет на GPU. Запустить модель через .generate() на одном потоке — значит разориться на железе и потерять пользователей.
Нужны специализированные серверы инференса: vLLM, TGI, непрерывный бэтчинг, спекулятивная декодировка. Это инженерная кухня, где решается, останется ли ваш проект прибыльным.