5 лучших фреймворков с открытым исходным кодом для оценки больших языковых моделей (LLM) в 2024 году

5 лучших фреймворков с открытым исходным кодом для оценки больших языковых моделей (LLM) в 2024 году

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

«У меня такое чувство, что решений для оценки 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 лучших фреймворков с открытым исходным кодом для оценки больших языковых моделей (LLM) в 2024 году

5. Arize AI Phoenix

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

  • Правильность QA
  • Галлюцинации
  • Токсичность
5 лучших фреймворков с открытым исходным кодом для оценки больших языковых моделей (LLM) в 2024 году

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

11
Начать дискуссию