File size: 10,372 Bytes
8252578
9db5bf8
8252578
9db5bf8
8252578
9db5bf8
8252578
9db5bf8
8252578
 
 
 
9db5bf8
 
8252578
9db5bf8
 
8252578
 
9db5bf8
8252578
 
 
 
 
 
 
 
 
9db5bf8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8252578
 
 
9db5bf8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8252578
 
 
 
 
 
 
 
 
 
9db5bf8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8252578
9db5bf8
8252578
9db5bf8
 
 
 
 
ce87a85
8252578
ce87a85
 
 
 
 
 
 
 
 
 
 
 
 
 
8252578
cc6043d
8582afb
9db5bf8
8582afb
9db5bf8
8582afb
9db5bf8
8582afb
a13ccd9
 
9db5bf8
 
 
 
 
 
 
 
 
 
 
 
a13ccd9
 
 
9db5bf8
a13ccd9
9db5bf8
a13ccd9
 
 
 
 
 
9db5bf8
 
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
---

language:

- es

license: apache-2.0

tags:
- "national library of spain"
- "spanish"
- "bne"
- "roberta-large-bne"

datasets:
- "bne"

metrics:
- "ppl"

widget:
- text: "Este año las campanadas de La Sexta las <mask> Pedroche y Chicote." 
- text: "El artista Antonio Orozco es un colaborador de La <mask>."
- text: "Gracias a los datos de la BNE se ha podido <mask> este modelo del lenguaje."
- text: "Hay base legal dentro del marco <mask> actual."

---
# RoBERTa large trained with data from National Library of Spain (BNE)

## Table of Contents
<details>
<summary>Click to expand</summary>

