/ Модель

Характеристики

Контекст
512 токенов
Параметры
385 млн
Лицензия
MIT
Архитектура
t5 · dense
Опубликована
14 апр 2024

MiniCheck-Flan-T5-Large

Классификация текстаТекст → label6 профессий

Модель на базе Flan-T5-Large проверяет, подтверждается ли отдельное утверждение предоставленным документом.

27 469скачиваний за 30 дней14лайковвеса обновлены20 дек 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

MiniCheck-Flan-T5-Large — модель проверки фактов из проекта MiniCheck, созданная для определения, подтверждает ли документ отдельное утверждение. Она принимает документ и предложение-утверждение и возвращает бинарную метку: 1, если документ его поддерживает, и 0, если нет. Модель построена на архитектуре Flan-T5-Large и содержит 385,2 млн параметров; для запуска используется библиотека Transformers, формат весов — PyTorch.

Модель предназначена для проверки фактической обоснованности предложений в ответах языковых моделей по предоставленным документам, в том числе для контроля генераций и фактчекинга на уровне предложений. В README сообщается о сравнении с другими специализированными фактчекерами на бенчмарке LLM-AggreFact; заявленные результаты относятся к оцениванию на реальных утверждениях без искусственно внесённых ошибок. Контекст составляет 512 токенов, поэтому объём документа и утверждения ограничен этим размером. Лицензия — MIT.

Сценарии применения

  • проверка фактической обоснованности предложений в ответе LLM
  • сверка утверждения с исходным документом
  • поиск неподтверждённых утверждений в сгенерированном тексте

Ограничения

Контекст ограничен 512 токенами. В README отмечено, что оценивались реальные утверждения без искусственного редактирования ошибок; заявленные результаты не следует автоматически переносить на такие изменённые утверждения.

Для каких профессий подходит6

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

MiniCheck-Flan-T5-Large

Colab

This is a fact-checking model from our work:

📃 MiniCheck: Efficient Fact-Checking of LLMs on Grounding Documents,(EMNLP 2024, GitHub Repo)

The model is based on Flan-T5-Large that predicts a binary label - 1 for supported and 0 for unsupported. The model is doing predictions on the sentence-level. It takes as input a document and a sentence and determine whether the sentence is supported by the document: MiniCheck-Model(document, claim) -> {0, 1}

MiniCheck-Flan-T5-Large is the best fack-checking model with size < 1B and reaches GPT-4 performance. It is fine tuned from google/flan-t5-large (Chung et al., 2022) on the combination of 35K data:

  • 21K ANLI data (Nie et al., 2020)
  • 14K synthetic data generated from scratch in a structed way (more details in the paper).

Model Variants

We also have other three MiniCheck model variants:

Model Performance

The performance of these models is evaluated on our new collected benchmark (unseen by our models during training), LLM-AggreFact, from 11 recent human annotated datasets on fact-checking and grounding LLM generations. MiniCheck-Flan-T5-Large outperform all exisiting specialized fact-checkers with a similar scale by a large margin (4-10% absolute increase) and is on par with GPT-4, but 400x cheaper. See full results in our work.

Note: We only evaluated the performance of our models on real claims -- without any human intervention in any format, such as injecting certain error types into model-generated claims. Those edited claims do not reflect LLMs' actual behaviors.

Model Usage Demo

Please run the following command to install the MiniCheck package and all necessary dependencies.

pip install "minicheck @ git+https://github.com/Liyan06/MiniCheck.git@main"

Below is a simple use case

from minicheck.minicheck import MiniCheck
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"

doc = "A group of students gather in the school library to study for their upcoming final exams."
claim_1 = "The students are preparing for an examination."
claim_2 = "The students are on vacation."

# model_name can be one of ['roberta-large', 'deberta-v3-large', 'flan-t5-large', 'Bespoke-MiniCheck-7B']
scorer = MiniCheck(model_name='flan-t5-large', cache_dir='./ckpts')
pred_label, raw_prob, _, _ = scorer.score(docs=[doc, doc], claims=[claim_1, claim_2])

print(pred_label) # [1, 0]
print(raw_prob)   # [0.9805923700332642, 0.007121307775378227]

Test on our LLM-AggreFact Benchmark

import pandas as pd
from datasets import load_dataset
from minicheck.minicheck import MiniCheck
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"

# load 29K test data
df = pd.DataFrame(load_dataset("lytang/LLM-AggreFact")['test'])
docs = df.doc.values
claims = df.claim.values

scorer = MiniCheck(model_name='flan-t5-large', cache_dir='./ckpts')
pred_label, raw_prob, _, _ = scorer.score(docs=docs, claims=claims)  # ~ 500 docs/min, depending on hardware

To evalaute the result on the benchmark

from sklearn.metrics import balanced_accuracy_score

df['preds'] = pred_label
result_df = pd.DataFrame(columns=['Dataset', 'BAcc'])
for dataset in df.dataset.unique():
    sub_df = df[df.dataset == dataset]
    bacc = balanced_accuracy_score(sub_df.label, sub_df.preds) * 100
    result_df.loc[len(result_df)] = [dataset, bacc]

result_df.loc[len(result_df)] = ['Average', result_df.BAcc.mean()]
result_df.round(1)

Citation

@InProceedings{tang-etal-2024-minicheck,
  title = {MiniCheck: Efficient Fact-Checking of LLMs on Grounding Documents},
  author = {Liyan Tang and Philippe Laban and Greg Durrett},
  booktitle = {Proceedings of the 2024 Conference on Empirical Methods in Natural Language Processing},
  year = {2024},
  publisher = {Association for Computational Linguistics},
  url = {https://arxiv.org/pdf/2404.10774}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Можно запустить

Подбираем GPU…

Класс архитектуры
T5ForConditionalGeneration
Ревизия весов
96eafd0

0 моделей