File size: 2,237 Bytes
9244fb2
c552c00
 
 
 
 
 
9244fb2
c552c00
 
9244fb2
c552c00
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
language:
- hu
- en
- zh
tags:
- text-generation
license: cc-by-nc-4.0
widget:
- text: Elmesélek egy történetet a nyelvtechnológiáról.
---

# PULI GPTrio (6.7 billion parameter)

For further details, see [our demo site](https://juniper.nytud.hu/demo/gptrio).

  - Hungarian-English-Chinese trilingual GPT-NeoX model (6.7 billion parameter)
  - Trained with EleutherAI's GPT-NeoX [github](https://github.com/EleutherAI/gpt-neox)
  - Checkpoint: 410 000 steps

## Dataset

- Hungarian: 41 508 933 801 words (314 GB)
- English: 61 906 491 82 words (391 GB)
- Github: 6 018 366 documents (33 GB)
- Chinese: 98 693 705 456 Chinese character (340 GB)
  - (12 072 234 774 non Chinese token)

## Limitations

- max_seq_length = 2048
- float16


## Citation
If you use this model, please cite the following paper:

```
@inproceedings {yang-puli-gptrio,
    title = {Mono- and multilingual GPT-3 models for Hungarian},
	booktitle = {Text, Speech, and Dialogue - 26th International Conference, {TSD} 2023, Proceedings},
	year = {2023},
	publisher = {Springer},
    series = {Lecture Notes in Computer Science},
	address = {Plzeň, Czech Republic},
	author = {Yang, Zijian Győző and Laki, László János and Váradi, Tamás and Prószéky, Gábor},
	pages = {Accepted}
}
```

## Usage

```python
from transformers import GPTNeoXForCausalLM, GPTNeoXTokenizerFast

model = GPTNeoXForCausalLM.from_pretrained("NYTK/PULI-GPTrio")
tokenizer = GPTNeoXTokenizerFast.from_pretrained("NYTK/PULI-GPTrio")
prompt = "Elmesélek egy történetet a nyelvtechnológiáról."
input_ids = tokenizer(prompt, return_tensors="pt").input_ids

gen_tokens = model.generate(
    input_ids,
    do_sample=True,
    temperature=0.9,
    max_length=100,
)

gen_text = tokenizer.batch_decode(gen_tokens)[0]
print(gen_text)
```
## Usage with pipeline

```python
from transformers import pipeline, GPTNeoXForCausalLM, GPTNeoXTokenizerFast

model = GPTNeoXForCausalLM.from_pretrained("NYTK/PULI-GPTrio")
tokenizer = GPTNeoXTokenizerFast.from_pretrained("NYTK/PULI-GPTrio")
prompt = "Elmesélek egy történetet a nyelvtechnológiáról."
generator = pipeline(task="text-generation", model=model, tokenizer=tokenizer)

print(generator(prompt)[0]["generated_text"])
```