Menu iconMenu icon
NLP con Transformadores: Técnicas Avanzadas y Aplicaciones Multimodales

Capítulo 1: Aplicaciones Avanzadas de NLP

1.4 Ejercicios Prácticos

Esta sección te introduce en el uso de modelos transformer preentrenados para generar texto coherente y contextualmente relevante. Trabajarás con la biblioteca Transformers de Hugging Face, centrándote en los modelos GPT para la generación de texto.

Ejercicio 1: Generación de Texto con GPT-2

Utiliza el modelo GPT-2 preentrenado para generar texto basado en un prompt personalizado. Este ejercicio demuestra cómo configurar un pipeline de generación de texto usando Hugging Face.

Instrucciones:

  1. Instala la biblioteca transformers si aún no lo has hecho.
  2. Utiliza el modelo GPT-2 para generar una continuación del prompt proporcionado.
  3. Experimenta con diferentes valores para max_length y temperature.

Solución de Código:

from transformers import pipeline

# Step 1: Initialize the text generation pipeline
generator = pipeline("text-generation", model="gpt2")

# Step 2: Define a prompt
prompt = "The future of artificial intelligence is"

# Step 3: Generate text
generated_text = generator(prompt, max_length=50, num_return_sequences=1, temperature=0.7)

# Step 4: Print the result
for idx, text in enumerate(generated_text):
    print(f"Generated Text {idx + 1}:\n{text['generated_text']}")

Discusión:

  • max_length controla la longitud del texto generado.
  • temperature ajusta la aleatoriedad en la generación de texto (valores más bajos producen resultados más deterministas).

Ejercicio 2: GPT-2 Ajustado para Generación de Texto Específica por Dominio

En este ejercicio, utilizarás una versión ajustada de GPT-2 (por ejemplo, para generar descripciones de productos o textos médicos). Si no hay un modelo ajustado disponible, utiliza el Model Hub de Hugging Face para explorar versiones preentrenadas.

Instrucciones:

  1. Carga un modelo GPT-2 ajustado desde Hugging Face.
  2. Genera texto relacionado con el dominio elegido (por ejemplo, salud, marketing).

Solución de Código:

from transformers import pipeline

# Load a fine-tuned GPT-2 model from Hugging Face
generator = pipeline("text-generation", model="EleutherAI/gpt-neo-125M")

# Define a domain-specific prompt
prompt = "In modern healthcare, artificial intelligence can be used to"

# Generate domain-specific text
domain_text = generator(prompt, max_length=60, temperature=0.6, num_return_sequences=1)

# Print the result
for idx, text in enumerate(domain_text):
    print(f"Generated Text {idx + 1}:\n{text['generated_text']}")

Discusión:

  • Explora el Model Hub de Hugging Face para encontrar modelos ajustados relevantes para tu dominio.
  • Experimenta con hiperparámetros como top_k y top_p para controlar los métodos de muestreo.

Ejercicio 3: Comparación entre GPT-2 y GPT-4

Este ejercicio implica generar texto usando GPT-2 y compararlo con GPT-4 a través de la API de OpenAI. Observa las diferencias en coherencia, creatividad y relevancia contextual.

Instrucciones:

  1. Utiliza la API de OpenAI para generar texto con GPT-4.
  2. Compara la salida de GPT-4 con la de GPT-2 para el mismo prompt.
  3. Evalúa las diferencias en fluidez, flujo lógico y comprensión contextual.

Solución de Código (GPT-4 vía API de OpenAI):

import openai

# OpenAI API key setup
openai.api_key = "your-api-key-here"

# Define a prompt
prompt = "The future of artificial intelligence is"

# Generate text with GPT-4
response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[
        {"role": "system", "content": "You are an advanced text generation assistant."},
        {"role": "user", "content": prompt}
    ],
    max_tokens=50,
    temperature=0.7
)

# Print GPT-4 response
print(f"GPT-4 Generated Text:\n{response['choices'][0]['message']['content'].strip()}")

Discusión:

  • GPT-4 ofrece mejoras significativas en razonamiento lógico y comprensión contextual en comparación con GPT-2.
  • Evalúa cómo se desempeña GPT-4 en tareas específicas, como mantener la coherencia en textos más extensos.
  • Considera las implicaciones prácticas de las capacidades avanzadas de GPT-4 en términos de casos de uso y costos.

