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:
- Instala la biblioteca
transformers
si aún no lo has hecho. - Utiliza el modelo GPT-2 para generar una continuación del prompt proporcionado.
- Experimenta con diferentes valores para
max_length
ytemperature
.
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:
- Carga un modelo GPT-2 ajustado desde Hugging Face.
- 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
ytop_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:
- Utiliza la API de OpenAI para generar texto con GPT-4.
- Compara la salida de GPT-4 con la de GPT-2 para el mismo prompt.
- 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:
- Instala la biblioteca
transformers
si aún no lo has hecho. - Utiliza el modelo GPT-2 para generar una continuación del prompt proporcionado.
- Experimenta con diferentes valores para
max_length
ytemperature
.
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:
- Carga un modelo GPT-2 ajustado desde Hugging Face.
- 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
ytop_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:
- Utiliza la API de OpenAI para generar texto con GPT-4.
- Compara la salida de GPT-4 con la de GPT-2 para el mismo prompt.
- 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:
- Instala la biblioteca
transformers
si aún no lo has hecho. - Utiliza el modelo GPT-2 para generar una continuación del prompt proporcionado.
- Experimenta con diferentes valores para
max_length
ytemperature
.
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:
- Carga un modelo GPT-2 ajustado desde Hugging Face.
- 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
ytop_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:
- Utiliza la API de OpenAI para generar texto con GPT-4.
- Compara la salida de GPT-4 con la de GPT-2 para el mismo prompt.
- 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:
- Instala la biblioteca
transformers
si aún no lo has hecho. - Utiliza el modelo GPT-2 para generar una continuación del prompt proporcionado.
- Experimenta con diferentes valores para
max_length
ytemperature
.
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:
- Carga un modelo GPT-2 ajustado desde Hugging Face.
- 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
ytop_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:
- Utiliza la API de OpenAI para generar texto con GPT-4.
- Compara la salida de GPT-4 con la de GPT-2 para el mismo prompt.
- 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.