File size: 2,818 Bytes
70c3df2
 
 
44990dc
70c3df2
30a4128
70c3df2
 
 
30a4128
 
9158acf
30a4128
 
70c3df2
30a4128
 
 
70c3df2
 
 
 
30a4128
70c3df2
 
30a4128
70c3df2
 
 
 
 
30a4128
 
70c3df2
 
 
30a4128
 
0d104cb
30a4128
 
 
 
 
 
 
 
 
70c3df2
 
30a4128
70c3df2
0d104cb
30a4128
 
 
 
 
70c3df2
 
 
 
9158acf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
70c3df2
 
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
---
tags:
- adapter-transformers
- xlm-roberta
datasets:
- rajpurkar/squad_v2
- UKPLab/m2qa
---

# M2QA Adapter: QA Head for MAD-X+Domain Setup
This adapter is part of the M2QA publication to achieve language and domain transfer via adapters.  
📃 Paper: [https://aclanthology.org/2024.findings-emnlp.365/](https://aclanthology.org/2024.findings-emnlp.365/)  
🏗️ GitHub repo: [https://github.com/UKPLab/m2qa](https://github.com/UKPLab/m2qa)  
💾 Hugging Face Dataset: [https://huggingface.co/UKPLab/m2qa](https://huggingface.co/UKPLab/m2qa)  

**Important:** This adapter only works together with the MAD-X language adapters and the M2QA MAD-X-Domain adapters. This QA adapter was trained on the SQuAD v2 dataset.

This [adapter](https://adapterhub.ml) for the `xlm-roberta-base` model that was trained using the **[Adapters](https://github.com/Adapter-Hub/adapters)** library. For detailed training details see our paper or GitHub repository: [https://github.com/UKPLab/m2qa](https://github.com/UKPLab/m2qa). You can find the evaluation results for this adapter on the M2QA dataset in the GitHub repo and in the paper.


## Usage

First, install `adapters`:

```
pip install -U adapters
```

Now, the adapter can be loaded and activated like this:

```python
from adapters import AutoAdapterModel
from adapters.composition import Stack

model = AutoAdapterModel.from_pretrained("xlm-roberta-base")

# 1. Load language adapter
language_adapter_name = model.load_adapter("de/wiki@ukp") # MAD-X+Domain uses the MAD-X language adapter

# 2. Load domain adapter
domain_adapter_name = model.load_adapter("AdapterHub/m2qa-xlm-roberta-base-mad-x-domain-news")

# 3. Load QA head adapter
qa_adapter_name = model.load_adapter("AdapterHub/m2qa-xlm-roberta-base-mad-x-domain-qa-head")

# 4. Activate them via the adapter stack
model.active_adapters = Stack(language_adapter_name, domain_adapter_name, qa_adapter_name)
```


See our repository for more information: See https://github.com/UKPLab/m2qa/tree/main/Experiments/mad-x-domain


## Contact
Leon Engländer:
- [HuggingFace Profile](https://huggingface.co/lenglaender)
- [GitHub](https://github.com/lenglaender)
- [Twitter](https://x.com/LeonEnglaender)

## Citation

```
@inproceedings{englander-etal-2024-m2qa,
    title = "M2QA: Multi-domain Multilingual Question Answering",
    author = {Engl{\"a}nder, Leon  and
      Sterz, Hannah  and
      Poth, Clifton A  and
      Pfeiffer, Jonas  and
      Kuznetsov, Ilia  and
      Gurevych, Iryna},
    booktitle = "Findings of the Association for Computational Linguistics: EMNLP 2024",
    month = nov,
    year = "2024",
    address = "Miami, Florida, USA",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2024.findings-emnlp.365",
    pages = "6283--6305",
}
```