1.4 Ejercicios Prácticos

Esta sección te introduce en el uso de modelos transformer preentrenados para generar texto coherente y contextualmente relevante. Trabajarás con la biblioteca Transformers de Hugging Face, centrándote en los modelos GPT para la generación de texto.

Ejercicio 1: Generación de Texto con GPT-2

Utiliza el modelo GPT-2 preentrenado para generar texto basado en un prompt personalizado. Este ejercicio demuestra cómo configurar un pipeline de generación de texto usando Hugging Face.

Instrucciones:

  1. Instala la biblioteca transformers si aún no lo has hecho.
  2. Utiliza el modelo GPT-2 para generar una continuación del prompt proporcionado.
  3. Experimenta con diferentes valores para max_length y temperature.

Solución de Código:

from transformers import pipeline

# Step 1: Initialize the text generation pipeline
generator = pipeline("text-generation", model="gpt2")

# Step 2: Define a prompt
prompt = "The future of artificial intelligence is"

# Step 3: Generate text
generated_text = generator(prompt, max_length=50, num_return_sequences=1, temperature=0.7)

# Step 4: Print the result
for idx, text in enumerate(generated_text):
    print(f"Generated Text {idx + 1}:\n{text['generated_text']}")

Discusión:

  • max_length controla la longitud del texto generado.
  • temperature ajusta la aleatoriedad en la generación de texto (valores más bajos producen resultados más deterministas).

Ejercicio 2: GPT-2 Ajustado para Generación de Texto Específica por Dominio

En este ejercicio, utilizarás una versión ajustada de GPT-2 (por ejemplo, para generar descripciones de productos o textos médicos). Si no hay un modelo ajustado disponible, utiliza el Model Hub de Hugging Face para explorar versiones preentrenadas.

Instrucciones:

  1. Carga un modelo GPT-2 ajustado desde Hugging Face.
  2. Genera texto relacionado con el dominio elegido (por ejemplo, salud, marketing).

Solución de Código:

from transformers import pipeline

# Load a fine-tuned GPT-2 model from Hugging Face
generator = pipeline("text-generation", model="EleutherAI/gpt-neo-125M")

# Define a domain-specific prompt
prompt = "In modern healthcare, artificial intelligence can be used to"

# Generate domain-specific text
domain_text = generator(prompt, max_length=60, temperature=0.6, num_return_sequences=1)

# Print the result
for idx, text in enumerate(domain_text):
    print(f"Generated Text {idx + 1}:\n{text['generated_text']}")

Discusión:

  • Explora el Model Hub de Hugging Face para encontrar modelos ajustados relevantes para tu dominio.
  • Experimenta con hiperparámetros como top_k y top_p para controlar los métodos de muestreo.

Ejercicio 3: Comparación entre GPT-2 y GPT-4

Este ejercicio implica generar texto usando GPT-2 y compararlo con GPT-4 a través de la API de OpenAI. Observa las diferencias en coherencia, creatividad y relevancia contextual.

Instrucciones:

  1. Utiliza la API de OpenAI para generar texto con GPT-4.
  2. Compara la salida de GPT-4 con la de GPT-2 para el mismo prompt.
  3. Evalúa las diferencias en fluidez, flujo lógico y comprensión contextual.

Solución de Código (GPT-4 vía API de OpenAI):

import openai

# OpenAI API key setup
openai.api_key = "your-api-key-here"

# Define a prompt
prompt = "The future of artificial intelligence is"

# Generate text with GPT-4
response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[
        {"role": "system", "content": "You are an advanced text generation assistant."},
        {"role": "user", "content": prompt}
    ],
    max_tokens=50,
    temperature=0.7
)

# Print GPT-4 response
print(f"GPT-4 Generated Text:\n{response['choices'][0]['message']['content'].strip()}")

Discusión:

  • GPT-4 ofrece mejoras significativas en razonamiento lógico y comprensión contextual en comparación con GPT-2.
  • Evalúa cómo se desempeña GPT-4 en tareas específicas, como mantener la coherencia en textos más extensos.
  • Considera las implicaciones prácticas de las capacidades avanzadas de GPT-4 en términos de casos de uso y costos.