- [Overview](#overview)
- [Model Description](#model-description)
- [How to Use](#how-to-use)
- [Intended Uses and Limitations](#intended-uses-and-limitations)
- [Training](#training)
  - [Training Data](#training-data)
  - [Training Procedure](#training-procedure)
- [Evaluation](#evaluation)
   - [Evaluation Results](#evaluation-results)
- [Additional Information](#additional-information)
   - [Authors](#authors)
   - [Citation Information](#citation-information)
   - [Contact Information](#contact-information)
   - [Funding](#funding)
   - [Licensing Information](#licensing-information)
   - [Copyright](#copyright)
   - [Disclaimer](#disclaimer)

</details>

## Overview
- **Architecture:** roberta-large
- **Language:** Spanish
- **Task:** fill-mask
- **Data:** BNE

## Model Description
RoBERTa-large-bne is a transformer-based masked language model for the Spanish language. It is based on the [RoBERTa](https://arxiv.org/abs/1907.11692) large model and has been pre-trained using the largest Spanish corpus known to date, with a total of 570GB of clean and deduplicated text processed for this work, compiled from the web crawlings performed by the  [National Library of Spain (Biblioteca Nacional de España)](http://www.bne.es/en/Inicio/index.html) from 2009 to 2019.

## How to Use
You can use this model directly with a pipeline for fill mask. Since the generation relies on some randomness, we set a seed for reproducibility:

```python
>>> from transformers import pipeline
>>> from pprint import pprint
>>> unmasker = pipeline('fill-mask', model='PlanTL-GOB-ES/roberta-large-bne')
>>> pprint(unmasker("Gracias a los datos de la BNE se ha podido <mask> este modelo del lenguaje."))
[{'score': 0.0664491355419159,
  'sequence': ' Gracias a los datos de la BNE se ha podido conocer este modelo del lenguaje.',
  'token': 1910,
  'token_str': ' conocer'},
 {'score': 0.0492338091135025,
  'sequence': ' Gracias a los datos de la BNE se ha podido realizar este modelo del lenguaje.',
  'token': 2178,
  'token_str': ' realizar'},
 {'score': 0.03890657424926758,
  'sequence': ' Gracias a los datos de la BNE se ha podido reconstruir este modelo del lenguaje.',
  'token': 23368,
  'token_str': ' reconstruir'},
 {'score': 0.03662774711847305,
  'sequence': ' Gracias a los datos de la BNE se ha podido desarrollar este modelo del lenguaje.',
  'token': 3815,
  'token_str': ' desarrollar'},
 {'score': 0.030557377263903618,
  'sequence': ' Gracias a los datos de la BNE se ha podido estudiar este modelo del lenguaje.',
  'token': 6361,
  'token_str': ' estudiar'}]
```
Here is how to use this model to get the features of a given text in PyTorch:

```python
>>> from transformers import RobertaTokenizer, RobertaModel
>>> tokenizer = RobertaTokenizer.from_pretrained('PlanTL-GOB-ES/roberta-large-bne')
>>> model = RobertaModel.from_pretrained('PlanTL-GOB-ES/roberta-large-bne')
>>> text = "Gracias a los datos de la BNE se ha podido desarrollar este modelo del lenguaje."
>>> encoded_input = tokenizer(text, return_tensors='pt')
>>> output = model(**encoded_input)
>>> print(output.last_hidden_state.shape)
torch.Size([1, 19, 1024])
```

## Intended Uses and Limitations
You can use the raw model for fill mask or fine-tune it to a downstream task.

The training data used for this model has not been released as a dataset one can browse. We know it contains a lot of
unfiltered content from the internet, which is far from neutral. 

## Training

### Training Data 

The [National Library of Spain (Biblioteca Nacional de España)](http://www.bne.es/en/Inicio/index.html) crawls all .es domains once a year. The training corpus consists of 59TB of WARC files from these crawls, carried out from 2009 to 2019.

To obtain a high-quality training corpus, the corpus has been preprocessed with a pipeline of operations, including among the others, sentence splitting, language detection, filtering of bad-formed sentences and deduplication of repetitive contents. During the process document boundaries are kept. This resulted into 2TB of Spanish clean corpus. Further global deduplication among the corpus is applied, resulting into 570GB of text.

Some of the statistics of the corpus:

| Corpora | Number of documents | Number of tokens | Size (GB) |
|---------|---------------------|------------------|-----------|
| BNE     |         201,080,084 |  135,733,450,668 |     570GB |

### Training Procedure
The configuration of the **RoBERTa-large-bne** model is as follows:
 - RoBERTa-l: 24-layer, 1024-hidden, 16-heads, 355M parameters.
The pretraining objective used for this architecture is masked language modeling without next sentence prediction.
The training corpus has been tokenized using a byte version of Byte-Pair Encoding (BPE) used in the original [RoBERTA](https://arxiv.org/abs/1907.11692) model with a vocabulary size of 50,262 tokens. 
The RoBERTa-large-bne pre-training consists of a masked language model training that follows the approach employed for the RoBERTa base. The training lasted a total of 96 hours with 32 computing nodes each one with 4 NVIDIA V100 GPUs of 16GB VRAM.

## Evaluation

### Evaluation Results
When fine-tuned on downstream tasks, this model achieves the following results:
| Dataset      | Metric   | [**RoBERTa-l**](https://huggingface.co/PlanTL-GOB-ES/roberta-large-bne)   |
|--------------|----------|------------|
| MLDoc        | F1       |     0.9702 |
| CoNLL-NERC   | F1       |     0.8823 |
| CAPITEL-NERC | F1       |     0.9051 |
| PAWS-X       | F1       |     0.9150 |
| UD-POS       | F1       |     0.9904 |
| CAPITEL-POS  | F1       |     0.9856 |
| SQAC         | F1       |     0.8202 |
| STS          | Combined |     0.8411 |
| XNLI         | Accuracy |     0.8263 |

For more evaluation details visit our [GitHub repository](https://github.com/PlanTL-GOB-ES/lm-spanish) or [paper](http://journal.sepln.org/sepln/ojs/ojs/index.php/pln/article/view/6405). 

## Additional Information

### Authors 

The Text Mining Unit from Barcelona Supercomputing Center.

### Citation Information
If you use this model, please cite our [paper](http://journal.sepln.org/sepln/ojs/ojs/index.php/pln/article/view/6405):
```
@article{,
   abstract = {We want to thank the National Library of Spain for such a large effort on the data gathering and the Future of Computing Center, a
Barcelona Supercomputing Center and IBM initiative (2020). This work was funded by the Spanish State Secretariat for Digitalization and Artificial
Intelligence (SEDIA) within the framework of the Plan-TL.},
   author = {Asier Gutiérrez Fandiño and Jordi Armengol Estapé and Marc Pàmies and Joan Llop Palao and Joaquin Silveira Ocampo and Casimiro Pio Carrino and Carme Armentano Oller and Carlos Rodriguez Penagos and Aitor Gonzalez Agirre and Marta Villegas},
   doi = {10.26342/2022-68-3},
   issn = {1135-5948},
   journal = {Procesamiento del Lenguaje Natural},
   keywords = {Artificial intelligence,Benchmarking,Data processing.,MarIA,Natural language processing,Spanish language modelling,Spanish language resources,Tractament del llenguatge natural (Informàtica),Àrees temàtiques de la UPC::Informàtica::Intel·ligència artificial::Llenguatge natural},
   publisher = {Sociedad Española para el Procesamiento del Lenguaje Natural},
   title = {MarIA: Spanish Language Models},
   volume = {68},
   url = {https://upcommons.upc.edu/handle/2117/367156#.YyMTB4X9A-0.mendeley},
   year = {2022},
}
```

### Contact Information

For further information, send an email to <plantl-gob-es@bsc.es>

### Funding

This work was funded by the Spanish State Secretariat for Digitalization and Artificial Intelligence (SEDIA) within the framework of the Plan-TL.

### Licensing Information

This work is licensed under a [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)

### Copyright

Copyright by the Spanish State Secretariat for Digitalization and Artificial Intelligence (SEDIA) (2022)

### Disclaimer

<details>
<summary>Click to expand</summary>

The models published in this repository are intended for a generalist purpose and are available to third parties. These models may have bias and/or any other undesirable distortions.

When third parties, deploy or provide systems and/or services to other parties using any of these models (or using systems based on these models) or become users of the models, they should note that it is their responsibility to mitigate the risks arising from their use and, in any event, to comply with applicable regulations, including regulations regarding the use of Artificial Intelligence.

In no event shall the owner of the models (SEDIA – State Secretariat for Digitalization and Artificial Intelligence) nor the creator (BSC – Barcelona Supercomputing Center) be liable for any results arising from the use made by third parties of these models.


Los modelos publicados en este repositorio tienen una finalidad generalista y están a disposición de terceros. Estos modelos pueden tener sesgos y/u otro tipo de distorsiones indeseables.

Cuando terceros desplieguen o proporcionen sistemas y/o servicios a otras partes usando alguno de estos modelos (o utilizando sistemas basados en estos modelos) o se conviertan en usuarios de los modelos, deben tener en cuenta que es su responsabilidad mitigar los riesgos derivados de su uso y, en todo caso, cumplir con la normativa aplicable, incluyendo la normativa en materia de uso de inteligencia artificial.

En ningún caso el propietario de los modelos (SEDIA – Secretaría de Estado de Digitalización e Inteligencia Artificial) ni el creador (BSC – Barcelona Supercomputing Center) serán responsables de los resultados derivados del uso que hagan terceros de estos modelos.
</details>