|
--- |
|
license: apache-2.0 |
|
pipeline_tag: question-answering |
|
tags: |
|
- question-answering |
|
- transformers |
|
- generated_from_trainer |
|
datasets: |
|
- squad_v2 |
|
- LLukas22/nq-simplified |
|
- newsqa |
|
- LLukas22/NLQuAD |
|
- deepset/germanquad |
|
language: |
|
- en |
|
- de |
|
--- |
|
|
|
# all-MiniLM-L12-v2-qa-all |
|
This model is an extractive qa model. |
|
It's a fine-tuned version of [all-MiniLM-L12-v2](https://huggingface.co/sentence-transformers/all-MiniLM-L12-v2) on the following datasets: [squad_v2](https://huggingface.co/datasets/squad_v2), [LLukas22/nq-simplified](https://huggingface.co/datasets/LLukas22/nq-simplified), [newsqa](https://huggingface.co/datasets/newsqa), [LLukas22/NLQuAD](https://huggingface.co/datasets/LLukas22/NLQuAD), [deepset/germanquad](https://huggingface.co/datasets/deepset/germanquad). |
|
|
|
|
|
|
|
## Usage |
|
|
|
You can use the model like this: |
|
|
|
```python |
|
from transformers import pipeline |
|
|
|
#Make predictions |
|
model_name = "LLukas22/all-MiniLM-L12-v2-qa-all" |
|
nlp = pipeline('question-answering', model=model_name, tokenizer=model_name) |
|
|
|
QA_input = { |
|
"question": "What's my name?", |
|
"context": "My name is Clara and I live in Berkeley." |
|
} |
|
|
|
result = nlp(QA_input) |
|
print(result) |
|
``` |
|
Alternatively you can load the model and tokenizer on their own: |
|
```python |
|
from transformers import AutoModelForQuestionAnswering, AutoTokenizer |
|
|
|
#Make predictions |
|
model_name = "LLukas22/all-MiniLM-L12-v2-qa-all" |
|
model = AutoModelForQuestionAnswering.from_pretrained(model_name) |
|
tokenizer = AutoTokenizer.from_pretrained(model_name) |
|
``` |
|
|
|
## Training hyperparameters |
|
The following hyperparameters were used during training: |
|
|
|
- learning_rate: 2E-05 |
|
- per device batch size: 60 |
|
- effective batch size: 180 |
|
- seed: 42 |
|
- optimizer: AdamW with betas (0.9,0.999) and eps 1E-08 |
|
- weight decay: 1E-02 |
|
- D-Adaptation: False |
|
- Warmup: True |
|
- number of epochs: 15 |
|
- mixed_precision_training: bf16 |
|
|
|
## Training results |
|
| Epoch | Train Loss | Validation Loss | |
|
| ----- | ---------- | --------------- | |
|
| 0 | 3.76 | 3.02 | |
|
| 1 | 2.57 | 2.23 | |
|
| 2 | 2.2 | 2.08 | |
|
| 3 | 2.07 | 2.03 | |
|
| 4 | 1.96 | 1.97 | |
|
| 5 | 1.87 | 1.93 | |
|
| 6 | 1.81 | 1.91 | |
|
| 7 | 1.77 | 1.89 | |
|
| 8 | 1.73 | 1.89 | |
|
| 9 | 1.7 | 1.9 | |
|
| 10 | 1.68 | 1.9 | |
|
| 11 | 1.67 | 1.9 | |
|
|
|
## Evaluation results |
|
| Epoch | f1 | exact_match | |
|
| ----- | ----- | ----- | |
|
| 0 | 0.29 | 0.228 | |
|
| 1 | 0.371 | 0.329 | |
|
| 2 | 0.413 | 0.369 | |
|
| 3 | 0.437 | 0.376 | |
|
| 4 | 0.454 | 0.388 | |
|
| 5 | 0.468 | 0.4 | |
|
| 6 | 0.479 | 0.408 | |
|
| 7 | 0.487 | 0.415 | |
|
| 8 | 0.495 | 0.421 | |
|
| 9 | 0.501 | 0.416 | |
|
| 10 | 0.506 | 0.42 | |
|
| 11 | 0.51 | 0.421 | |
|
|
|
## Framework versions |
|
- Transformers: 4.25.1 |
|
- PyTorch: 2.0.0.dev20230210+cu118 |
|
- PyTorch Lightning: 1.8.6 |
|
- Datasets: 2.7.1 |
|
- Tokenizers: 0.13.1 |
|
- Sentence Transformers: 2.2.2 |
|
|
|
## Additional Information |
|
This model was trained as part of my Master's Thesis **'Evaluation of transformer based language models for use in service information systems'**. The source code is available on [Github](https://github.com/LLukas22/Retrieval-Augmented-QA). |