IA Generativa y LLMs: Arquitectura y preparación de datos
Entender qué es la IA generativa, qué tipos de contenido produce y por qué está transformando sectores enteros. Al terminar, el lector sabrá:
- definir la IA generativa y explicar cómo aprende de los datos;
- distinguir los modelos de texto, imagen y audio, con un ejemplo de cada uno;
- describir aplicaciones actuales por sector y las que se esperan en el futuro.
Un caso de partida
Un equipo de tecnología de un hospital quiere mejorar la experiencia del paciente: que cada persona reciba un resumen comprensible de sus análisis clínicos, en lugar de una tabla de valores técnicos. ¿Puede hacerlo una máquina? Es exactamente el tipo de tarea en la que destaca la IA generativa.
Qué es la IA generativa
La IA generativa es el conjunto de modelos de aprendizaje profundo capaces de generar texto, imágenes y otros contenidos de alta calidad a partir de los datos con que se entrenaron. Funciona en tres pasos:
- Se entrena con grandes cantidades de datos existentes.
- Aprende los patrones y estructuras de esos datos: cómo se combinan las palabras, cómo se distribuyen los colores, cómo suena una voz.
- Usa ese conocimiento para producir datos nuevos y pertinentes, que no copian ningún ejemplo concreto.
Una analogía útil: un artista que estudia cientos de cuadros, entiende sus patrones y después pinta una obra original inspirada en lo aprendido.
Modelos de texto
Comprenden el contexto y las relaciones entre palabras y frases, y generan texto coherente con él. Si se empieza a escribir un relato, predicen y redactan la continuación; si se introduce una frase en español, pueden traducirla a otro idioma conservando el tono. El ejemplo de referencia es GPT (generative pre-trained transformer, transformador generativo preentrenado).
Modelos de imagen
Trabajan de dos maneras:
- De texto a imagen: a partir de una descripción («un robot tocando el piano») generan la imagen. El ejemplo clásico es DALL-E.
- De imagen a imagen: parten de una imagen semilla o de una entrada aleatoria. Con una foto del cielo pueden producir varias versiones artísticas; también convierten bocetos en imágenes realistas. Aquí se usan las redes generativas adversariales (GAN, generative adversarial networks) y los modelos de difusión.
Esta misma capacidad permite crear deepfakes (falsificaciones hiperrealistas), por ejemplo «devolver a la vida» a un actor en una película: un uso que plantea cuestiones éticas evidentes.
Modelos de audio
Generan voz con sonido natural y realizan síntesis de texto a voz: por ejemplo, una conversación grabada que suena real. El ejemplo de referencia es WaveNet. La IA generativa también produce objetos tridimensionales y música.
Aplicaciones transversales
| Aplicación | Qué aporta |
|---|---|
| Creación de contenido | Artículos, entradas de blog, material de marketing; imágenes y vídeos para entretenimiento y publicidad |
| Resumen de documentos | Condensar textos largos para captar lo esencial rápidamente |
| Traducción | Traducciones más naturales, que mejoran la accesibilidad del contenido |
| Asistentes virtuales | Chatbots que conversan de forma natural y atienden mejor a los clientes |
| Análisis de datos | Descubrir patrones en grandes volúmenes de texto y proponer soluciones |
Por sectores, hoy y mañana
Según Bloomberg Intelligence, la IA generativa podría convertirse en un mercado de 1,3 billones de dólares (1,3 × 1012) hacia 2032. Volviendo al caso del hospital: un modelo de texto puede convertir los resultados en un resumen claro. Con una biblioteca como Hugging Face Transformers bastan unas líneas:
En un entorno sanitario real, ese resumen tendría que revisarlo un profesional antes de llegar al paciente: los modelos pueden equivocarse, como se verá en el módulo dedicado a las alucinaciones.
1. ¿Qué define a la IA generativa?
Aprende patrones y estructuras de los datos y produce contenido nuevo y pertinente, no copias.
2. ¿Qué pareja tipo de contenido–modelo es correcta?
GPT genera texto; DALL-E, imágenes a partir de texto; WaveNet, audio y voz.
3. Convertir un boceto en una imagen realista es un ejemplo de…
La entrada es una imagen (el boceto), no un texto: es traducción de imagen a imagen.
Indica qué tipo de modelo generativo (texto, imagen o audio) resolvería cada necesidad: (a) un servicio de atención telefónica que lee en voz alta el estado de un pedido; (b) generar ilustraciones para un manual a partir de descripciones; (c) traducir los partes de mantenimiento del francés al español; (d) restaurar fotografías antiguas deterioradas.
Solución
(a) Audio, síntesis de texto a voz (tipo WaveNet). (b) Imagen de texto a imagen (tipo DALL-E). (c) Texto (tipo GPT u otro LLM, modelo de lenguaje grande). (d) Imagen de imagen a imagen, por ejemplo con un modelo de difusión, que aprende a quitar ruido y reconstruir.
El hospital quiere automatizar los resúmenes de análisis para los pacientes. Enumera dos riesgos y una medida para cada uno.
Solución
(1) Errores o datos inventados en el resumen: un profesional revisa cada resumen antes de enviarlo, y el modelo trabaja solo con los valores del informe. (2) Privacidad de los datos clínicos: usar un modelo desplegado en infraestructura propia o con garantías contractuales, y anonimizar lo que no sea necesario. Un tercer riesgo razonable: un lenguaje que alarme sin necesidad; se mitiga con instrucciones de tono y ejemplos revisados.
Conocer las cinco arquitecturas más usadas en IA generativa y en qué se diferencian sus formas de entrenar. Al terminar, el lector sabrá:
- describir las redes recurrentes, los transformers, las GAN, los VAE y los modelos de difusión;
- comparar sus enfoques de entrenamiento y sus usos típicos;
- explicar qué es el ajuste fino y qué relación tienen estos modelos con el aprendizaje por refuerzo.
El problema de partida
Una plataforma en línea quiere generar vídeos personalizados a partir de una descripción escrita por cada usuario. ¿Qué arquitectura usar? Depende de lo que haya que generar y de cómo se entrene: no existe un modelo universal. Las cinco familias principales son las redes neuronales recurrentes (RNN), los transformers, las redes generativas adversariales (GAN), los autocodificadores variacionales (VAE) y los modelos de difusión.
Redes recurrentes (RNN)
Las RNN (recurrent neural networks) procesan datos secuenciales o series temporales: datos con un orden natural o con dependencias en el tiempo. Se distinguen de las redes convencionales por un bucle en su estructura que les permite recordar entradas anteriores: lo que se leyó antes influye en cómo se procesa la entrada actual.
Se usan en procesamiento del lenguaje natural (PLN), traducción, reconocimiento de voz y descripción de imágenes. Su punto débil es que procesan palabra a palabra, de forma secuencial, y les cuesta recordar información muy lejana.
Ajuste fino
El ajuste fino (fine-tuning) consiste en adaptar un modelo ya entrenado para mejorar su rendimiento en una tarea o un conjunto de datos concreto. Su alcance cambia según la arquitectura: en una RNN puede requerir ajustar los pesos e incluso la estructura de la red; en un transformer, el modelo preentrenado se mantiene casi intacto y normalmente solo se entrenan las capas finales de salida.
Transformers
Los transformers son modelos de aprendizaje profundo capaces de traducir texto y voz casi en tiempo real. La información fluye desde la capa de entrada, a través de capas ocultas, hasta la de salida. Su pieza clave es el mecanismo de autoatención: para cada palabra, el modelo calcula cuánto debe fijarse en cada una de las demás.
Cada palabra se representa con tres vectores: consulta (Q), clave (K) y valor (V). El producto QK⊤ mide su afinidad; la función softmax lo convierte en pesos que suman 1; y la salida es la media ponderada de los valores. Como todas las palabras se procesan a la vez, el entrenamiento se puede paralelizar, a diferencia de las RNN.
GPT (generative pre-trained transformer) es un transformer entrenado para predecir y generar secuencias de texto. Aunque no modela de forma explícita la distribución de los datos como otros modelos generativos, produce texto que reproduce esa distribución y se adapta bien con ajuste fino: por eso se considera generativo.
Redes adversariales (GAN)
Una GAN combina dos submodelos: un generador, que crea muestras falsas, y un discriminador, que las compara con muestras reales y asigna a cada una la probabilidad de ser auténtica. Es una competición amistosa: el generador intenta engañar y el discriminador, no dejarse engañar; ambos mejoran. Son especialmente útiles para generar imágenes y vídeo.
Autocodificadores (VAE)
Un VAE (variational autoencoder) sigue un esquema codificador-decodificador. El codificador comprime la entrada en un espacio abstracto simplificado, el espacio latente, que captura sus características esenciales; el decodificador reconstruye los datos a partir de él. La diferencia con un autocodificador normal es que representa cada dato como una distribución de probabilidad: por eso puede generar un abanico de salidas para una misma entrada, reflejando la incertidumbre de los datos reales. Se usan en arte y diseño creativo.
Modelos de difusión
Un modelo de difusión es un modelo generativo probabilístico que aprende a eliminar ruido: durante el entrenamiento, las imágenes se van degradando con ruido hasta quedar irreconocibles, y el modelo aprende a recorrer el camino inverso. Para generar, parte de ruido puro y lo va limpiando paso a paso, guiado por el prompt. También restaura fotos antiguas o de baja calidad.
En la fórmula, x0 es la imagen original, ε es ruido aleatorio y ᾱt controla cuánto queda de la imagen en el paso t: cerca de 1 al principio, cerca de 0 al final. El modelo aprende a predecir ε para poder restarlo.
Comparativa
| Arquitectura | Enfoque de entrenamiento | Usos típicos |
|---|---|---|
| RNN | Diseño con bucle sobre secuencias | Lenguaje, voz, series temporales |
| Transformer | Autoatención, procesamiento en paralelo | Texto (GPT, BERT), traducción |
| GAN | Competición generador–discriminador | Imagen y vídeo |
| VAE | Características en un espacio latente probabilístico | Arte y diseño, variaciones |
| Difusión | Propiedades estadísticas: aprender a quitar ruido | Imágenes de alta calidad, restauración |
Para la plataforma de vídeo del caso inicial, lo razonable sería un modelo de difusión (o una GAN) guiado por un transformer que interprete el texto del usuario.
Aprendizaje por refuerzo
El aprendizaje por refuerzo clásico estudia cómo un agente (un sistema de IA o un robot) interactúa con su entorno para maximizar una recompensa. Los modelos generativos usan técnicas de refuerzo durante el entrenamiento para ajustar y optimizar su rendimiento en tareas concretas; el caso más conocido, el aprendizaje por refuerzo a partir de retroalimentación humana, se ve en el módulo siguiente.
Error común
Pensar que «generativo» equivale a «transformer». Los transformers dominan el texto, pero las imágenes de alta calidad suelen venir de modelos de difusión, y las GAN y los VAE siguen siendo útiles en otros contextos. Elegir arquitectura depende del tipo de dato y de la tarea.
1. ¿Qué permite a una RNN recordar entradas anteriores?
El estado oculto viaja de paso en paso y lleva la información de lo ya procesado.
2. ¿Por qué los transformers se entrenan de forma más eficiente que las RNN?
Las RNN avanzan palabra a palabra; el transformer calcula las relaciones de todas las palabras simultáneamente.
3. ¿Qué modelo aprende a eliminar ruido para generar imágenes?
Se entrena degradando imágenes con ruido y aprendiendo el camino inverso.
Propón la arquitectura más adecuada y justifica: (a) predecir la próxima lectura de un sensor meteorológico a partir de las últimas 24 horas; (b) generar retratos realistas de personas que no existen; (c) producir muchas variaciones de un logotipo; (d) un asistente que responde preguntas en lenguaje natural.
Solución
(a) RNN (o un transformer para series temporales): datos secuenciales con dependencias temporales. (b) GAN o difusión: imágenes realistas de alta calidad. (c) VAE: muestrear puntos cercanos del espacio latente da variaciones con características parecidas. (d) Transformer tipo GPT: comprensión del contexto y generación de texto.
Con dos palabras cuyas puntuaciones de afinidad (ya divididas por √dk) para la primera palabra son [2, 0], calcula los pesos de atención con softmax.
Solución
La primera palabra dedica el 88 % de su atención a sí misma y el 12 % a la segunda. Si las puntuaciones fueran iguales, los pesos serían 0,5 y 0,5.
Comprender cómo ha evolucionado la IA generativa aplicada al procesamiento del lenguaje natural (PLN) y por qué los modelos de lenguaje grandes (LLM, large language models) son su pieza central. Al terminar, el lector sabrá:
- describir la evolución desde los sistemas de reglas hasta los transformers;
- explicar qué es un LLM y las tres familias de arquitectura (GPT, BERT, BART y T5);
- distinguir GPT de ChatGPT y aplicar el esquema de preentrenamiento y ajuste fino.
Un asistente bancario
Un banco encarga a su ingeniero de IA un asistente virtual que converse con los clientes sobre sus cuentas y opciones de inversión. Para que la conversación sea útil, el sistema tiene que comprender el lenguaje humano y responder de forma indistinguible de una persona. Las arquitecturas de IA generativa aportan tres capacidades clave:
- Conciencia del contexto: entender una frase según lo dicho antes.
- Interacciones coherentes: mantener el hilo de la conversación.
- Conversaciones con sentido, gracias al análisis predictivo y al modelado avanzado. Además, captan sentimientos e intenciones, no solo palabras.
Evolución en el PLN
- Sistemas de reglas: siguen reglas lingüísticas predefinidas, como la gramática. Precisos pero rígidos.
- Aprendizaje automático: métodos estadísticos que aprenden de grandes corpus. Más adaptables, pero limitados ante los matices.
- Aprendizaje profundo: redes neuronales artificiales entrenadas con grandes conjuntos de datos, con muchas unidades que colaboran para interpretar matices.
- Transformers: diseñados para datos secuenciales, captan el contexto y las dependencias mejor que sus predecesores.
Avances por tarea
| Tarea | Qué mejora |
|---|---|
| Traducción automática | Conversiones más precisas y conscientes del contexto |
| Chatbots y asistentes | Conversación natural, con empatía y personalización |
| Análisis de sentimiento | Capta expresiones sutiles del lenguaje |
| Resumen de textos | Reconoce el significado central y su importancia |
Qué es un LLM
Un LLM es un modelo fundacional que usa IA y aprendizaje profundo con enormes conjuntos de datos (sitios web, libros…) para generar texto, traducir y crear contenido. Se llaman «grandes» por dos razones: el tamaño de los datos de entrenamiento, que puede llegar a petabytes, y el número de parámetros, que alcanza miles de millones. Los parámetros son las variables que definen el comportamiento del modelo y se ajustan durante el entrenamiento; por ejemplo, el peso que se asigna a palabras como «feliz» o «triste» al aprender sobre emociones.
Su habilidad básica es predecir la siguiente palabra (más exactamente, el siguiente token) de una secuencia:
Gracias a ese entrenamiento masivo, comprenden las estructuras y contextos del lenguaje, captan sus matices y pueden producir contenido creativo con muy poco entrenamiento específico.
Tres familias de LLM
- GPT (generative pre-trained transformer): actúa como decodificador; destaca generando texto coherente, por ejemplo en chatbots.
- BERT (bidirectional encoder representations from transformers, representaciones bidireccionales de codificador): arquitectura solo codificador; excelente para entender el contexto de una palabra en la frase, útil en análisis de sentimiento y preguntas y respuestas.
- BART (bidirectional and auto-regressive transformers) y T5 (text-to-text transfer transformer): arquitectura codificador-decodificador; codifican para comprender y decodifican para generar, lo que las hace versátiles.
GPT frente a ChatGPT
| Aspecto | GPT | ChatGPT |
|---|---|---|
| Objetivo | Tareas diversas de generación de texto | Generar conversaciones |
| Entrenamiento y ajuste | Principalmente aprendizaje supervisado | Combinación de aprendizaje supervisado y por refuerzo |
| Retroalimentación humana | No la incorpora | Usa RLHF en el ajuste fino |
El RLHF (reinforcement learning from human feedback, aprendizaje por refuerzo a partir de retroalimentación humana) usa valoraciones de personas sobre las respuestas para entrenar un modelo de recompensa, que después guía el ajuste del LLM hacia respuestas más útiles. La mayoría de los LLM se basan en la arquitectura transformer.
Versatilidad de los LLM
Un LLM se puede preentrenar con fines generales y después ajustar con un conjunto de datos mucho más pequeño. Por ejemplo, un modelo preentrenado en clasificación genérica de texto se ajusta para una tienda, de modo que clasifique productos en categorías como electrónica o ropa a partir de su descripción.
Dos advertencias: los LLM pueden generar información que suena correcta pero no lo es, y pueden reproducir sesgos; hay que valorar el impacto social de lo que generan.
Esta estimación explica por qué los modelos grandes necesitan hardware especializado: solo cargar los pesos de un modelo de 7000 millones de parámetros en precisión de 16 bits ocupa unos 14 GB de memoria.
1. ¿Por qué se llaman «grandes» los LLM?
Las dos magnitudes, datos y parámetros, explican el adjetivo.
2. Para un análisis de sentimiento que exige comprender cada palabra en su contexto, ¿qué familia encaja mejor?
BERT lee el contexto en ambas direcciones, ideal para comprender más que para generar.
3. ¿Qué distingue el entrenamiento de ChatGPT del de GPT?
Combina aprendizaje supervisado y por refuerzo con un modelo de recompensa creado a partir de valoraciones humanas.
Para el asistente bancario, elige familia de LLM para: (a) clasificar el sentimiento de las reseñas de clientes; (b) redactar respuestas a sus preguntas; (c) resumir extractos de contratos largos.
Solución
(a) Solo codificador (BERT): comprensión y clasificación. (b) Solo decodificador (GPT): generación conversacional. (c) Codificador-decodificador (BART o T5): leer un texto completo y generar otro distinto, el resumen. En la práctica, un LLM decodificador grande también resume bien, pero el codificador-decodificador es la opción clásica.
Estima la memoria necesaria solo para los pesos de un modelo de 13 000 millones de parámetros en precisión de 16 bits (2 bytes por parámetro) y en 8 bits (1 byte).
Solución
A eso hay que sumar la memoria para las activaciones y el contexto. Reducir la precisión (cuantizar) es una forma habitual de hacer caber un modelo en una GPU (unidad de procesamiento gráfico) más pequeña.
Entender qué son las alucinaciones de la IA, por qué se producen en los modelos de lenguaje grandes (LLM) y cómo reducir sus efectos. Al terminar, el lector sabrá:
- definir una alucinación y reconocer un ejemplo;
- enumerar sus causas y los problemas que provoca;
- aplicar medidas de mitigación y buenas prácticas de uso.
Qué es una alucinación
Un LLM puede redactar con tono de autoridad sobre cualquier tema, pero a veces genera información que suena correcta y no lo es, o contenido sesgado. Se habla de alucinación cuando el modelo presenta como exacta una salida que las personas perciben como irreal, inexacta, irrelevante o sin sentido; el término viene de la analogía con las alucinaciones humanas.
Un caso conocido: ChatGPT afirmó falsamente que un alcalde australiano había sido condenado y encarcelado por soborno, cuando en realidad él había sido quien denunció el caso a las autoridades, y el alcalde llegó a preparar una demanda por difamación. Este tipo de incidentes es poco frecuente, pero muestra que las consecuencias pueden ser serias.
Causas y consecuencias
Las alucinaciones están muy asociadas a los LLM. Influyen los sesgos de los datos, un entrenamiento limitado, la complejidad del modelo y la falta de supervisión humana. Además, una salida puede no basarse en ningún patrón aprendido de los datos. Las consecuencias van desde información inexacta o sesgada hasta errores graves: un resumen legal equivocado puede acabar en un litigio, y una entrada errónea es peligrosa en aplicaciones sensibles como la medicina o los vehículos autónomos.
Por qué son inevitables
Los LLM no comprenden el significado de las palabras como las personas: aprenden patrones estadísticos y predicen la palabra siguiente más probable. Una frase puede ser muy probable y a la vez falsa. Por eso las alucinaciones no se eliminan del todo, y lo más frustrante es que a menudo contienen errores sutiles, difíciles de detectar.
Cómo mitigarlas
| En el modelo | En el uso |
|---|---|
| Eliminar sesgos y entrenar extensamente con datos de calidad | Estar alerta: el modelo predice, no comprende |
| Evitar la manipulación de las entradas | Supervisión humana para verificar hechos y pruebas continuas |
| Evaluar y mejorar el modelo de forma continua | Dar más contexto en el prompt |
| Ajustar el modelo con datos del dominio | Pedir que admita cuando no sabe algo |
Dar contexto concreto y permitir al modelo responder «no lo sé» es de las medidas más eficaces y baratas:
Con este prompt, el modelo debería responder que no: el producto está usado. Sin el contexto, podría inventar una política plausible.
Error común
Fiarse de una respuesta porque «suena segura». El tono de autoridad no indica exactitud: un LLM redacta con la misma fluidez un dato correcto que uno inventado. En cualquier uso con consecuencias (legal, médico, financiero), los hechos se verifican contra una fuente.
1. ¿Qué es una alucinación de la IA?
Lo característico es la falsa apariencia de exactitud.
2. ¿Por qué no se pueden eliminar por completo?
Una continuación probable no tiene por qué ser verdadera.
3. ¿Qué medida reduce las alucinaciones sin reentrenar el modelo?
El contexto ancla la respuesta en hechos; la salida explícita evita que invente para no quedarse sin respuesta.
Ordena de mayor a menor riesgo por alucinación: (a) un LLM que sugiere títulos para entradas de blog; (b) un LLM que resume informes de laboratorio para pacientes; (c) un LLM que redacta borradores de correos que una persona revisa. Justifica.
Solución
(b) > (c) > (a). En (b) un dato inventado afecta a la salud y llega a una persona que no puede detectarlo. En (c) hay supervisión humana antes del envío. En (a) un error tiene poco impacto y es fácil de descartar.
Una asesoría quiere un asistente que responda preguntas sobre su normativa interna de 300 páginas. Propón tres medidas contra las alucinaciones.
Solución
(1) Recuperar los fragmentos pertinentes de la normativa e incluirlos en el prompt como contexto, con la instrucción de responder solo a partir de ellos. (2) Pedir que cite el artículo de origen y que diga «no lo sé» si no lo encuentra. (3) Mantener una evaluación continua con preguntas de respuesta conocida y revisión humana de las consultas delicadas.
Conocer las bibliotecas y herramientas que se usan para construir aplicaciones de IA generativa sobre lenguaje y saber para qué sirve cada una. Al terminar, el lector sabrá:
- comparar PyTorch y TensorFlow como marcos de aprendizaje profundo;
- describir Hugging Face y sus bibliotecas Transformers, Datasets y Tokenizers;
- explicar el papel de LangChain y de Pydantic en una aplicación con LLM (modelos de lenguaje grandes).
Un mapa por capas
Diseñar, desarrollar y desplegar aplicaciones de IA generativa para el procesamiento del lenguaje natural (PLN) exige entender muchas sutilezas del lenguaje. La buena noticia es que existe un ecosistema maduro de herramientas, que se puede ordenar por capas:
PyTorch
Marco de aprendizaje profundo de código abierto, desarrollado originalmente por el laboratorio de IA de Facebook (hoy Meta) y basado en Python. Destaca por su facilidad de uso, su flexibilidad y sus grafos de cómputo dinámicos: la estructura de la red puede cambiar durante la ejecución, lo que resulta intuitivo cuando la arquitectura debe adaptarse a entradas variables. Su sistema Autograd calcula los gradientes automáticamente. Tiene un ecosistema rico (por ejemplo, torchtext para datos de texto) y es especialmente apreciado en investigación y prototipado.
TensorFlow
Marco de código abierto de Google para aprendizaje automático y profundo. Su arquitectura es robusta y escalable, pensada para pasar con fluidez del prototipo a la producción a gran escala:
- TFX (TensorFlow Extended): plataforma para canalizaciones de aprendizaje automático listas para producción, que integra fases como definir, lanzar y supervisar.
- Keras: interfaz de alto nivel integrada como
tf.keras, para prototipar y entrenar redes rápidamente.
Se usa en análisis de sentimiento, clasificación de texto o traducción, y es una opción habitual para PLN a escala empresarial.
Hugging Face
Plataforma con bibliotecas de código abierto, modelos preentrenados y herramientas para agilizar el entrenamiento y el ajuste de modelos generativos. Su Model Hub aloja una enorme colección de modelos, sobre todo de PLN, compatibles con PyTorch y TensorFlow, con información de arquitectura, datos de entrenamiento y ejemplos de uso. Sus bibliotecas más útiles:
| Biblioteca | Para qué sirve |
|---|---|
| Transformers | Modelos preentrenados para generación, resumen, traducción, clasificación y preguntas y respuestas |
| Datasets | Acceder y compartir conjuntos de datos y métricas de evaluación en muchos idiomas |
| Tokenizers | Tokenización rápida y versátil para modelos como BERT y GPT |
Se usa mucho en reconocimiento de entidades nombradas (clasificar nombres en categorías como personas o lugares), análisis de sentimiento y resumen.
LangChain
Marco de código abierto para desarrollar aplicaciones con LLM. Aporta herramientas de ingeniería de prompts (diseñar las entradas que guían el comportamiento del modelo) e integra modelos líderes como GPT, lo que facilita pasar del concepto a la implementación de chatbots o herramientas de análisis.
Pydantic
Biblioteca de Python para analizar y validar datos mediante anotaciones de tipo. Con la clase BaseModel se definen modelos de datos y sus reglas; también gestiona configuración y variables de entorno. En una canalización de PLN garantiza la integridad de los datos antes de procesarlos, algo clave con conjuntos grandes y diversos.
El primer ejemplo pasa la validación; el segundo se descarta por dos motivos: texto vacío y etiqueta fuera del rango 0–1.
Cuál elegir
| Necesidad | Herramienta |
|---|---|
| Investigar y prototipar redes con flexibilidad | PyTorch |
| Desplegar a gran escala con canalizaciones de producción | TensorFlow (TFX, Keras) |
| Usar o ajustar un modelo preentrenado | Hugging Face Transformers |
| Construir una aplicación con prompts, modelos y herramientas | LangChain |
| Asegurar que los datos tienen el formato correcto | Pydantic |
1. ¿Qué caracteriza a los grafos de cómputo dinámicos de PyTorch?
Esa flexibilidad facilita experimentar y adaptar la red a entradas variables.
2. ¿Qué biblioteca de Hugging Face sirve para acceder a conjuntos de datos y métricas de evaluación?
Datasets reúne conjuntos de datos y métricas en muchos idiomas y tareas.
3. Una canalización recibe ejemplos con etiquetas fuera de rango. ¿Qué herramienta los detecta antes de entrenar?
Pydantic comprueba tipos y restricciones declaradas con anotaciones de tipo.
Diseñas un chatbot que responde preguntas sobre manuales técnicos, usando un modelo abierto ajustado con datos propios. Indica qué herramienta usarías en cada capa.
Solución
Datos: Pydantic para validar los pares pregunta-respuesta y Hugging Face Datasets para gestionarlos. Modelo: un modelo del Model Hub cargado con Transformers. Entrenamiento: PyTorch (o TensorFlow) para el ajuste fino. Aplicación: LangChain para las plantillas de prompt y la conexión con la búsqueda en los manuales.
Amplía el modelo de Pydantic del ejemplo para que también exija un idioma de dos letras («es», «en», «fr»…) y rechace textos de más de 500 caracteres.
Solución
El patrón ^[a-z]{2}$ exige exactamente dos letras minúsculas; max_length limita la longitud del texto.
Entender cómo se convierte el texto en unidades que un modelo puede procesar. Al terminar, el lector sabrá:
- describir el proceso de tokenización y el papel del tokenizador;
- comparar la tokenización por palabras, por caracteres y por subpalabras, con sus algoritmos (WordPiece, Unigram, SentencePiece);
- construir un vocabulario, asignar índices y añadir tokens especiales y relleno.
Qué es tokenizar
Para analizar el sentimiento de las opiniones de los usuarios, un modelo tiene que identificar palabras como «bueno» o «malo», y para eso hay que descomponer el texto en partes con significado. Dividir una frase en piezas más pequeñas, los tokens, se llama tokenización; el programa que lo hace es el tokenizador. Por ejemplo, «IBM taught me tokenization» puede dar los tokens IBM, taught, me y tokenization. Cada modelo usa su propio tipo de tokens.
Tres métodos
| Método | Ventaja | Inconveniente |
|---|---|---|
| Por palabras | Conserva el significado | Vocabulario enorme; «unicorn» y «unicorns» son tokens distintos |
| Por caracteres | Vocabulario muy pequeño | Un carácter aporta poca información; secuencias largas y más cómputo |
| Por subpalabras | Combina lo mejor de ambos | Requiere aprender cómo dividir (un algoritmo entrenado) |
Por palabras
Bibliotecas como NLTK (Natural Language Toolkit) y spaCy dividen bien las frases, pero tratan las formas de una misma palabra como tokens distintos, lo que dificulta algunas tareas de PLN (procesamiento del lenguaje natural).
Por subpalabras
Las palabras frecuentes se quedan enteras y las raras se dividen en subpalabras con significado: «unbelievable» puede convertirse en un + believ + able. Tres algoritmos habituales:
- WordPiece (usado por BERT): decide si dividir o fusionar dos símbolos valorando si el cambio compensa. Las subpalabras que continúan una palabra llevan el prefijo
##. - Unigram: parte de una lista amplia de piezas posibles y la va reduciendo de forma iterativa según su frecuencia en el texto.
- SentencePiece: segmenta el texto en partes manejables y asigna un identificador único a cada una; trata el espacio como un carácter más, marcado con
▁al inicio de cada palabra nueva.
En la salida de XLNet, ▁token empieza una palabra nueva (iba precedida de un espacio) e ization no lleva prefijo porque continúa la anterior sin espacio.
Vocabulario e índices
El modelo no trabaja con texto, sino con números. Tras tokenizar se construye un vocabulario que asigna a cada token un índice entero único. En PyTorch, la biblioteca torchtext lo hacía con get_tokenizer y build_vocab_from_iterator; el token especial <unk> representa las palabras que no están en el vocabulario, y get_stoi() devuelve el diccionario de palabra a índice.
A tener en cuenta
torchtext dejó de desarrollarse en 2024 (su última versión es la 0.18) y no es compatible con las versiones recientes de PyTorch. Para proyectos nuevos se usan los tokenizadores de Hugging Face o una implementación propia, que es sencilla: el siguiente código reproduce todo el proceso con Python estándar.
Tokens especiales y relleno
Muchas aplicaciones añaden tokens especiales: <bos> al principio y <eos> al final de cada frase (inicio y fin de secuencia). Como los modelos procesan lotes de frases de igual longitud, se rellenan las más cortas con <pad> hasta la longitud de la más larga.
Error común
Construir el vocabulario con un tokenizador y aplicar después otro distinto, o usar el tokenizador de un modelo con otro modelo. Los índices dejan de corresponder a los tokens con que se entrenó y el modelo recibe «palabras» equivocadas sin dar ningún error. Cada modelo preentrenado se usa con su propio tokenizador.
1. ¿Qué inconveniente tiene la tokenización por palabras?
Las secuencias largas son el problema de la tokenización por caracteres.
2. En la salida de BERT, ¿qué indica ##ization?
WordPiece marca con ## las piezas que continúan una palabra.
3. ¿Para qué sirve el token <pad>?
El inicio es <bos>; las desconocidas, <unk>.
Tokeniza «Tokenizers are unbelievable» por palabras, por caracteres (cuenta solo cuántos tokens) y con una división por subpalabras plausible.
Solución
Por palabras: Tokenizers, are, unbelievable (3 tokens). Por caracteres: 27 tokens si se cuentan los espacios, 25 sin ellos. Por subpalabras, una división plausible: token, ##izers, are, un, ##believ, ##able. La división real depende del vocabulario aprendido por cada tokenizador.
Un lote tiene tres frases de 4, 7 y 5 tokens (ya con <bos> y <eos>). ¿Cuántos <pad> se añaden en total y qué fracción del lote es relleno?
Solución
Casi una cuarta parte del lote es relleno. Por eso a menudo se agrupan en un mismo lote frases de longitud parecida.
Aprender a preparar y cargar datos de texto de forma eficiente para entrenar modelos generativos con PyTorch. Al terminar, el lector sabrá:
- definir qué es un cargador de datos y para qué sirve;
- crear un
Datasetpersonalizado y servirlo por lotes conDataLoader; - escribir una función de agrupación (
collate_fn) que tokenice, convierta en índices y rellene.
El problema de partida
Para entrenar el modelo de una aplicación de traducción automática hay que manejar enormes conjuntos de datos: cargarlos, barajarlos y agruparlos a mano es lento y propenso a errores. Un cargador de datos (data loader) se encarga de preparar y servir esos datos; marcos como PyTorch y TensorFlow tienen clases dedicadas a ello.
Para qué sirve
- Lotes y barajado eficientes, imprescindibles para entrenar redes neuronales.
- Preprocesamiento al vuelo: solo se carga lo que se necesita en cada momento, lo que optimiza la memoria.
- Integración directa con el bucle de entrenamiento de PyTorch.
- Simplifica el aumento de datos y las transformaciones de la entrada.
Dataset y particiones
Un conjunto de datos (dataset) es una colección de muestras con sus etiquetas. Por ejemplo, frases etiquetadas como gramaticalmente correctas o incorrectas:
| Texto | Etiqueta |
|---|---|
| «Fae's a fickle friend, Harry.» | Correcta |
| «He doesn't talk to me.» | Correcta |
| «Harry want to go home.» | Incorrecta |
Se divide en tres partes: entrenamiento (para aprender), validación (para ajustar y validar parámetros) y prueba (para medir el rendimiento en condiciones reales). A veces «entrenamiento» y «validación» se usan como sinónimos, pero cumplen funciones distintas.
Dataset y DataLoader
Un Dataset personalizado hereda de torch.utils.data.Dataset e implementa tres métodos: __init__ (recibe y guarda los datos), __len__ (número de muestras) y __getitem__ (devuelve la muestra de un índice). Se accede a él como a una lista: dataset[0], dataset[1]…
El DataLoader es un iterador (un objeto que se puede recorrer, con los métodos __iter__ y __next__) que carga, baraja y agrupa los datos. batch_size fija cuántas muestras van en cada lote, y shuffle=True las baraja en cada pasada para que el modelo no aprenda patrones basados en el orden.
La función de agrupación
En la mayoría de las aplicaciones de PLN (procesamiento del lenguaje natural), las transformaciones se hacen en la función de agrupación (collate_fn), que recibe la lista de muestras de un lote y la convierte en un tensor: tokenizar, convertir tokens en índices, igualar longitudes y crear el tensor. Así el conjunto de datos original queda intacto.
Como las frases tokenizadas tienen longitudes distintas y un tensor necesita filas iguales, se usa pad_sequence, que rellena cada secuencia hasta la longitud de la más larga del lote; padding_value=0 indica el valor de relleno.
batch_first
Con batch_first=True, la primera dimensión del tensor es el tamaño del lote: forma (lote, longitud). Con el valor por defecto, False, la primera dimensión es la longitud de la secuencia: forma (longitud, lote). Muchos modelos esperan una de las dos; un error aquí no siempre falla, pero hace que el modelo lea los datos traspuestos.
Error común
Hacer las transformaciones dentro del Dataset modificando la lista original, o rellenar todo el conjunto a la longitud de la frase más larga de todo el corpus. Lo primero impide reutilizar los datos con otro tokenizador; lo segundo desperdicia memoria. La función de agrupación rellena solo lo necesario en cada lote.
1. ¿Qué tres métodos implementa un Dataset personalizado de PyTorch?
Guardar los datos, decir cuántos hay y devolver uno por índice.
2. ¿Para qué sirve shuffle=True?
El barajado se aplica antes de formar los lotes, en cada pasada por los datos.
3. Con dos secuencias de 6 y 3 tokens, ¿qué forma devuelve pad_sequence(..., batch_first=True)?
Dos filas (el lote) y seis columnas (la longitud máxima); con batch_first=False sería (6, 2).
Un conjunto de entrenamiento tiene 1000 frases y se usa batch_size=32. ¿Cuántos lotes hay por pasada y cuántas frases tiene el último?
Solución
Si el último lote incompleto molesta (por ejemplo, con normalización por lotes), se puede descartar con drop_last=True.
Modifica el ejemplo para que cada muestra sea una pareja (frase, etiqueta) y la función de agrupación devuelva el tensor de frases rellenas y un tensor con las etiquetas.
Solución
zip(*lote) separa las frases y las etiquetas del lote; las etiquetas no necesitan relleno porque ya tienen la misma longitud, un número por muestra.
Saber preparar datos de calidad, diversos, actualizados y obtenidos de forma ética para entrenar modelos de lenguaje grandes (LLM) sólidos e inclusivos. Al terminar, el lector sabrá:
- aplicar prácticas de calidad: reducción de ruido, coherencia y buen etiquetado;
- lograr una representación diversa y equilibrada de fuentes, idiomas y grupos;
- justificar las actualizaciones periódicas y las consideraciones éticas de la recogida de datos.
Por qué importan los datos
Cuanto más sofisticados son los modelos, más importa disponer de datos bien seleccionados: un LLM aprende lo que ve, con sus errores, lagunas y sesgos. Los cuatro pilares de un buen conjunto de datos son:
Calidad
La calidad abarca la exactitud, la coherencia y la integridad de los datos; los datos pobres introducen ruido que reduce la precisión y la fiabilidad del modelo.
- Reducir el ruido: eliminar datos irrelevantes o repetidos, erratas y elementos como las etiquetas de los foros, para que el modelo se centre en patrones lingüísticos con significado.
- Comprobar la coherencia: evitar información contradictoria u obsoleta, y usar de forma uniforme nombres propios y términos técnicos.
- Cuidar el etiquetado: en datos etiquetados, unas guías claras para los anotadores reducen los errores subjetivos.
Tras anonimizar los correos, los dos primeros documentos resultan idénticos y el segundo se elimina como duplicado: limpieza, anonimización y deduplicación van juntas.
Diversidad
Un conjunto diverso hace el modelo más inclusivo: responde con precisión a aportaciones culturales, demográficas y regionales distintas. Sin diversidad, el modelo refleja puntos de vista estrechos y desarrolla sesgos involuntarios.
- Datos demográficos variados: textos de grupos diversos, varios idiomas y dialectos, normas culturales distintas.
- Fuentes equilibradas: noticias, redes sociales, literatura y documentos técnicos, para no depender de una sola.
- Variedad regional y lingüística: mejora la precisión en contextos multilingües y las tareas de traducción.
Actualización periódica
El lenguaje evoluciona: aparecen términos nuevos («selfi», «criptomoneda») y cambian los patrones de uso y las normas sociales. Un LLM entrenado con datos desfasados puede reforzar sin querer normas o estereotipos obsoletos. Actualizar los datos y reentrenar el modelo periódicamente lo mantiene alineado con el conocimiento y las normas actuales.
Ética en la recogida
- Privacidad: usar datos anonimizados, sobre todo con información sensible o identificable.
- Representación justa: incluir voces marginadas para no reforzar desigualdades.
- Transparencia: revelar las fuentes de datos usadas, lo que genera confianza y ayuda a entender la base de conocimiento del modelo.
Centrarse en la calidad, la diversidad y la ética produce LLM más precisos, inclusivos y responsables, y contribuye a cerrar brechas de equidad y representación en la IA.
Error común
Pensar que «más datos» compensa la mala calidad. Duplicar contenido de baja calidad o de una sola fuente amplifica sus sesgos y sus errores; a menudo, un conjunto más pequeño y limpio produce un modelo mejor que uno enorme sin depurar.
1. ¿Qué práctica corresponde a la reducción de ruido?
Las otras dos opciones corresponden a la diversidad y a la transparencia.
2. ¿Qué riesgo tiene entrenar un LLM con datos de una sola fuente o perspectiva?
La diversidad de fuentes, grupos e idiomas reduce esos sesgos.
3. ¿Por qué hay que actualizar periódicamente los datos?
Vocabulario nuevo y normas cambiantes exigen datos recientes y reentrenamiento.
Un corpus para un asistente de soporte técnico procede en un 85 % de un único foro en inglés de 2018, con hilos repetidos y direcciones de correo de usuarios. Señala cuatro problemas y una acción para cada uno.
Solución
(1) Fuente única: añadir documentación oficial, manuales y tickets. (2) Un solo idioma: incorporar textos en los idiomas de los usuarios. (3) Datos desfasados: añadir contenido reciente sobre productos actuales. (4) Duplicados y datos personales: deduplicar y anonimizar correos y nombres. También conviene eliminar las etiquetas propias del foro.
Un corpus de 2 millones de documentos tiene 1,4 millones de redes sociales, 400 000 de noticias y 200 000 técnicos. Calcula la proporción de cada fuente y cuántos documentos técnicos harían falta para que supongan el 25 % sin quitar nada.
Solución
Harían falta 400 000 documentos técnicos adicionales. Una alternativa más barata es reponderar: muestrear los documentos técnicos con más frecuencia durante el entrenamiento.
Consolidar el vocabulario y las herramientas del curso y comprobar el dominio global con preguntas que integran varios módulos. Al terminar, el lector sabrá:
- definir los términos clave de la IA generativa y de la preparación de datos;
- localizar rápidamente la función adecuada para cada paso de la preparación de texto;
- relacionar arquitecturas, modelos de lenguaje grandes (LLM) y datos en una visión de conjunto.
Glosario
Términos del curso en orden alfabético, más algunos de uso habitual en el sector.
| Término | Definición |
|---|---|
| Ajuste fino | Adaptar un modelo preentrenado para mejorar su rendimiento en una tarea o un conjunto de datos concreto, con respuestas más precisas y pertinentes (fine-tuning). |
| Alucinación | Salida presentada como exacta que es irreal, inexacta, irrelevante o sin sentido. |
| Autoatención | Mecanismo que pondera la relevancia de cada elemento de la secuencia para cada otro elemento. |
| BART | Transformers bidireccionales y autorregresivos: LLM de secuencia a secuencia con arquitectura codificador-decodificador; codifica para comprender el contexto y decodifica para generar texto. |
| BERT | Representaciones codificadoras bidireccionales de transformers: LLM solo codificador, excelente para entender el contexto de una palabra en la frase, clave en el análisis de sentimiento. |
| Cargador de datos | Componente que agrupa en lotes y baraja los datos de forma eficiente para entrenar redes neuronales; permite preprocesar al vuelo y optimizar la memoria (data loader). |
| Conjunto de datos | Colección de muestras con sus etiquetas (data set). |
| DALL-E | Modelo de OpenAI que genera imágenes complejas y creativas a partir de descripciones de texto mediante aprendizaje profundo. |
| Espacio latente | Representación comprimida que captura las características esenciales de los datos. |
| Función de agrupación | collate_fn: define cómo se agrupan las muestras de un lote; tokeniza, convierte en índices, rellena y crea el tensor. |
| GAN | Red generativa adversarial: genera imágenes a partir de vectores aleatorios o imágenes semilla con un generador y un discriminador que compiten. |
| GPT | Transformer generativo preentrenado: modelo basado en transformers, preentrenado con grandes cantidades de texto, que predice y genera secuencias de texto. |
| Hugging Face | Plataforma con una biblioteca de código abierto de modelos preentrenados y herramientas para entrenar y ajustar modelos generativos. |
| IA generativa | Modelos de aprendizaje profundo que generan texto, imágenes y otros contenidos de alta calidad aplicando los patrones y estructuras aprendidos de sus datos. |
| Iterador | Objeto que se puede recorrer en un bucle; tiene los métodos __iter__() y __next__(). |
| LangChain | Marco de código abierto que agiliza el desarrollo de aplicaciones con LLM. |
| LLM | Modelo de lenguaje grande: modelo fundacional que, con aprendizaje profundo y enormes conjuntos de datos, genera y traduce texto y crea contenidos; «grande» por el tamaño de sus datos y su número de parámetros. |
| Modelo de difusión | Modelo generativo probabilístico, habitual para imágenes, que aprende a eliminar el ruido o reconstruir ejemplos distorsionados de sus datos de entrenamiento. |
| Modelo fundacional | Modelo grande preentrenado con datos generales que sirve de base para muchas tareas mediante ajuste fino. |
| NLTK | Natural Language Toolkit: biblioteca de Python de PLN para tokenizar y procesar texto. |
| Parámetro | Variable interna (un peso) que define el comportamiento del modelo y se ajusta durante el entrenamiento. |
| PLN | Procesamiento del lenguaje natural: rama de la IA que estudia la interacción entre personas y ordenadores en lenguaje humano, para comprenderlo y generar texto pertinente. |
| Pydantic | Biblioteca de Python que agiliza el manejo de datos: los analiza y los valida. |
| PyTorch | Marco de aprendizaje automático de código abierto, mantenido por su comunidad, con gran soporte para aprendizaje profundo y cálculo con tensores. |
| Relleno | Añadir valores (<pad> o 0) para igualar la longitud de las secuencias de un lote. |
| RLHF | Aprendizaje por refuerzo a partir de retroalimentación humana, con un modelo de recompensa. |
| RNN | Redes neuronales recurrentes: trabajan con datos secuenciales o series temporales, problemas con un orden natural o temporal. |
| SentencePiece | Algoritmo de tokenización por subpalabras que segmenta el texto en partes manejables y asigna a cada una un identificador único. |
| spaCy | Biblioteca de PLN de código abierto con herramientas de tokenización y de representaciones vectoriales de palabras (embeddings). |
| T5 | Transformer de transferencia texto a texto: LLM que trata toda tarea como texto de entrada y salida; codifica para comprender y decodifica para generar. |
| TensorFlow | Marco de aprendizaje automático de código abierto con herramientas y bibliotecas para desarrollar y desplegar modelos. |
| Tokenización | Dividir el texto en piezas más pequeñas, los tokens, que ayudan al modelo a entenderlo mejor. |
| Tokenizador | Programa que divide el texto en tokens individuales. |
| Tokens especiales | <bos>, <eos>, <pad> y <unk>: inicio, fin, relleno y palabra desconocida. |
| Transformers | Arquitecturas de aprendizaje profundo basadas en mecanismos de atención; procesan secuencias con autoatención y sirven para generar, traducir y clasificar texto y para tareas multimodales. |
| Unigram | Algoritmo de tokenización por subpalabras que parte de una lista amplia de posibilidades y la reduce según su frecuencia en el texto. |
| VAE | Autocodificadores variacionales: el codificador comprime los datos en un espacio abstracto simplificado y el decodificador los recrea a partir de él. |
| Vocabulario | Correspondencia entre cada token y un índice entero único. |
| WaveNet | Modelo generativo de audio, usado por ejemplo en síntesis de voz. |
| WordPiece | Algoritmo de tokenización por subpalabras que valora las ventajas e inconvenientes de dividir o fusionar dos símbolos. |
Trucos: tokenizar
Tokenización por palabras con NLTK y spaCy; las dos tratan «Unicorns» y «unicorn» como tokens distintos y separan «could» de «n't».
Tokenización por subpalabras: BertTokenizer usa WordPiece; XLNetTokenizer, SentencePiece con un modelo Unigram.
Trucos: vocabulario
Con torchtext: tokenizar, construir el vocabulario con <unk> como índice por defecto y <pad> para el relleno, consultarlo con get_stoi() y convertir una frase en índices. dataset es una lista de parejas (etiqueta, texto).
Tokens especiales: <bos> y <eos> marcan el inicio y el fin de cada frase, y <pad> iguala todas a la longitud de la más larga.
Trucos: Dataset y lotes
Un Dataset propio, una función de agrupación que tokeniza, convierte en índices y rellena, y un DataLoader que sirve lotes barajados; iter() y next() extraen un lote suelto.
Tabla de referencia
| Paso | Función o clase | Qué hace |
|---|---|---|
| Tokenizar por palabras | spacy.load(...), nltk.word_tokenize | Divide el texto en palabras y signos |
| Tokenizar por subpalabras | BertTokenizer.from_pretrained, XLNetTokenizer.from_pretrained | WordPiece (BERT); Unigram y SentencePiece (XLNet) |
| Tokenizador básico | get_tokenizer("basic_english") | Minúsculas y separación de signos (torchtext) |
| Construir vocabulario | build_vocab_from_iterator(..., specials=["<unk>"]) | Asigna un índice a cada token (torchtext) |
| Palabra desconocida | vocab.set_default_index(vocab["<unk>"]) | Envía a <unk> lo que no está en el vocabulario |
| Ver el vocabulario | vocab.get_stoi() | Diccionario palabra → índice |
| Tokens a índices | vocab(lista_de_tokens) | Lista de índices |
| Dataset propio | class X(Dataset) con __init__, __len__, __getitem__ | Acceso a muestras por índice |
| Lotes | DataLoader(ds, batch_size, shuffle, collate_fn) | Agrupa, baraja y transforma por lote |
| Igualar longitudes | pad_sequence(seqs, batch_first, padding_value) | Rellena hasta la secuencia más larga |
| Validar datos | class M(BaseModel) de Pydantic | Comprueba tipos y restricciones |
| Usar un modelo | pipeline("tarea") de Transformers | Clasificación, relleno de máscaras, generación de texto (también para resumir con un modelo de chat) |
Recordatorio: torchtext ya no se mantiene (última versión 0.18, de 2024); en proyectos nuevos, el vocabulario se construye con los tokenizadores de Hugging Face o con unas pocas líneas de Python, como en el módulo de tokenización.
Ideas clave del curso
- La IA generativa aprende patrones de los datos y produce texto, imágenes, audio, 3D y música; ya se aplica en salud, finanzas, videojuegos y TI.
- Cinco arquitecturas: RNN (bucle), transformers (autoatención), GAN (competición), VAE (espacio latente) y difusión (eliminar ruido).
- Los LLM son modelos fundacionales de texto: solo decodificador (GPT), solo codificador (BERT) o codificador-decodificador (BART, T5); se preentrenan y se ajustan.
- Las alucinaciones son inevitables; se reducen con datos de calidad, contexto en el prompt, evaluación continua y supervisión humana.
- El ecosistema: PyTorch y TensorFlow, Hugging Face, LangChain y Pydantic.
- Preparar texto: tokenizar (palabras, caracteres o subpalabras), construir el vocabulario, añadir tokens especiales y servir lotes rellenos con
Dataset,DataLoaderycollate_fn. - Los datos deciden el modelo: calidad, diversidad, actualización y ética.
1. Una empresa quiere restaurar fotos antiguas dañadas. ¿Qué arquitectura es la más indicada?
Aprende a quitar ruido y reconstruir imágenes degradadas.
2. ¿Qué ventaja estructural tienen los transformers frente a las RNN?
Las RNN avanzan paso a paso y olvidan con facilidad lo lejano.
3. Un banco quiere clasificar reseñas por sentimiento. ¿Qué modelo encaja mejor?
Clasificar exige comprender más que generar: es terreno de los codificadores.
4. ¿Qué técnica distingue el entrenamiento de ChatGPT?
Combina aprendizaje supervisado con refuerzo a partir de retroalimentación humana.
5. Un LLM afirma con seguridad un dato falso sobre una persona real. ¿Qué medida reduce el riesgo en producción?
Contexto y supervisión humana son las defensas prácticas ante alucinaciones.
6. ¿Qué tokenización combina un vocabulario manejable con la capacidad de representar palabras raras?
Las palabras frecuentes quedan enteras; las raras se dividen en piezas conocidas.
7. En un vocabulario, ¿qué hace set_default_index(vocab["<unk>"])?
Así una palabra nueva no provoca un error, sino que se trata como desconocida.
8. ¿Dónde conviene tokenizar, convertir en índices y rellenar las frases de un lote?
Se hace al vuelo, por lote, y el conjunto original queda intacto.
9. Con batch_first=False y un lote de 4 frases cuya más larga tiene 12 tokens, ¿qué forma tiene el tensor?
Con False, la primera dimensión es la longitud de la secuencia.
10. Un modelo entrenado solo con textos de un país responde mal a usuarios de otras regiones. ¿Qué pilar de los datos falló?
Sin representación diversa, el modelo refleja una perspectiva estrecha y sesgada.