File size: 1,622 Bytes
eebe77d
 
 
 
 
 
 
 
 
 
 
2649b38
 
 
 
 
 
 
 
 
699f35f
2649b38
 
 
 
 
 
 
 
 
 
 
 
 
eebe77d
 
 
 
 
b87a7d4
eebe77d
 
 
b87a7d4
 
 
2649b38
eebe77d
 
 
 
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
---
datasets:
- oscar
language:
- da
widget:
  - text: Der var engang
---

# What is this?

A GPT-2 model (small version, 124 M parameters) for Danish text generation. The model was not pre-trained from scratch but adapted from the English version.

# How to use

Test the model using the pipeline from the [🤗 Transformers](https://github.com/huggingface/transformers) library:

```python
from transformers import pipeline

generator = pipeline("text-generation", model = "KennethTM/gpt2-small-danish")
text = generator("Manden arbejdede som")

print(text[0]["generated_text"])
```

Or load it using the Auto* classes:

```python
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("KennethTM/gpt2-small-danish")
model = AutoModelForCausalLM.from_pretrained("KennethTM/gpt2-small-danish")
```

# Model training

The model is trained using the Danish part of the [oscar dataset](https://huggingface.co/datasets/oscar) ('unshuffled_deduplicated_da') and a context length of 1024 tokens.

The model weights are initialized from the English [GPT-2 small model](https://huggingface.co/gpt2) with new word token embeddings created for Danish using [WECHSEL](https://github.com/CPJKU/wechsel).

Initially, only the word token embeddings are trained using 50.000 samples. Finally, the whole model is trained using 1.000.000 samples.

For reference, the model achieves a perplexity of 33.5 on 5.000 random validation samples.


Model training is carried out on an 8 GB GPU.

# Notes

This is a pre-trained model, for optimal performance it should be finetuned for new tasks.