transformers pytorch roberta text-classification generated_from_trainer dataset:boolq base_model:FacebookAI/roberta-large base_model:finetune:FacebookAI/roberta-large license:mit model-index autotrain_compatible endpoints_compatible region:us
---
base_model: roberta-large
datasets:
- boolq
license: mit
metrics:
- accuracy
tags:
- generated_from_trainer
model-index:
- name: roberta-large_boolq
  results:
  - task:
      type: text-classification
      name: Text Classification
    dataset:
      name: boolq
      type: boolq
      config: default
      split: validation
      args: default
    metrics:
    - type: accuracy
      value: 0.8568807339449541
      name: Accuracy
---

<!-- 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
