ONNX Model Zoo

AdamCodd/distilroberta-NLI

By AdamCodd · ↓ 13 · ♥ 1 · Updated 2023-12-13

What's in this repo

This page lists the files in AdamCodd/distilroberta-NLI, including model.onnx.

  • 1 ONNX models (.onnx files)
  • 18 files, including 11 .json, 2 .txt, 1 .md, 1 .safetensors, 1 .onnx, 1 .bin
  • Last updated 2023-12-13

ONNX files

File Size Download
onnx/model.onnx — Download

How to use

These ONNX files can be loaded with ONNX Runtime. To inspect a model graph, upload the file to the Netron viewer. Download links point to the original files on Hugging Face.

README

DistilRoBERTa-NLI

This model utilizes the Distilroberta base architecture, which has been fine-tuned for NLI tasks on the MultiNLI and SNLI datasets. It achieves the following results on the evaluation set:

  • Loss: 0.4384
  • Accuracy: 0.8295

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
model_checkpoint = 'AdamCodd/distilroberta-NLI'
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 predict
input = tokenizer(premise, hypothesis, truncation=True, padding=True, return_tensors="pt").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 in zip(label_names, probabilities)}
print(prediction)
# {'Entailment': 1.3, 'Neutral': 8.2, 'Contradiction': 90.5}

Training and evaluation data

More information needed

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 3e-05
  • train_batch_size: 32
  • eval_batch_size: 32
  • seed: 42
  • optimizer: AdamW with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: linear
  • lr_scheduler_warmup_steps: 150
  • num_epochs: 1
  • weight_decay: 0.01

Training results

Metrics: Accuracy, F1, Precision, Recall

'eval_loss': 0.438475,
'eval_accuracy': 0.829536,
'eval_f1': 0.828703,
'eval_precision': 0.828907,
'eval_recall': 0.828617

Framework versions

  • Transformers 4.36.0
  • Datasets 2.15.0
  • Tokenizers 0.15.0

If you want to support me, you can here.

Model info

text-classification transformers
transformers onnx safetensors roberta text-classification en dataset:snli dataset:multi_nli model-index text-embeddings-inference region:us
↓ 13 ♥ 1

Created: 2023-12-13

Updated: 2023-12-13

View on Hugging Face

Files (18)

.gitattributes
README.md
config.json
merges.txt
model.safetensors
onnx/added_tokens.json
onnx/config.json
onnx/merges.txt
onnx/model.onnx ONNX
onnx/special_tokens_map.json
onnx/tokenizer.json
onnx/tokenizer_config.json
onnx/vocab.json
special_tokens_map.json
tokenizer.json
tokenizer_config.json
training_args.bin
vocab.json

Related models