/ Модель

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

Контекст
512 токенов
Параметры
14,1 млн
Архитектура
bert · dense
Опубликована
2 мар 2022

xtremedistil-l6-h256-mnli-fever-anli-ling-binary

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

Компактная англоязычная BERT-модель для zero-shot-классификации текста через проверку, следует ли гипотеза из текста-посылки.

179скачиваний за 30 дней3лайкавеса обновлены16 янв 2025

Бенчмарки

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

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

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

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

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

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

Moritz Laurer разработал эту модель на базе xtremedistil-l6-h256-uncased от Microsoft для классификации текста без заранее заданного набора классов. Она сопоставляет текст-посылку с гипотезой-кандидатом и предсказывает, следует ли гипотеза из посылки: «следует» или «не следует». Такой бинарный формат подходит для zero-shot-классификации, где различие между нейтральным отношением и противоречием несущественно.

Модель использует архитектуру BERT и содержит 14,1 млн параметров; максимальная длина контекста — 512 токенов. Она обучена на 782 357 парах из MultiNLI, Fever-NLI, LingNLI и ANLI. В README приведены результаты оценки на этих наборах; точность заметно ниже на ANLI, чем на MultiNLI. Метаданные указывают английский язык.

Лицензия в предоставленных данных не указана. README также предупреждает о возможных смещениях, связанных с данными NLI, и проблемах совместимости со старыми версиями Transformers и токенизатора; автор советует Transformers 4.13 как возможное решение.

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

  • классификация текста по пользовательским категориям без отдельного обучения
  • проверка соответствия текста заданному утверждению
  • сортировка новостей по темам с помощью гипотез-кандидатов
  • определение, подтверждает ли документ заданное утверждение
  • быстрая бинарная проверка текстовых гипотез

Ограничения

Оценка на ANLI ниже, чем на MultiNLI; возможны смещения, унаследованные от обучающих наборов NLI. README предупреждает о проблемах работы со старыми версиями Transformers и токенизатора.

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

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

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

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

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

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

Открыть на Hugging Face

xtremedistil-l6-h256-mnli-fever-anli-ling-binary

Model description

This model was trained on 782 357 hypothesis-premise pairs from 4 NLI datasets: MultiNLI, Fever-NLI, LingNLI and ANLI.

Note that the model was trained on binary NLI to predict either "entailment" or "not-entailment". This is specifically designed for zero-shot classification, where the difference between "neutral" and "contradiction" is irrelevant.

The base model is xtremedistil-l6-h256-uncased from Microsoft.

Intended uses & limitations

How to use the model

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

model_name = "MoritzLaurer/xtremedistil-l6-h256-mnli-fever-anli-ling-binary"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)

premise = "I first thought that I liked the movie, but upon second thought it was actually disappointing."
hypothesis = "The movie was good."

input = tokenizer(premise, hypothesis, truncation=True, return_tensors="pt")
output = model(input["input_ids"].to(device))  # device = "cuda:0" or "cpu"
prediction = torch.softmax(output["logits"][0], -1).tolist()
label_names = ["entailment", "not_entailment"]
prediction = {name: round(float(pred) * 100, 1) for pred, name in zip(prediction, label_names)}
print(prediction)

Training data

This model was trained on 782 357 hypothesis-premise pairs from 4 NLI datasets: MultiNLI, Fever-NLI, LingNLI and ANLI.

Training procedure

xtremedistil-l6-h256-mnli-fever-anli-ling-binary was trained using the Hugging Face trainer with the following hyperparameters.

training_args = TrainingArguments(
    num_train_epochs=5,              # total number of training epochs
    learning_rate=2e-05,
    per_device_train_batch_size=32,   # batch size per device during training
    per_device_eval_batch_size=32,    # batch size for evaluation
    warmup_ratio=0.1,                # number of warmup steps for learning rate scheduler
    weight_decay=0.06,               # strength of weight decay
    fp16=True                        # mixed precision training
)

Eval results

The model was evaluated using the binary test sets for MultiNLI, ANLI, LingNLI and the binary dev set for Fever-NLI (two classes instead of three). The metric used is accuracy.

datasetmnli-m-2cmnli-mm-2cfever-nli-2canli-all-2canli-r3-2clingnli-2c
accuracy0.8970.8980.8610.6070.620.827
speed (text/sec, GPU Tesla P100, 128 batch)14901485760118610621791

Limitations and bias

Please consult the original paper and literature on different NLI datasets for potential biases.

BibTeX entry and citation info

If you want to cite this model, please cite the original paper, the respective NLI datasets and include a link to this model on the Hugging Face hub.

Ideas for cooperation or questions?

If you have questions or ideas for cooperation, contact me at m{dot}laurer{at}vu{dot}nl or LinkedIn

Debugging and issues

Note that the model was released recently and older versions of HF Transformers seem to have issues running the model (e.g. resulting in an issue with the tokenizer). Using Transformers==4.13 might solve some issues.

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

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

GPU в ailist

Универсальный рантайм · text-classification

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

Подбираем GPU…

Класс архитектуры
BertForSequenceClassification
Ревизия весов
7ea7a47

0 моделей