Как оценивать качество генеративных моделей?
Оценка качества генеративных моделей — ключевой этап разработки, позволяющий определить, насколько хорошо модель справляется с поставленной задачей.
Также это не самый редкий вопрос на собеседованиях и важный пункт в ML System Design)
Существует два основных подхода к оценке: автоматические метрики и ручная оценка.
Автоматические метрики
Автоматические метрики позволяют быстро и объективно оценивать качество сгенерированного текста.
1. Exact match — проверяет точное совпадение с правильным ответом.
2. BLEU (Bilingual Evaluation Understudy) — измеряет точность совпадений n-грамм в сгенерированном и эталонном текстах (часто используется в машинном переводе). Также накладывает штраф за краткость.
- BP — это штраф за краткость, учитывающий длину сгенерированного текста по сравнению с ссылочным текстом(ами).
- n — максимальный рассматриваемый порядок n-грамм (обычно 4).
- P_i — это точность i-граммы между сгенерированным текстом и ссылочным текстом(ами).
3. ROUGE (Recall-Oriented Understudy for Gisting Evaluation) — применяется для оценки суммаризации, например, сравнивая n-граммы с таргетом.
Существует несколько видом оценки ROUGE. Ниже приведены наиболее популярные ее разновидности.
ROUGE-N: Эта метрика считает, сколько слов из вашего резюме встречается в референсном резюме.
ROUGE-1 считает, сколько отдельных слов из вашего резюме встречается в референсном резюме.
ROUGE-2 считает, сколько пар слов из вашего резюме встречается в референсном резюме.
ROUGE-L: Эта метрика считает, сколько слов в вашем резюме образуют самую длинную общую последовательность слов в референсном резюме. Это позволяет оценить, насколько ваше резюме похоже на референсное.
4. METEOR — расширяет BLEU, учитывая синонимы и морфологические вариации слов.
5. BERTScore — использует эмбеддинги BERT для оценки семантического сходства между сгенерированным и эталонным текстами. статья
6. Seahorse — бенчмарк и специально обученная модель на оценку качества суммаризации. статья
7. LLM as a judge — использование больших языковых моделей (LLM) для оценки генерации. блогпост huggingface
Могут быть очень полезны в случаях, когда требуется оценить очень много текстов без привлечения людей. Но в таком подходе оценка качества это тоже сгенерированный текст, который снова требует валидации)
Автоматические метрики оценки генерации текста могут быть полезны как прокси-метрики, например, для быстрого сравнения гипотез во время активной фазы исследования, но полагаться на них полностью будет не совсем правильно.
Те же BLEU / ROUGE не улавливают смысл предсказания и таргета, поэтому имеют потолок в адекватности своей оценки, то есть начиная с какой-то порога по качеству сгенерированного текста такие метрики не смогут улавливать улучшения и нужно будет применять ручную оценку.
Ручная оценка
Ручная оценка проводится экспертами в предметной области или с привлечением асессоров.
Обычно люди смотря на следующие критерии оценки качества:
- Осмысленность (coherence) — логичность и связность текста.
- Грамматическая правильность — наличие ошибок и соответствие нормам языка.
- Стиль и естественность — насколько текст похож на человеческое письмо.
- Фактическая точность — корректность представленных фактов (актуально для генерации ответов на вопросы и новостных статей).
- текст <–> бинарная оценка
логично такую схему реализовать в том числе прямо в сервисе и собирать фидбэк юзеров через лайк / дизлайк - текст <–> вещественная оценка
или от 1 до 10, например - side-by-side: winner > loser
как между ответами разных моделей, так и между таргетом и предсказанием
Заключение
Заранее продумайте иерархию метрик для оценки качества вашей модели.