transformers safetensors t5 text2text-generation summarization pt dataset:recogna-nlp/recognasumm license:mit autotrain_compatible text-generation-inference endpoints_compatible region:us
---
datasets:
- recogna-nlp/recognasumm
language:
- pt
license: mit
metrics:
- rouge
pipeline_tag: summarization
---
# Model Card para PamelaBorelli/flan-t5-tokenizer-ptt5-recogna

## Dados Gerais

- **Nome:** [PamelaBorelli/flan-t5-tokenizer-ptt5-recogna](https://huggingface.co/PamelaBorelli/flan-t5-tokenizer-ptt5-recogna)
- **Tipo:** Languege Model, Transformer Encoder-Decoder
- **Licença:**  Language model
- **Modelo base:** [google/flan-t5-base](https://huggingface.co/google/flan-t5-base#model-details)
- **Tokenizador:** [unicamp-dl/ptt5-base-en-pt-msmarco-100k-v2](https://huggingface.co/unicamp-dl/ptt5-base-en-pt-msmarco-100k-v2) . 
- **Modelo Relacionado:** Checkpoints do FLAN-T5 
- **Checkpoints Originais:** Checkpoints do FLAN-T5
- **Dataset:**
  - [recogna-nlp/recognasumm](https://huggingface.co/datasets/recogna-nlp/recognasumm)

## Resumo

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. 

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) . 

## Utilização Pretendida

O modelo foi trabalhado para tarefa final de sumarização de textos em Português-BR. Não foi testado para outros idiomas.

### Uso

```
from transformers import T5Tokenizer, T5ForConditionalGeneration

tokenizer = T5Tokenizer.from_pretrained("PamelaBorelli/flan-t5-tokenizer-ptt5-recogna")
model = T5ForConditionalGeneration.from_pretrained("PamelaBorelli/flan-t5-tokenizer-ptt5-recogna")

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"."
input_ids = tokenizer(input_text, return_tensors="pt").input_ids

outputs = model.generate(input_ids)
print(tokenizer.decode(outputs[0]))
```


## Idiomas

Português-BR

## Dados de Treinamento

O modelo foi treinado para tarefa de sumarização usando os parâmetros: 

```
evaluation_strategy="steps"         #forma para avaliar o output
eval_steps=                         #quantidade de steps para avaliar o output
learning_rate=                      #taxa de aprendizado
per_device_train_batch_size=        #tamanho do batch para o treinamento
per_device_eval_batch_size=         #tamanho do batch para a validação
gradient_accumulation_steps=        #até quanto deve acumular os batchs
weight_decay=                       #regularização L2
num_train_epochs=                   #quantidade de épocas para treinamento
save_strategy="steps"               #forma para salvar o output
save_steps =                        #quantidade de steps para salvar o output
push_to_hub=False                   #salvar o modelo no hub do Hugging Face
load_best_model_at_end=True         #carregar o melhor modelo no final do treinamento (necessário para o callback)
```

Para tokenização foi usado os parâmetros:

```
start_prompt= "Sumarize: \n"                 #início instrução para sumarização
end_prompt= "\n\nSumário: "    			 #fim da instrução para sumarização
input_name="coluna_imput"           		 #nome da coluna no dataset com os textos de origem
target_name="coluna_target"          		 #nome da coluna no dataset com os textos de destino
max_input_length = 256         				 #tamanho máximo de input para tokenizar
max_target_length = 256        				 #tamanho máximo de target para tokenizar
columns_to_remove= ['coluna_to_remove'] 	 #colunas que serão removidas do dataset original
```