В этой статье подробно описываются сложные статистические и предметно-ориентированные оценщики, которые можно использовать для оценки производительности крупных языковых моделей. В ней также рассматриваются наиболее широко используемые фреймворки оценки LLM, которые помогут вам начать оценивать производительность модели.
В предыдущей статье была представлена общая оценка LLM, типы бенчмарков и принципы их работы. Мы также говорили о некоторых общих метриках, которые они используют для измерения производительности LLM.
Прочтите все остальные статьи из серии об оценке LLM и ознакомьтесь с нашим последним глубоким обзором лучших LLM для генерации кода.
Чтобы оценить LLM сопоставимым образом, необходимо использовать общеприменимые и автоматически измеримые метрики.
(Тем не менее, обратите внимание, что оценка с участием человека также возможна, либо просто для перепроверок, либо для проведения всесторонних человеческих оценок. Ее настройка дорогая и сложная, но она может пригодиться, если вашей целью является действительно тщательная оценка).
В этой статье мы сосредоточимся на стандартизированных метриках, которые вы можете использовать для измерения и сравнения производительности крупных языковых моделей для заданного набора задач.
В этой статье мы будем использовать термин «производительность LLM», когда речь идет об оценке того, насколько полезен LLM для конкретной задачи. Дополнительные показатели, такие как токены в секунду, задержка или метрики стоимости, а также другие оценщики, такие как метрики вовлеченности пользователей также полезны, но выходят за рамки этой статьи.
Метрики оценки LLM делятся на две основные категории:
Контролируемые метрики: используются, когда доступны справочные метки (например, истина, или другими словами, ожидаемый правильный ответ). Если попросить LLM сложить 2 и 2, то будет только один правильный ответ.
Неконтролируемые метрики: когда метка истины недоступна, можно использовать неконтролируемые метрики. Их, как правило, сложнее вычислить, и они потенциально менее значимы. Если вы попросите LLM написать красивое стихотворение, как вы собираетесь оценивать его? В эту категорию входят такие метрики, как недоумение, длина ответа и т. д.
Контролируемые метрики наиболее предпочтительны, потому что с ними проще всего работать. Либо ответ модели соответствует правильному решению, либо нет, все просто. Для извлечения правильного ответа из текста, который выдает LLM, может потребоваться некоторый анализ и/или настройка подсказок, но сама оценка очень проста.
Неконтролируемые метрики сложнее, потому что их нельзя разделить на «черное и белое». И поскольку человеческий мир также не разделен на «черное и белое», далее мы сосредоточим свое внимание именно на этих метриках.
Чаще всего при оценке LLM вы будете полагаться на две ключевые категории неконтролируемых метрик:
Статистические оценщики: используются для анализа производительности LLM на основе чисто статистических методов, которые применяют вычисления для измерения разницы между фактическим и ожидаемым/приемлемым результатом LLM. Эти методы считаются неоптимальными в случаях, когда требуется рассуждение или при оценке длинных и сложных результатов LLM, поскольку такие метрики не преуспевают в рассмотрении семантики.
Оценщики на основе моделей для оценки с помощью LLM: эти оценщики полагаются на другую LLM (например, GPT-4) для расчета баллов за результаты тестируемой LLM (например, сценарий «ИИ оценивает ИИ»). Хотя это гораздо быстрее и, очевидно, более экономично, чем использование ручной (человеческой) оценки, этот вид оценки может быть ненадежным из-за недетерминированной природы LLM. Недавно было доказано, что оценщики ИИ могут быть предвзяты в отношении своих собственных ответов.
В разделах ниже мы приведем примеры того и другого.
При оценке LLM вам нужно будет тщательно выбирать показатели производительности, которые лучше всего соответствуют контексту и целям вашей оценки. В зависимости от предполагаемого сценария применения LLM (например, обобщение, разговор, кодирование и т. д.) вам нужно будет выбрать разные метрики. Благодаря своей природе LLM особенно хороши в обработке и генерации текста. Поэтому для этой области применения существует достаточно много метрик. Для других областей существуют более «экзотические» оценщики, хотя это выходит за рамки данной статьи.
Ниже представлены основные области оценки LLM (например, задачи, на основе которых вы оцениваете производительность LLM) и некоторые часто используемые метрики для каждой из них:
Обобщение: Обобщение фрагмента входного текста в более кратком формате с сохранением его основных моментов. (Метрики: BLEU, ROUGE, ROUGE-N, ROUGE-L, METEOR, BERTScore, MoverScore, SUPERT, BLANC, FactCC).
Ответ на вопрос: Поиск ответа на вопрос во входном тексте. (Метрики: QAEval, QAFactEval, QuestEval).
Перевод: Перевод текста с одного языка на другой. (Метрики: BLEU, METEOR).
Распознавание именованных объектов (NER): Идентификация и группировка именованных объектов (например, людей, дат, мест) во входном тексте. (Метрики: InterpretEval, метрики классификации, например, точность, отзыв, достоверность и т. д.).
Грамматическая разметка: Также известная как разметка частей речи (POS), эта задача требует от LLM идентифицировать и добавлять к входному тексту (словам в предложении) грамматические теги (например, существительное, глагол, прилагательное).
Анализ настроений: Идентификация и классификация эмоций, выраженных во входном тексте. (Метрики: точность, отзыв, оценка F1).
Синтаксический анализ: Классификация и извлечение структурированных данных из текста путем анализа его синтаксической структуры и определения его грамматических компонентов. (Метрики: Spider, SParC).
В следующем разделе мы познакомим вас с некоторыми из наиболее часто используемых оценщиков.
BLEU (BiLingual Evaluation Understudy): Этот оценщик измеряет точность сопоставления n-грамм (последовательности из n-последовательных слов) в выходных данных по сравнению с ожидаемой истинной версией. Обычно он используется для оценки качества перевода с LLM. В некоторых случаях может применяться штраф за краткость.
ROUGE (Recall-Oriented Understudy for Gisting Evaluation): Этот оценщик в основном используется для оценки обобщения и эффективности перевода моделей. ROUGE измеряет полноту, например, сколько контента из одной или нескольких ссылок фактически содержится в выходных данных LLM. У ROUGE есть несколько вариаций, например, ROUGE-1, ROUGE-2, ROUGE-L и т. д.
METEOR (Metric for Evaluation of Translation with Explicit Ordering): В основном используемый для оценки переводов, METEOR является более всеобъемлющим оценщиком, поскольку он оценивает как точность (совпадения n-грамм), так и полноту (перекрытия n-грамм). Он основан на обобщенной концепции соответствия униграмм (основанной на одном слове) между выходными данными (например, переводом LLM) и справочным текстом (например, переводом, выполненным человеком).
Расстояние Левенштейна или расстояние редактирования: Используется, среди прочего, для оценки исправлений орфографии. Этот оценщик вычисляет расстояние редактирования между входными и выходными данными, например, минимальное количество правок отдельных символов, необходимых для преобразования выходного текста во входной.
Оценки на основе LLM могут быть более точными, чем статистические оценщики, но из-за вероятностной природы LLM надежность может оказаться проблемой. С учетом сказанного, доступен ряд оценщиков на основе моделей, в том числе:
BLEURT (Bilingual Evaluation Understudy with Representations from Transformers): BLEURT основан на трансферном обучении для оценки генерации естественного языка с учетом языкового разнообразия. Как сложный оценщик, он оценивает, насколько беглым является выходной текст и насколько точно он передает смысл справочного текста. В этом случае трансферное обучение означает, что предварительно обученная модель BERT (см. ниже) предварительно обучается на наборе синтетических данных, а затем, перед запуском BLEURT, обучается на человеческих аннотациях.
NLI (Natural Language Inference) или распознавание логического текста (RTE): Этот оценщик определяет, является ли выходной текст логически согласованным с входным текстом, противоречит ли ему или не связан (нейтрален) с другим. Как правило, 1 означает логически согласованный, а значения около 0 представляют противоречие.
Чтобы сбалансировать недостатки как статистических, так и основанных на моделях оценщиков, вы можете объединить эти два типа. Этот подход используют различные метрики, в том числе:
BERTScore: Это автоматическая оценочная метрика для генерации текста, которая опирается на предварительно обученные языковые модели (например, BERT). Было доказано, что эта метрика коррелирует с человеческой оценкой (на основе предложения и уровня системы).
MoverScore: Также основанный на BERT, MoverScore может использоваться для оценки сходства между парой предложений, написанных на одном языке. В частности, это полезно в задачах, где может быть несколько способов передать одно и то же значение без полного совпадения точных формулировок. Он показывает высокую корреляцию с человеческим суждением о качестве текста, сгенерированного LLM.
Другие метрики, такие как SelfCheckGPT, доступны, например, для проверки выходных данных LLM на наличие галлюцинаций.
И наконец, генерация вопросов и ответов (QAG) полностью поддерживает автоматизацию в оценке LLM, используя вопросы типа «да-нет», которые могут быть сгенерированы другой моделью.
Учитывая количество и сложность вышеуказанных метрик (и их комбинаций, которые вам захочется использовать для комплексной оценки), тестирование производительности LLM может оказаться сложной задачей. Такие инструменты, как фреймворки и бенчмарки, помогают проводить оценки LLM с выбранными метриками.
Давайте сначала разберемся с основами.
В чем разница между фреймворками оценки LLM и бенчмарками?
Фреймворки - это отличные наборы инструментов для проведения оценок LLM с пользовательскими конфигурациями, метриками и т. д.
Бенчмарки - это стандартизированные тесты (например, наборы предопределенных задач), которые предоставляют сопоставимые результаты для различных моделей.
Подумайте, сколько секунд потребуется спортивному автомобилю, чтобы разогнаться до 100 км/ч. Это бенчмарк, с которым вы можете сравнивать разные модели и бренды. Но чтобы получить это числовое значение, вам придется иметь дело со всем оборудованием (например, секундомером, прямым участком дороги и быстрой машиной). Вот что предоставляет фреймворк. Ниже мы перечислим несколько самых популярных фреймворков оценки.
DeepEval - очень популярный фреймворк с открытым исходным кодом. Он прост в использовании, гибок и предоставляет встроенные метрики, включая:
G-Eval
Обобщение
Релевантность ответа
Достоверность
Контекстная отзывчивость
Контекстная точность
RAGAS
Галлюцинация
Токсичность
Предвзятость
DeepEval также позволяет вам создавать пользовательские метрики и предлагает интеграцию CI/CD. Фреймворк включает популярные наборы данных и конфигурации бенчмарков LLM (включая MMLU, HellaSwag, DROP, BIG-Bench Hard, TruthfulQA, HumanEval, GSM8K).
Giskard тоже имеет открытый исходный код. Этот фреймворк на основе Python можно использовать для обнаружения проблем производительности, предвзятости и безопасности в ваших приложениях ИИ. Он автоматически обнаруживает проблемы, включая галлюцинации, создание вредоносного контента или раскрытие конфиденциальной информации, внедрение подсказок, проблемы с надежностью и т. д. Одна из замечательных особенностей Giskard заключается в том, что он поставляется с набором инструментов оценки RAG, специально предназначенным для тестирования приложений дополненной генерации (RAG).
Giskard работает со всеми моделями и средами и интегрируется с популярными инструментами.
Еще одно решение с открытым исходным кодом позволяет локально тестировать приложения LLM. Этот фреймворк, не зависящий от языка, предлагает кэширование, согласованность и живую перезагрузку для более быстрой оценки.
Promptfoo позволяет использовать различные модели, включая OpenAI, Anthropic, Azure, Google, HuggingFace и модели с открытым исходным кодом, такие как Llama. Он выдает подробные и практические результаты в удобной для обзора матричной структуре. API позволяет легко работать с Promptfoo.
LangFuse - еще один фреймворк с открытым исходным кодом, которым могут бесплатно пользоваться любители. Он обеспечивает отслеживание, оценку, управление подсказками и метрики. LangFuse не зависит от модели и фреймворка и интегрируется с LlamaIndex, Langchain, OpenAI SDK, LiteLLM и др., а также предлагает доступ к API.
Eleuther AI - один из самых полных (и, следовательно, популярных) фреймворков. Он включает в себя более 200 оценочных задач и более 60 бенчмарков. Этот фреймворк поддерживает использование пользовательских подсказок и метрик оценки, а также локальных моделей и бенчмарков для покрытия всех ваших потребностей в оценке.
Ключевым моментом, доказывающим ценность Eleuther AI, является то, что на этом фреймворке основана популярная таблица лидеров Open LLM от Hugging Face.
RAGAs - это фреймворк, разработанный для оценки конвейеров RAG (Retrieval Augmented Generation). (RAG использует внешние данные для улучшения контекста для LLM).
Фреймворк фокусируется на основных метриках, включая достоверность, контекстную релевантность, релевантность ответа, контекстную отзывчивость и контекстную точность. Он предоставляет все инструменты, необходимые для оценки текста, сгенерированного LLM. Вы можете интегрировать RAGAs в свой конвейер CI/CD, чтобы обеспечить непрерывные проверки ваших моделей.
Помимо оценки приложений LLM, ключевым преимуществом Weights & Biases является то, что вы можете использовать его для обучения, точной настройки и управления моделями. Он также будет полезен для обнаружения регрессий, визуализации результатов и обмена ими с другими.
Несмотря на то, что он состоит из нескольких модулей (W&B Models, W&B Weave, W&B Core), его разработчики утверждают, что вы можете настроить систему всего за 5 минут.
Azure AI Studio от Microsoft - это универсальный центр для создания, оценки и развертывания моделей ИИ. Он позволяет визуализировать результаты, помогая вам выбрать правильную модель ИИ для ваших нужд. Azure AI Studio также предоставляет центр управления, который помогает оптимизировать и устранять неполадки в моделях. Приятно осознавать, что это решение поддерживает варианты использования без кода, с легким кодом и с профессиональным кодом, поэтому энтузиасты LLM с любым уровнем знаний могут начать работу с ним.
Мы надеемся, что эта статья даст вам лучшее понимание того, на каких оценщиков вам придется обращать внимание при оценке моделей для вашего конкретного варианта использования. Если вы хотите оценить производительность LLM, приведенные выше фреймворки оценки помогут вам начать.
Ищете LLM для генерации программного кода? Не пропустите следующую статью, в которой будет представлен обзор самых популярных бенчмарков LLM для генерации программного кода!