1.4 Ejercicios Prácticos

Esta sección te introduce en el uso de modelos transformer preentrenados para generar texto coherente y contextualmente relevante. Trabajarás con la biblioteca Transformers de Hugging Face, centrándote en los modelos GPT para la generación de texto.

Ejercicio 1: Generación de Texto con GPT-2

Utiliza el modelo GPT-2 preentrenado para generar texto basado en un prompt personalizado. Este ejercicio demuestra cómo configurar un pipeline de generación de texto usando Hugging Face.

Instrucciones:

  1. Instala la biblioteca transformers si aún no lo has hecho.
  2. Utiliza el modelo GPT-2 para generar una continuación del prompt proporcionado.
  3. Experimenta con diferentes valores para max_length y temperature.

Solución de Código:

from transformers import pipeline

# Step 1: Initialize the text generation pipeline
generator = pipeline("text-generation", model="gpt2")

# Step 2: Define a prompt
prompt = "The future of artificial intelligence is"

# Step 3: Generate text
generated_text = generator(prompt, max_length=50, num_return_sequences=1, temperature=0.7)

# Step 4: Print the result
for idx, text in enumerate(generated_text):
    print(f"Generated Text {idx + 1}:\n{text['generated_text']}")

Discusión:

  • max_length controla la longitud del texto generado.
  • temperature ajusta la aleatoriedad en la generación de texto (valores más bajos producen resultados más deterministas).

Ejercicio 2: GPT-2 Ajustado para Generación de Texto Específica por Dominio

En este ejercicio, utilizarás una versión ajustada de GPT-2 (por ejemplo, para generar descripciones de productos o textos médicos). Si no hay un modelo ajustado disponible, utiliza el Model Hub de Hugging Face para explorar versiones preentrenadas.

Instrucciones:

  1. Carga un modelo GPT-2 ajustado desde Hugging Face.
  2. Genera texto relacionado con el dominio elegido (por ejemplo, salud, marketing).

Solución de Código:

from transformers import pipeline

# Load a fine-tuned GPT-2 model from Hugging Face
generator = pipeline("text-generation", model="EleutherAI/gpt-neo-125M")

# Define a domain-specific prompt
prompt = "In modern healthcare, artificial intelligence can be used to"

# Generate domain-specific text
domain_text = generator(prompt, max_length=60, temperature=0.6, num_return_sequences=1)

# Print the result
for idx, text in enumerate(domain_text):
    print(f"Generated Text {idx + 1}:\n{text['generated_text']}")

Discusión:

  • Explora el Model Hub de Hugging Face para encontrar modelos ajustados relevantes para tu dominio.
  • Experimenta con hiperparámetros como top_k y top_p para controlar los métodos de muestreo.

Ejercicio 3: Comparación entre GPT-2 y GPT-4

Este ejercicio implica generar texto usando GPT-2 y compararlo con GPT-4 a través de la API de OpenAI. Observa las diferencias en coherencia, creatividad y relevancia contextual.

Instrucciones:

  1. Utiliza la API de OpenAI para generar texto con GPT-4.
  2. Compara la salida de GPT-4 con la de GPT-2 para el mismo prompt.
  3. Evalúa las diferencias en fluidez, flujo lógico y comprensión contextual.

Solución de Código (GPT-4 vía API de OpenAI):

import openai

# OpenAI API key setup
openai.api_key = "your-api-key-here"

# Define a prompt
prompt = "The future of artificial intelligence is"

# Generate text with GPT-4
response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[
        {"role": "system", "content": "You are an advanced text generation assistant."},
        {"role": "user", "content": prompt}
    ],
    max_tokens=50,
    temperature=0.7
)

# Print GPT-4 response
print(f"GPT-4 Generated Text:\n{response['choices'][0]['message']['content'].strip()}")

Discusión:

  • GPT-4 ofrece mejoras significativas en razonamiento lógico y comprensión contextual en comparación con GPT-2.
  • Evalúa cómo se desempeña GPT-4 en tareas específicas, como mantener la coherencia en textos más extensos.
  • Considera las implicaciones prácticas de las capacidades avanzadas de GPT-4 en términos de casos de uso y costos.

