Когда мы говорим о бенчмаркинге LLM в какой-то предметной области, то имеем в виду две разные концепции: бенчмарки моделей LLM и бенчмарки систем LLM. Бенчмаркинг моделей LLM заключается в сравнении базовых моделей общего назначения (например, GPT, Mistral, Llama, Gemini, Claude и так далее). Нам не следует вкладывать ресурсы в их сравнение, потому что: 1. Для них существуют публикуемые таблицы лидеров, 2. В использовании этих моделей существует множество нюансов (например, изменчивость модели, промт, сценарий использования, качество данных, конфигурация системы), что снижает полезность обсуждения их высокоуровневых параметров, 3. Важнее точности модели могут быть другие факторы: локальность данных, соответствие требованиям защиты конфиденциальности, поставщик облачных услуг, степень возможности кастомизации (например, fine-tuning или повторного обучения).
Что мы должны обсуждать, так это бенчмаркинг систем LLM. Это осмысленный и важный процесс, при котором мы рассматриваем применение конкретных моделей LLM (вместе с промтом и конфигурацией системы) в наших конкретных сценариях использования. Нам следует курировать датасеты из конкретных предметных областей, задействовать в их разметке и людей, и LLM для создания «золотого» датасета, позволяющего оценивать вносимые нами постоянные улучшения. Можно даже рассмотреть возможность публикации «золотых» датасетов бенчмарков.
Контекст
За выходные я прочитал пару документов (см. ссылки в конце статьи) об оценке и бенчмаркинге LLM, и в этой статье подведу краткий итог прочитанного. Надеюсь, это будет хорошее введение для тех, кого интересует данная тема.
Модель LLM и система LLM
Модель LLM | Точность и возможности обобщённой модели для широкого спектра сценариев применения |
Система LLM | Эффективность и ценность для бизнеса конкретного сценария использования при конкретных условиях |
При обсуждении бенчмаркинга существует разница между моделями LLM и системами LLM. Точность чистой модели LLM оценивается среди серии моделей, применимых в широком спектре сценариев использования. Надо осознавать, что лишь небольшая группа людей из компаний OpenAI, Anthropic, Google и Meta* занимаются исследованием этого, потому что их работа заключается в обучении базовых моделей общего назначения. Однако большинство практикующих разработку ML интересует то, как LLM показывает себя в конкретном сценарии использования в системе, а также то, приносит ли LLM какую-нибудь пользу бизнесу. То есть сравнение нужно выполнять в конкретном контексте, а затем оценивать различные показатели системы LLM, и в том числе:
Размерность бенчмаркинга
При оценке показателей LLM существует множество размерностей. Ниже представлена краткая таблица с наиболее популярными из них. Процесс бенчмаркинга должен подразумевать некие критерии по каждой из этих размерностей: процент правильно отвеченных вопросов, процент неправильно отвеченных и процент ситуаций, когда модель не знает ответа.
Размерность | Пример |
Accuracy, правдивость, анти-галлюцинации | «Самая высокая гора — это Эверест» |
Помощь, полезность | «Чтобы выполнить сброс маршрутизатора, отключите его от розетки, подождите 10 секунд, а затем подключите обратно» |
Калибровка | Демонстрация неопределённости в случае неуверенности в ответе: «Я не уверен, но вам стоит изучить этот ресурс» |
Надёжность | Отвечает правильно и на «Какая сейчас погода?», и на «Что там с погодой?» |
Справедливость, предубеждённость | «Врачи, медицинский персонал и инженеры могут быть любого пола» |
Эффективность | Отвечает менее чем за 2 секунды даже на старых смартфонах |
Релевантность | При просьбе дать советы по правильному сну отвечает: «Избегайте употребления кофеина перед сном» |
Токсичность, нанесение вреда | Избегает в ответах оскорблений и содействия опасным действиям |
Согласованность | Поддерживает постоянство темы, например, при обсуждении изменения климата приводит только релевантные факты |
Сценарии использования LLM
При обсуждении конкретных сценариев использования LLM чаще всего говорят о следующих:
Сценарии | Пример и ключевые возможности |
Неограниченная генерация текста | Hugging Face: известен своей огромной коллекцией опенсорсных моделей, подходящих для разнообразных задач генерации текста, в том числе и для неограниченной генерации. |
Разговорный чат-бот | Chatbot Arena — это платформа бенчмарков для LLM, проводящая анонимные битвы между моделями. MT-bench предназначен для оценки разговорных способностей LLM при помощи сложного набора многоэтапных вопросов. |
Извлечение и релевантность | Поиск, извлечение информации, релевантность рекламы, рекомендации продуктов/контента, персонализация ленты и так далее |
Генерация кода | GitHub Copilot: использует Codex для генерации предложений кода на основании комментариев или промтов на естественном языке; продемонстрировал возможность практического применения в разработке ПО |
Анализ тональности текстов | Выполнение анализа тональности текстов, извлечение и численная оценка эмоциональных состояний и субъективной информации, анализ мнений потребителей, эмоционального настроя пользователей соцсетей и так далее |
Прогнозирование намерений | Понимание и прогнозирование намерений пользователя на основе ввода на естественном языке; крайне важная задача в таких областях, как виртуальные помощники и боты техподдержки. |
Эталонные датасеты
При оценке точности важно понять, что же является эталоном. Датасет, содержащий эталонные данные, часто называют «золотым» датасетом. Стоит отметить, что чаще всего не существует эталона, есть только датасет с разметкой или ответами живых специалистов. Ниже перечислены самые известные датасеты или тесты для различных целей. Их часто применяют для бенчмаркинга опенсорсных моделей. Многие публичные таблицы лидеров LLM (пример 1, пример 2) сравнивают между собой опенсорсные LLM при помощи этих датасетов.
Предназначение | Датасеты/тесты |
Стандартные бенчмарки и общая оценка | Стандартные задачи/метрики бенчмарков, таблицы лидеров LLM, Stanford Holistic Evaluation of Language Models (HELM), General Language Understanding Evaluation (GLUE) |
Знания и рассуждения в конкретной предметной области | ARC-Challenge, PubMedQA, MMLU (студенческий уровень), GPQA (аспирантский уровень), GSM8K, MATH, MGSM |
Рассуждения на основе здравого смысла и текстовые рассуждения | HellaSwag, WinoGrande, DROP, Reading comprehension в RACE-H, QuALITY |
Стандартизованные тесты и оценка длинного контекста | LSAT, MBE, GRE, QuALITY, Needle In A Haystack |
Точность фактов и галлюцинации | 100Q Hard, Easy-Medium QA, Multi-factual |
Понимание языка, перевод и резюмирование | Bilingual Evaluation Understudy (BLEU), Recall Oriented Understudy for Gisting Evaluation (ROUGE) |
Оценка конкретных навыков | Завершение предложений (HellaSwag), истинность ответов (TruthfulQA), генерация кода (датасет HumanEval, Python: MBPP), следование инструкциям (MT Bench) |
Способность вести беседу | Chatbot Arena , MT-bench |
Другие узконаправленные оценки | Библиотека OpenAl Eval, SQuAD (ответы на вопросы), IMDB (анализ тональности) |
LLM как механизм оценки
Создание эталонного датасета — это нетривиальная по множеству причин задача: пользовательская обратная связь и другие «источники истины» крайне ограничены, а часто и вовсе не существуют; но даже когда разметка живыми людьми возможна, она всё равно дорого стоит. Поэтому многие исследуют возможности LLM в генерации синтетических эталонов, которые можно использовать для оценки других систем. Например, «Judging LLM-as-a-judge» и оценка Vicuna с использованием GPT-4 в качестве судьи. G-Eval — это новый фреймворк Microsoft, который использует LLM для Eval, состоящих из двух частей: первая генерирует этапы оценки, а вторая использует сгенерированные этапы для создания окончательной численной оценки.
Что ещё?
При анализе способов использования LLM в системах следует учитывать множество аспектов. Например, способ определения семантической схожести для оценки релевантности, варианты эмбеддингов предложений в векторы (например, Sentence Transformer или Universal Sentence Encoder). Некоторые модели чувствительны к промтам и требуют дополнительной стандартизации и исследований в этом направлении. Кроме того, существуют и аспекты создания векторной базы данных и оркестрирования рабочего процесса LLM; необходимо принять решение, разворачивать ли реплицируемые LLM (для оптимизации пропускной способности) или разделённые (для оптимизации задержек), и так далее.
Справочные материалы
- [2308.04624] Benchmarking LLM powered Chatbots: Methods and Metrics,
- MEGAVERSE: Benchmarking Large Language Models Across Languages,
- LLM Benchmarking: How to Evaluate Language Model Performance | by Luv Bansal,
- The Guide To LLM Evals: How To Build and Benchmark Your Evals | by Aparna Dhinakaran | Towards Data Science,
- Evaluating LLM Performance: A Benchmarking Framework on Amazon Bedrock | by Ali Arabi | Feb, 2024 | Medium,
- A Gentle Introduction to LLM Evaluation — Confident AI,
- G-EVAL: NLG Evaluation using GPT-4 with Better Human Alignment: https://arxiv.org/pdf/2303.16634.pdf.
- The Definitive Guide to LLM Benchmarking — Confident AI