Views
No views yet
| Model | #params | Model file (pt/tf) | Arch. | Training /Validation data (text) |
|---|---|---|---|---|
gpt2-small-portuguese | 124M | 487M / 475M | GPT-2 small | Portuguese Wikipedia (1.28 GB / 0.32 GB) |
| after ... epochs | loss | accuracy (%) | perplexity | time by epoch | cumulative time |
|---|---|---|---|---|---|
| 0 | 9.95 | 9.90 | 20950.94 | 00:00:00 | 00:00:00 |
| 1 | 3.64 | 32.52 | 38.12 | 5:48:31 | 5:48:31 |
| 2 | 3.30 | 36.29 | 27.16 | 5:38:18 | 11:26:49 |
| 3 | 3.21 | 37.46 | 24.71 | 6:20:51 | 17:47:40 |
| 4 | 3.19 | 37.74 | 24.21 | 6:06:29 | 23:54:09 |
| 5 | 3.17 | 37.99 | 23.76 | 6:16:22 | 30:10:31 |
i only uses the inputs from 1 to i but not the future tokens.1from transformers import AutoTokenizer, AutoModelWithLMHead
2import torch
3
4tokenizer = AutoTokenizer.from_pretrained("pierreguillou/gpt2-small-portuguese")
5model = AutoModelWithLMHead.from_pretrained("pierreguillou/gpt2-small-portuguese")
6
7# Get sequence length max of 1024
8tokenizer.model_max_length=1024
9
10model.eval() # disable dropout (or leave in train mode to finetune)1# input sequence
2text = "Quem era Jim Henson? Jim Henson era um"
3inputs = tokenizer(text, return_tensors="pt")
4
5# model output
6outputs = model(**inputs, labels=inputs["input_ids"])
7loss, logits = outputs[:2]
8predicted_index = torch.argmax(logits[0, -1, :]).item()
9predicted_text = tokenizer.decode([predicted_index])
10
11# results
12print('input text:', text)
13print('predicted text:', predicted_text)
14
15# input text: Quem era Jim Henson? Jim Henson era um
16# predicted text: homem1# input sequence
2text = "Quem era Jim Henson? Jim Henson era um"
3inputs = tokenizer(text, return_tensors="pt")
4
5# model output using Top-k sampling text generation method
6sample_outputs = model.generate(inputs.input_ids,
7 pad_token_id=50256,
8 do_sample=True,
9 max_length=50, # put the token number you want
10 top_k=40,
11 num_return_sequences=1)
12
13# generated sequence
14for i, sample_output in enumerate(sample_outputs):
15 print(">> Generated text {}\n\n{}".format(i+1, tokenizer.decode(sample_output.tolist())))
16
17# >> Generated text
18# Quem era Jim Henson? Jim Henson era um executivo de televisão e diretor de um grande estúdio de cinema mudo chamado Selig,
19# depois que o diretor de cinema mudo Georges Seuray dirigiu vários filmes para a Columbia e o estúdio. 1from transformers import AutoTokenizer, TFAutoModelWithLMHead
2import tensorflow as tf
3
4tokenizer = AutoTokenizer.from_pretrained("pierreguillou/gpt2-small-portuguese")
5model = TFAutoModelWithLMHead.from_pretrained("pierreguillou/gpt2-small-portuguese")
6
7# Get sequence length max of 1024
8tokenizer.model_max_length=1024
9
10model.eval() # disable dropout (or leave in train mode to finetune)1# input sequence
2text = "Quem era Jim Henson? Jim Henson era um"
3inputs = tokenizer.encode(text, return_tensors="tf")
4
5# model output using Top-k sampling text generation method
6outputs = model.generate(inputs, eos_token_id=50256, pad_token_id=50256,
7 do_sample=True,
8 max_length=40,
9 top_k=40)
10print(tokenizer.decode(outputs[0]))
11
12# >> Generated text
13# Quem era Jim Henson? Jim Henson era um amigo familiar da família. Ele foi contratado pelo seu pai
14# para trabalhar como aprendiz no escritório de um escritório de impressão, e então começou a ganhar dinheiro
15Because large-scale language models like GPT-2 do not distinguish fact from fiction, we don’t support use-cases that require the generated text to be true. Additionally, language models like GPT-2 reflect the biases inherent to the systems they were trained on, so we do not recommend that they be deployed into systems that interact with humans > unless the deployers first carry out a study of biases relevant to the intended use-case. We found no statistically significant difference in gender, race, and religious bias probes between 774M and 1.5B, implying all versions of GPT-2 should be approached with similar levels of caution around use cases that are sensitive to biases around human attributes.
1@inproceedings{pierre2020gpt2smallportuguese,
2 title={GPorTuguese-2 (Portuguese GPT-2 small): a Language Model for Portuguese text generation (and more NLP tasks...)},
3 author={Pierre Guillou},
4 year={2020}
5}