File size: 2,995 Bytes
27d8059
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
dfd0426
27d8059
 
 
 
 
 
 
 
 
dfd0426
 
27d8059
efc939f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27d8059
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
---
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