roberta-large_boolq / README.md
nfliu's picture
Add usage example
efc939f
---
license: mit
base_model: roberta-large
tags:
- generated_from_trainer
datasets:
- boolq
metrics:
- accuracy
model-index:
- name: roberta-large_boolq
results:
- task:
name: Text Classification
type: text-classification
dataset:
name: boolq
type: boolq
config: default
split: validation
args: default
metrics:
- name: Accuracy
type: accuracy
value: 0.8568807339449541
---
<!-- This model card has been generated automatically according to the information the Trainer had access to. You
should probably proofread and complete it, then remove this comment. -->
# roberta-large_boolq
This model is a fine-tuned version of [roberta-large](https://huggingface.co/roberta-large) on the boolq dataset.
It achieves the following results on the evaluation set:
- Loss: 0.6057
- Accuracy: 0.8569
## Example
```
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer
model = AutoModelForSequenceClassification.from_pretrained("nfliu/roberta-large_boolq")
tokenizer = AutoTokenizer.from_pretrained("nfliu/roberta-large_boolq")
# Each example is a (question, context) pair.
examples = [
("Lake Tahoe is in California", "Lake Tahoe is a popular tourist spot in California."),
("Water is wet", "Contrary to popular belief, water is not wet.")
]
encoded_input = tokenizer(examples, padding=True, truncation=True, return_tensors="pt")
with torch.no_grad():
model_output = model(**encoded_input)
probabilities = torch.softmax(model_output.logits, dim=-1).cpu().tolist()
probability_no = [round(prob[0], 2) for prob in probabilities]
probability_yes = [round(prob[1], 2) for prob in probabilities]
for example, p_no, p_yes in zip(examples, probability_no, probability_yes):
print(f"Question: {example[0]}")
print(f"Context: {example[1]}")
print(f"p(No | question, context): {p_no}")
print(f"p(Yes | question, context): {p_yes}")
print()
```
## Model description
More information needed
## Intended uses & limitations
More information needed
## Training and evaluation data
More information needed
## Training procedure
### Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 1e-05
- train_batch_size: 32
- eval_batch_size: 8
- seed: 42
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- num_epochs: 5.0
### Training results
| Training Loss | Epoch | Step | Validation Loss | Accuracy |
|:-------------:|:-----:|:----:|:---------------:|:--------:|
| No log | 0.85 | 250 | 0.4508 | 0.8024 |
| 0.5086 | 1.69 | 500 | 0.3660 | 0.8502 |
| 0.5086 | 2.54 | 750 | 0.4092 | 0.8508 |
| 0.2387 | 3.39 | 1000 | 0.4975 | 0.8554 |
| 0.2387 | 4.24 | 1250 | 0.5577 | 0.8526 |
### Framework versions
- Transformers 4.32.1
- Pytorch 2.0.1+cu117
- Datasets 2.14.4
- Tokenizers 0.13.3