Книга: Инжиниринг искусственного интеллекта
Назад: Б.4 Промпт-инжиниринг и структурированные выходы
Дальше: Б.7 Инференс и сервинг

Б.5 Оценка и бенчмаркинг LLM

Что это

Методы измерения качества работы 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, а когда хватит хорошего промпта? И как не убить модель катастрофическим забыванием?



Б.6 Fine - tuning на практике

Что это

Дообучение предварительно обученной модели на ваших данных, чтобы она лучше решала вашу задачу.



Зачем

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, непрерывный бэтчинг, спекулятивная декодировка. Это инженерная кухня, где решается, останется ли ваш проект прибыльным.



Назад: Б.4 Промпт-инжиниринг и структурированные выходы
Дальше: Б.7 Инференс и сервинг