PamelaBorelli
commited on
Commit
•
96ec23c
1
Parent(s):
fb8d653
Create README.md
Browse files
README.md
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
license: mit
|
3 |
+
datasets:
|
4 |
+
- recogna-nlp/recognasumm
|
5 |
+
language:
|
6 |
+
- pt
|
7 |
+
metrics:
|
8 |
+
- rouge
|
9 |
+
pipeline_tag: summarization
|
10 |
+
---
|
11 |
+
# Model Card para PamelaBorelli/flan-t5-tokenizer-ptt5-recogna
|
12 |
+
|
13 |
+
## Dados Gerais
|
14 |
+
|
15 |
+
- **Nome:** [PamelaBorelli/flan-t5-tokenizer-ptt5-recogna](https://huggingface.co/PamelaBorelli/flan-t5-tokenizer-ptt5-recogna)
|
16 |
+
- **Tipo:** Languege Model, Transformer Encoder-Decoder
|
17 |
+
- **Licença:** Language model
|
18 |
+
- **Modelo base:** [google/flan-t5-base](https://huggingface.co/google/flan-t5-base#model-details)
|
19 |
+
- **Tokenizador:** [unicamp-dl/ptt5-base-en-pt-msmarco-100k-v2](https://huggingface.co/unicamp-dl/ptt5-base-en-pt-msmarco-100k-v2) .
|
20 |
+
- **Modelo Relacionado:** Checkpoints do FLAN-T5
|
21 |
+
- **Checkpoints Originais:** Checkpoints do FLAN-T5
|
22 |
+
- **Dataset:**
|
23 |
+
- [recogna-nlp/recognasumm](https://huggingface.co/datasets/recogna-nlp/recognasumm)
|
24 |
+
|
25 |
+
## Resumo
|
26 |
+
|
27 |
+
O modelo original que serviu de base para o modelo final é o [flan-t5-base](https://huggingface.co/google/flan-t5-base#model-details). Um modelo multilinguagem com tamanho de 248M e que possui uma arquitetura baseada no T5 (Text-to-Text Transfer Transformer) com codificador-decodificador. O Flan-T5 original foi ajustado em uma mistura de tarefas com objetivo de melhorar sua capacidade de generalização.
|
28 |
+
|
29 |
+
O modelo final [PamelaBorelli/flan-t5-tokenizer-ptt5-recogna](https://huggingface.co/PamelaBorelli/flan-t5-tokenizer-ptt5-recogna) foi treinado no processo de **instrução e ajuste fino** (*finetune*). Foi realizado *finetune* para tarefa de sumarização com dataset em Português-BR utilizando o tokenizador do modelo [unicamp-dl/ptt5-base-en-pt-msmarco-100k-v2](https://huggingface.co/unicamp-dl/ptt5-base-en-pt-msmarco-100k-v2) .
|
30 |
+
|
31 |
+
## Utilização Pretendida
|
32 |
+
|
33 |
+
O modelo foi trabalhado para tarefa final de sumarização de textos em Português-BR. Não foi testado para outros idiomas.
|
34 |
+
|
35 |
+
### Uso
|
36 |
+
|
37 |
+
```
|
38 |
+
from transformers import T5Tokenizer, T5ForConditionalGeneration
|
39 |
+
|
40 |
+
tokenizer = T5Tokenizer.from_pretrained("PamelaBorelli/flan-t5-tokenizer-ptt5-recogna")
|
41 |
+
model = T5ForConditionalGeneration.from_pretrained("PamelaBorelli/flan-t5-tokenizer-ptt5-recogna")
|
42 |
+
|
43 |
+
input_text = "O corpo está mais propenso a sentir dores com exercícios de alta intensidade | Foto: Getty Images O problema está em saber identificar qual é qual. "Em algumas situações, é difícil diferenciar uma da outra", reconhece Juan Francisco Marco, professor do Centro de Ciência do Esporte, Treinamento e Fitness Alto Rendimento, na Espanha. "A dor boa é aquela que associamos ao exercício físico, que não limita (o movimento) e permite continuar (a se exercitar) até o momento em que o músculo fica realmente esgotado e não trabalha mais", explica. É importante detectar qual é o tipo de dor que você está sentindo, para evitar ter problemas mais sérios | Foto: Getty Images Para Francisco Sánchez Diego, diretor do centro de treinamento Corpore 10, "a dor boa se sente no grupo muscular que você trabalhou, tanto durante o treinamento como nos dias seguintes"."
|
44 |
+
input_ids = tokenizer(input_text, return_tensors="pt").input_ids
|
45 |
+
|
46 |
+
outputs = model.generate(input_ids)
|
47 |
+
print(tokenizer.decode(outputs[0]))
|
48 |
+
```
|
49 |
+
|
50 |
+
|
51 |
+
## Idiomas
|
52 |
+
|
53 |
+
Português-BR
|
54 |
+
|
55 |
+
## Dados de Treinamento
|
56 |
+
|
57 |
+
O modelo foi treinado para tarefa de sumarização usando os parâmetros:
|
58 |
+
|
59 |
+
```
|
60 |
+
evaluation_strategy="steps" #forma para avaliar o output
|
61 |
+
eval_steps= #quantidade de steps para avaliar o output
|
62 |
+
learning_rate= #taxa de aprendizado
|
63 |
+
per_device_train_batch_size= #tamanho do batch para o treinamento
|
64 |
+
per_device_eval_batch_size= #tamanho do batch para a validação
|
65 |
+
gradient_accumulation_steps= #até quanto deve acumular os batchs
|
66 |
+
weight_decay= #regularização L2
|
67 |
+
num_train_epochs= #quantidade de épocas para treinamento
|
68 |
+
save_strategy="steps" #forma para salvar o output
|
69 |
+
save_steps = #quantidade de steps para salvar o output
|
70 |
+
push_to_hub=False #salvar o modelo no hub do Hugging Face
|
71 |
+
load_best_model_at_end=True #carregar o melhor modelo no final do treinamento (necessário para o callback)
|
72 |
+
```
|
73 |
+
|
74 |
+
Para tokenização foi usado os parâmetros:
|
75 |
+
|
76 |
+
```
|
77 |
+
start_prompt= "Sumarize: \n" #início instrução para sumarização
|
78 |
+
end_prompt= "\n\nSumário: " #fim da instrução para sumarização
|
79 |
+
input_name="coluna_imput" #nome da coluna no dataset com os textos de origem
|
80 |
+
target_name="coluna_target" #nome da coluna no dataset com os textos de destino
|
81 |
+
max_input_length = 256 #tamanho máximo de input para tokenizar
|
82 |
+
max_target_length = 256 #tamanho máximo de target para tokenizar
|
83 |
+
columns_to_remove= ['coluna_to_remove'] #colunas que serão removidas do dataset original
|
84 |
+
```
|