Коротко о главном

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

Комментарии (0)