Коротко о главном
«У меня такое чувство, что решений для оценки 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 году. Думаете, я что-то упустил? Напишите в комментариях, чтобы сообщить мне!