1.4 Ejercicios Prácticos

Esta sección te introduce en el uso de modelos transformer preentrenados para generar texto coherente y contextualmente relevante. Trabajarás con la biblioteca Transformers de Hugging Face, centrándote en los modelos GPT para la generación de texto.

Ejercicio 1: Generación de Texto con GPT-2

Utiliza el modelo GPT-2 preentrenado para generar texto basado en un prompt personalizado. Este ejercicio demuestra cómo configurar un pipeline de generación de texto usando Hugging Face.

Instrucciones:

  1. Instala la biblioteca transformers si aún no lo has hecho.
  2. Utiliza el modelo GPT-2 para generar una continuación del prompt proporcionado.
  3. Experimenta con diferentes valores para max_length y temperature.

Solución de Código:

from transformers import pipeline

# Step 1: Initialize the text generation pipeline
generator = pipeline("text-generation", model="gpt2")

# Step 2: Define a prompt
prompt = "The future of artificial intelligence is"

# Step 3: Generate text
generated_text = generator(prompt, max_length=50, num_return_sequences=1, temperature=0.7)

# Step 4: Print the result
for idx, text in enumerate(generated_text):
    print(f"Generated Text {idx + 1}:\n{text['generated_text']}")

Discusión:

  • max_length controla la longitud del texto generado.
  • temperature ajusta la aleatoriedad en la generación de texto (valores más bajos producen resultados más deterministas).

Ejercicio 2: GPT-2 Ajustado para Generación de Texto Específica por Dominio

En este ejercicio, utilizarás una versión ajustada de GPT-2 (por ejemplo, para generar descripciones de productos o textos médicos). Si no hay un modelo ajustado disponible, utiliza el Model Hub de Hugging Face para explorar versiones preentrenadas.

Instrucciones:

  1. Carga un modelo GPT-2 ajustado desde Hugging Face.
  2. Genera texto relacionado con el dominio elegido (por ejemplo, salud, marketing).

Solución de Código:

from transformers import pipeline

# Load a fine-tuned GPT-2 model from Hugging Face
generator = pipeline("text-generation", model="EleutherAI/gpt-neo-125M")

# Define a domain-specific prompt
prompt = "In modern healthcare, artificial intelligence can be used to"

# Generate domain-specific text
domain_text = generator(prompt, max_length=60, temperature=0.6, num_return_sequences=1)

# Print the result
for idx, text in enumerate(domain_text):
    print(f"Generated Text {idx + 1}:\n{text['generated_text']}")

Discusión:

  • Explora el Model Hub de Hugging Face para encontrar modelos ajustados relevantes para tu dominio.
  • Experimenta con hiperparámetros como top_k y top_p para controlar los métodos de muestreo.

Ejercicio 3: Comparación entre GPT-2 y GPT-4

Este ejercicio implica generar texto usando GPT-2 y compararlo con GPT-4 a través de la API de OpenAI. Observa las diferencias en coherencia, creatividad y relevancia contextual.

Instrucciones:

  1. Utiliza la API de OpenAI para generar texto con GPT-4.
  2. Compara la salida de GPT-4 con la de GPT-2 para el mismo prompt.
  3. Evalúa las diferencias en fluidez, flujo lógico y comprensión contextual.

Solución de Código (GPT-4 vía API de OpenAI):

import openai

# OpenAI API key setup
openai.api_key = "your-api-key-here"

# Define a prompt
prompt = "The future of artificial intelligence is"

# Generate text with GPT-4
response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[
        {"role": "system", "content": "You are an advanced text generation assistant."},
        {"role": "user", "content": prompt}
    ],
    max_tokens=50,
    temperature=0.7
)

# Print GPT-4 response
print(f"GPT-4 Generated Text:\n{response['choices'][0]['message']['content'].strip()}")

Discusión:

  • GPT-4 ofrece mejoras significativas en razonamiento lógico y comprensión contextual en comparación con GPT-2.
  • Evalúa cómo se desempeña GPT-4 en tareas específicas, como mantener la coherencia en textos más extensos.
  • Considera las implicaciones prácticas de las capacidades avanzadas de GPT-4 en términos de casos de uso y costos.