142 lines
4.6 KiB
Markdown
142 lines
4.6 KiB
Markdown
|
|
---
|
|||
|
|
language: it
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# GePpeTto GPT2 Model 🇮🇹
|
|||
|
|
|
|||
|
|
Pretrained GPT2 117M model for Italian.
|
|||
|
|
|
|||
|
|
You can find further details in the paper:
|
|||
|
|
|
|||
|
|
Lorenzo De Mattei, Michele Cafagna, Felice Dell’Orletta, Malvina Nissim, Marco Guerini "GePpeTto Carves Italian into a Language Model", arXiv preprint. Pdf available at: https://arxiv.org/abs/2004.14253
|
|||
|
|
|
|||
|
|
## Pretraining Corpus
|
|||
|
|
|
|||
|
|
The pretraining set comprises two main sources. The first one is a dump of Italian Wikipedia (November 2019),
|
|||
|
|
consisting of 2.8GB of text. The second one is the ItWac corpus (Baroni et al., 2009), which amounts to 11GB of web
|
|||
|
|
texts. This collection provides a mix of standard and less standard Italian, on a rather wide chronological span,
|
|||
|
|
with older texts than the Wikipedia dump (the latter stretches only to the late 2000s).
|
|||
|
|
|
|||
|
|
## Pretraining details
|
|||
|
|
|
|||
|
|
This model was trained using GPT2's Hugging Face implemenation on 4 NVIDIA Tesla T4 GPU for 620k steps.
|
|||
|
|
|
|||
|
|
Training parameters:
|
|||
|
|
|
|||
|
|
- GPT-2 small configuration
|
|||
|
|
- vocabulary size: 30k
|
|||
|
|
- Batch size: 32
|
|||
|
|
- Block size: 100
|
|||
|
|
- Adam Optimizer
|
|||
|
|
- Initial learning rate: 5e-5
|
|||
|
|
- Warm up steps: 10k
|
|||
|
|
|
|||
|
|
## Perplexity scores
|
|||
|
|
|
|||
|
|
| Domain | Perplexity |
|
|||
|
|
|---|---|
|
|||
|
|
| Wikipedia | 26.1052 |
|
|||
|
|
| ItWac | 30.3965 |
|
|||
|
|
| Legal | 37.2197 |
|
|||
|
|
| News | 45.3859 |
|
|||
|
|
| Social Media | 84.6408 |
|
|||
|
|
|
|||
|
|
For further details, qualitative analysis and human evaluation check out: https://arxiv.org/abs/2004.14253
|
|||
|
|
|
|||
|
|
## Load Pretrained Model
|
|||
|
|
|
|||
|
|
You can use this model by installing Huggingface library `transformers`. And you can use it directly by initializing it like this:
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
from transformers import GPT2Tokenizer, GPT2Model
|
|||
|
|
|
|||
|
|
model = GPT2Model.from_pretrained('LorenzoDeMattei/GePpeTto')
|
|||
|
|
tokenizer = GPT2Tokenizer.from_pretrained(
|
|||
|
|
'LorenzoDeMattei/GePpeTto',
|
|||
|
|
)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Example using GPT2LMHeadModel
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
from transformers import AutoTokenizer, AutoModelWithLMHead, pipeline, GPT2Tokenizer
|
|||
|
|
|
|||
|
|
tokenizer = AutoTokenizer.from_pretrained("LorenzoDeMattei/GePpeTto")
|
|||
|
|
model = AutoModelWithLMHead.from_pretrained("LorenzoDeMattei/GePpeTto")
|
|||
|
|
|
|||
|
|
text_generator = pipeline('text-generation', model=model, tokenizer=tokenizer)
|
|||
|
|
prompts = [
|
|||
|
|
"Wikipedia Geppetto",
|
|||
|
|
"Maestro Ciliegia regala il pezzo di legno al suo amico Geppetto, il quale lo prende per fabbricarsi un burattino maraviglioso"]
|
|||
|
|
|
|||
|
|
|
|||
|
|
samples_outputs = text_generator(
|
|||
|
|
prompts,
|
|||
|
|
do_sample=True,
|
|||
|
|
max_length=50,
|
|||
|
|
top_k=50,
|
|||
|
|
top_p=0.95,
|
|||
|
|
num_return_sequences=3
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
|
|||
|
|
for i, sample_outputs in enumerate(samples_outputs):
|
|||
|
|
print(100 * '-')
|
|||
|
|
print("Prompt:", prompts[i])
|
|||
|
|
for sample_output in sample_outputs:
|
|||
|
|
print("Sample:", sample_output['generated_text'])
|
|||
|
|
print()
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Output is,
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
----------------------------------------------------------------------------------------------------
|
|||
|
|
Prompt: Wikipedia Geppetto
|
|||
|
|
Sample: Wikipedia Geppetto rosso (film 1920)
|
|||
|
|
|
|||
|
|
Geppetto rosso ("The Smokes in the Black") è un film muto del 1920 diretto da Henry H. Leonard.
|
|||
|
|
|
|||
|
|
Il film fu prodotto dalla Selig Poly
|
|||
|
|
|
|||
|
|
Sample: Wikipedia Geppetto
|
|||
|
|
|
|||
|
|
Geppetto ("Geppetto" in piemontese) è un comune italiano di 978 abitanti della provincia di Cuneo in Piemonte.
|
|||
|
|
|
|||
|
|
L'abitato, che si trova nel versante valtellinese, si sviluppa nella
|
|||
|
|
|
|||
|
|
Sample: Wikipedia Geppetto di Natale (romanzo)
|
|||
|
|
|
|||
|
|
Geppetto di Natale è un romanzo di Mario Caiano, pubblicato nel 2012.
|
|||
|
|
|
|||
|
|
----------------------------------------------------------------------------------------------------
|
|||
|
|
Prompt: Maestro Ciliegia regala il pezzo di legno al suo amico Geppetto, il quale lo prende per fabbricarsi un burattino maraviglioso
|
|||
|
|
Sample: Maestro Ciliegia regala il pezzo di legno al suo amico Geppetto, il quale lo prende per fabbricarsi un burattino maraviglioso. Il burattino riesce a scappare. Dopo aver trovato un prezioso sacchetto si reca
|
|||
|
|
|
|||
|
|
Sample: Maestro Ciliegia regala il pezzo di legno al suo amico Geppetto, il quale lo prende per fabbricarsi un burattino maraviglioso, e l'unico che lo possiede, ma, di fronte a tutte queste prove
|
|||
|
|
|
|||
|
|
Sample: Maestro Ciliegia regala il pezzo di legno al suo amico Geppetto, il quale lo prende per fabbricarsi un burattino maraviglioso: - A voi gli occhi, le guance! A voi il mio pezzo!
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## Citation
|
|||
|
|
|
|||
|
|
Please use the following bibtex entry:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
@misc{mattei2020geppetto,
|
|||
|
|
title={GePpeTto Carves Italian into a Language Model},
|
|||
|
|
author={Lorenzo De Mattei and Michele Cafagna and Felice Dell'Orletta and Malvina Nissim and Marco Guerini},
|
|||
|
|
year={2020},
|
|||
|
|
eprint={2004.14253},
|
|||
|
|
archivePrefix={arXiv},
|
|||
|
|
primaryClass={cs.CL}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## References
|
|||
|
|
|
|||
|
|
Marco Baroni, Silvia Bernardini, Adriano Ferraresi,
|
|||
|
|
and Eros Zanchetta. 2009. The WaCky wide web: a
|
|||
|
|
collection of very large linguistically processed webcrawled corpora. Language resources and evaluation, 43(3):209–226.
|