This model uses the
jhu-clsp/ettin-encoder-68m
architecture, which has been fine-tuned for NLI tasks on the
MultiNLI
and
SNLI
datasets.
It achieves the following results on the evaluation set:
Accuracy: 0.88142
F1: 0.88158
Precision: 0.88182
Recall: 0.88142
Model description
The SNLI corpus (version 1.0) is a collection of 570k human-written English sentence pairs manually labeled for balanced classification with the labels entailment, contradiction, and neutral, supporting the task of natural language inference (NLI), also known as recognizing textual entailment (RTE).
The Multi-Genre Natural Language Inference (MultiNLI) corpus is a crowd-sourced collection of 433k sentence pairs annotated with textual entailment information. The corpus is modeled on the SNLI corpus, but differs in that covers a range of genres of spoken and written text, and supports a distinctive cross-genre generalization evaluation.
Usage
Inference API has been disabled as it is not suitable for this kind of task.
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
# Load model and tokenizer# Replace 'AdamCodd' with your actual Hugging Face username if needed
model_checkpoint = 'AdamCodd/ettin-nli-classifier'
model = AutoModelForSequenceClassification.from_pretrained(model_checkpoint)
tokenizer = AutoTokenizer.from_pretrained(model_checkpoint)
# Set device
device = torch.device("cuda"if torch.cuda.is_available() else"cpu")
model.to(device)
# Sample premise and hypothesis
premise = "The cat is sleeping under the sun."
hypothesis = "It's raining, and the cat is getting wet."# Tokenize and predictinput = tokenizer(premise, hypothesis, truncation=True, padding=True, return_tensors="pt", max_length=256).to(device)
with torch.no_grad():
output = model(**input)
probabilities = torch.softmax(output.logits, dim=-1)[0].tolist()
# Output prediction
label_names = ["Entailment", "Neutral", "Contradiction"]
prediction = {name: round(prob * 100, 1) for name, prob inzip(label_names, probabilities)}
print(prediction)
# e.g. {'Entailment': 1.3, 'Neutral': 8.2, 'Contradiction': 90.5}
Training and evaluation data
The training data consists of a concatenated corpus of the SNLI train split and the MultiNLI train split. The evaluation metrics were calculated using a concatenated validation set consisting of the SNLI validation split and the MultiNLI
validation_matched
split. All
-1
labels (samples without annotator consensus) were filtered out prior to training.
Training procedure
Training hyperparameters
The following hyperparameters were used during training:
learning_rate: 3e-05
train_batch_size: 32
eval_batch_size: 64
seed: 42
optimizer: AdamW with betas=(0.9,0.999) and epsilon=1e-08
ettin-nli-classifier huggingface.co is an AI model on huggingface.co that provides ettin-nli-classifier's model effect (), which can be used instantly with this AdamCodd ettin-nli-classifier model. huggingface.co supports a free trial of the ettin-nli-classifier model, and also provides paid use of the ettin-nli-classifier. Support call ettin-nli-classifier model through api, including Node.js, Python, http.
ettin-nli-classifier huggingface.co is an online trial and call api platform, which integrates ettin-nli-classifier's modeling effects, including api services, and provides a free online trial of ettin-nli-classifier, you can try ettin-nli-classifier online for free by clicking the link below.
AdamCodd ettin-nli-classifier online free url in huggingface.co:
ettin-nli-classifier is an open source model from GitHub that offers a free installation service, and any user can find ettin-nli-classifier on GitHub to install. At the same time, huggingface.co provides the effect of ettin-nli-classifier install, users can directly use ettin-nli-classifier installed effect in huggingface.co for debugging and trial. It also supports api for free installation.
ettin-nli-classifier install url in huggingface.co: