Modelos preentrenados para generación de texto

Deep Learning para texto con PyTorch

Shubham Jain

Instructor

¿Por qué modelos preentrenados?

Benefits

  1. Entrenado con amplios conjuntos de datos
  2. Alto rendimiento en diversas tareas de generación de texto
    • Análisis de sentimientos
    • Completado de texto
    • Traducción de idiomas

Limitations

  1. Alto coste computacional para entrenar
  2. Grandes requisitos de almacenamiento
  3. Opciones de personalización limitadas
Deep Learning para texto con PyTorch

Modelos preentrenados en PyTorch

"- Hugging Face Transformers: biblioteca de modelos preentrenados

  • Modelos preentrenados:
    • GPT-2
    • T5 {{2}}"

"Logotipo de HuggingFace {{1}}"

Deep Learning para texto con PyTorch

Comprender el tokenizador y el modelo GPT-2

"GPT2LMHeadModel:

  • La versión de GPT-2 de HuggingFace
  • Adaptado para la generación de texto {{2}}"

"GPT2Tokenizer:

  • Convierte el texto en tokens
  • Gestiona la tokenización de subpalabras: 'larger' podría convertirse en ['large', 'r'] {{4}}"
Deep Learning para texto con PyTorch

"GPT-2: implementación de generación de texto"

import torch
from transformers import GPT2Tokenizer, GPT2LMHeadModel

tokenizer = GPT2Tokenizer.from_pretrained('gpt2') model = GPT2LMHeadModel.from_pretrained('gpt2')
seed_text = "Érase una vez"
input_ids = tokenizer.encode(seed_text, return_tensors='pt')
Deep Learning para texto con PyTorch

"GPT-2: implementación de generación de texto II"

output = model.generate(

                                                           ) 
Deep Learning para texto con PyTorch

"GPT-2: implementación de generación de texto II"

output = model.generate(input_ids, max_length=40, 

                                                           ) 
Deep Learning para texto con PyTorch

"GPT-2: implementación de generación de texto II"

output = model.generate(input_ids, max_length=40, temperature=0.7,     

                                                           ) 
Deep Learning para texto con PyTorch

"GPT-2: implementación de generación de texto II"

output = model.generate(input_ids, max_length=40, temperature=0.7,     
                        no_repeat_ngram_size=2, 
                                                           ) 
Deep Learning para texto con PyTorch

"GPT-2: implementación de generación de texto II"

output = model.generate(input_ids, max_length=40, temperature=0.7,     
                        no_repeat_ngram_size=2, 
                        pad_token_id=tokenizer.eos_token_id) 
Deep Learning para texto con PyTorch

"GPT-2: salida de generación de texto"

"python generated_text = tokenizer.decode(output[0], skip_special_tokens=True) print(generated_text)

out Texto generado: Érase una vez, el mundo era un lugar de gran belleza y gran peligro. El mundo de los dioses era el lugar donde nacieron los grandes dioses , y donde iban a vivir.{{2}}"

Deep Learning para texto con PyTorch

"T5: Implementación de traducción de idiomas"

"- t5-small: Text-to-Text Transfer Transformer

  • Modelo preentrenado para tareas de traducción automática
import torch
from transformers import T5Tokenizer, T5ForConditionalGeneration

tokenizer = T5Tokenizer.from_pretrained(\"t5-small\") model = T5ForConditionalGeneration.from_pretrained(\"t5-small\")
input_prompt = \"translate English to French: 'Hola, ¿cómo estás?'\"
input_ids = tokenizer.encode(input_prompt, return_tensors=\"pt\")

----CODE_GLUE---- python output = model.generate(input_ids, max_length=100){{6}}"

Deep Learning para texto con PyTorch

"T5: Salida de traducción de idiomas"

"`python generated_text = tokenizer.decode(output[0], skip_special_tokens=True)


----CODE_GLUE----
```python
print(\"Texto generado:\",generated_text)

out Texto generado: \"Bonjour, ¿cómo estáis?\"{{2}}"

Deep Learning para texto con PyTorch

Elegir el modelo preentrenado adecuado

"- ¡Existen muchos!

  • GPT-2: Generación de texto
  • DistilGPT-2 (Versión reducida de GPT-2): Generación de texto
  • BERT: Clasificación de texto, respuesta a preguntas
  • T5 (t5-small es la versión más pequeña de T5): Traducción de idiomas, resumen
  • Encuéntralos en HuggingFace y otros repositorios {{5}}"
Deep Learning para texto con PyTorch

Es hora de la práctica.

Deep Learning para texto con PyTorch

Preparing Video For Download...