--- license: mit datasets: - recogna-nlp/recognasumm language: - pt 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 ```