
Коротко о главном
«У меня такое чувство, что решений для оценки LLM больше, чем проблем, связанных с их оценкой», — сказал Дилан, руководитель отдела ИИ в компании из списка Fortune 500.
И я полностью согласен — кажется, что каждую неделю появляется новый репозиторий с открытым исходным кодом, пытающийся сделать то же самое, что и другие 30+ уже существующих фреймворков. В конце концов, чего действительно хочет Дилан, так это фреймворка, пакета, библиотеки, как угодно, который просто количественно оценил бы производительность LLM (приложения), которую он хочет запустить в продакшен.
Итак, как человек, который когда-то был на месте Дилана, я составил список из 5 лучших фреймворков для оценки LLM, существующих в 2024 году 🙂 😌
Начнем!
1. DeepEval — фреймворк для оценки LLM
DeepEval — любимый фреймворк для оценки среди других любимых фреймворков. Он занимает первое место по ряду причин:
-
Предлагает более 14 метрик оценки LLM (как для RAG, так и для случаев точной настройки), обновленных с учетом последних исследований в области оценки LLM. Эти метрики включают:
-
G-Eval
-
Суммирование
-
Галлюцинации
-
Достоверность
-
Контекстная релевантность
-
Релевантность ответа
-
Контекстный отзыв
-
Контекстная точность
-
RAGAS
-
Предвзятость
-
Токсичность
-
Большинство метрик самообъясняемые, то есть метрики DeepEval буквально объясняют, почему оценка метрики не может быть выше.
-
Предлагает модульные компоненты, которые чрезвычайно просты в подключении и использовании. Вы можете легко комбинировать различные метрики или даже использовать DeepEval для создания собственного конвейера оценки, если это необходимо.
-
Рассматривает оценки как модульные тесты. Благодаря интеграции с Pytest, DeepEval представляет собой полный набор тестов, с которым знакомо большинство разработчиков.
-
Позволяет генерировать синтетические наборы данных, используя вашу базу знаний в качестве контекста, или загружать наборы данных из CSV, JSON или Hugging Face.
-
Предлагает хостинговую платформу с щедрым бесплатным уровнем для запуска оценок в реальном времени в продакшене.
С интеграцией Pytest:
from deepeval import assert_test from deepeval.metrics import HallucinationMetric from deepeval.test_case import LLMTestCase test_case = LLMTestCase( input="How many evaluation metrics does DeepEval offers?", actual_output="14+ evaluation metrics", context=["DeepEval offers 14+ evaluation metrics"] ) metric = HallucinationMetric(minimum_score=0.7) def test_hallucination(): assert_test(test_case, [metric])
Затем в CLI:
deepeval test run test_file.py
Или без Pytest (идеально подходит для сред блокнотов):
from deepeval import evaluate ... evaluate([test_case], [metric])
2. MLFlow LLM Evaluate — оценка модели LLM
MLFlow — это модульный и упрощенный пакет, который позволяет запускать оценки в ваших собственных конвейерах оценки. Он предлагает оценку RAG и оценку QA.
MLFlow хорош благодаря своему интуитивно понятному опыту разработчика. Например, вот как вы запускаете оценки с помощью MLFlow:
results = mlflow.evaluate( model, eval_data, targets="ground_truth", model_type="question-answering", )
3. RAGAs — фреймворк оценки для ваших конвейеров Retrieval Augmented Generation (RAG)
Третий в списке, RAGAs был создан для конвейеров RAG. Они предлагают 5 основных метрик:
-
Достоверность
-
Контекстная релевантность
-
Релевантность ответа
-
Контекстный отзыв
-
Контекстная точность
Эти метрики составляют окончательную оценку RAGAs. DeepEval и RAGAs имеют очень похожие реализации, но метрики RAGAs не являются самообъясняемыми, что значительно усложняет отладку неудовлетворительных результатов.
RAGAs занимает третье место в списке в первую очередь потому, что он также включает в себя последние исследования в своих метриках RAG, прост в использовании, но не выше в списке из-за ограниченных возможностей и негибкости как фреймворка.
from ragas import evaluate from datasets import Dataset import os os.environ["OPENAI_API_KEY"] = "your-openai-key" # prepare your huggingface dataset in the format # Dataset({ # features: ['question', 'contexts', 'answer', 'ground_truths'], # num_rows: 25 # }) dataset: Dataset results = evaluate(dataset)
4. Deepchecks
Deepchecks выделяется тем, что он больше ориентирован на оценку самой LLM, а не на системы/приложения LLM.
Он не выше в списке из-за сложного опыта разработчика (серьезно, попробуйте настроить его самостоятельно и дайте мне знать, как все прошло), но его предложение с открытым исходным кодом уникально, поскольку оно в значительной степени ориентировано на информационные панели и пользовательский интерфейс визуализации, что упрощает пользователям визуализацию результатов оценки.

5. Arize AI Phoenix
Последний в списке, Arize AI оценивает приложения LLM посредством обширного наблюдения за трассами LLM. Однако он крайне ограничен, так как предлагает только три критерия оценки:
-
Правильность QA
-
Галлюцинации
-
Токсичность

Итак, вот он, список лучших фреймворков оценки LLM, которые GitHub может предложить в 2024 году. Думаете, я что-то упустил? Напишите в комментариях, чтобы сообщить мне!
ссылка на оригинал статьи https://habr.com/ru/articles/865212/
Добавить комментарий