UAX
← Datos No Estructurados
2

UD2: Modelos Profundos y Redes Neuronales para NLP

Áreas de aplicación y casos de uso entornos con datos no estructurados

Temas: 1. RNN y variantes · 2. Transformers y atención · 3. LLMs, BERT, DeBERTa, Hugging Face · 4. Clustering y Embeddings en NLP

Introducción

Las Redes Neuronales Recurrentes (RNNs) son fundamentales en el análisis de datos secuenciales, especialmente en NLP y predicción de series temporales. Su capacidad de incorporar "memoria" las hace útiles para tareas que requieren contexto previo. Los modelos Transformer, introducidos en 2017, marcaron un avance significativo al superar las limitaciones de las RNN mediante el mecanismo de atención.

Tema 1: Repaso de Redes Neuronales Recurrentes (RNN) y variantes

1.1. RNN

Las Redes Neuronales Recurrentes (RNNs) son un tipo de red neuronal diseñado para manejar datos secuenciales. A diferencia de las redes tradicionales (feedforward), las RNNs poseen "memoria", permitiendo que la información previa en una secuencia influya en la salida actual.

Sin embargo, las RNNs estándar enfrentan el problema del desvanecimiento del gradiente: al entrenarse mediante retropropagación en el tiempo, las actualizaciones en los pesos se debilitan progresivamente al retroceder en la secuencia, afectando la capacidad de recordar información lejana.

1.2. LSTM y GRU

Las Long Short-Term Memory (LSTM) son variantes de RNN diseñadas para resolver el problema del desvanecimiento del gradiente. Incorporan una "célula de memoria" que permite retener información durante múltiples pasos de tiempo. Su arquitectura se basa en tres tipos de puertas:

  1. Puerta de Olvido: Decide cuánta información previa debe descartarse.
  2. Puerta de Entrada: Controla la incorporación de nueva información a la célula de memoria.
  3. Puerta de Salida: Determina qué parte de la memoria se usará en el estado oculto actual.

Las GRU (Gated Recurrent Unit) son más simples que las LSTM: solo tienen dos puertas (actualización y reinicio), combinando funciones para mejorar la eficiencia computacional. Son más rápidas de entrenar y útiles cuando el tiempo de cálculo es crítico.

Comparación LSTM vs GRU

AspectoLSTMGRU
ComplejidadMás compleja (3 puertas)Más sencilla (2 puertas)
RendimientoMejor en secuencias muy extensasComparable en secuencias cortas
Coste computacionalMayorMás eficiente
AplicacionesDependencias temporales fuertesSecuencias cortas o menos complejas

Tema 2: Redes basadas en atención y modelos Transformer

1.3. Transformers

Los transformers son una arquitectura de aprendizaje profundo presentada en 2017 por Vaswani et al. en el artículo "Attention is All You Need". Revolucionaron el NLP al sustituir las arquitecturas recurrentes y convolucionales por el mecanismo de atención, que asigna distintos niveles de importancia a las partes de la entrada, capturando relaciones a largo plazo de manera eficiente.

Características principales

  • Paralelización: Procesan datos de forma paralela, a diferencia de las RNN, lo que mejora la eficiencia.
  • Codificación posicional: Añade información sobre la posición de las palabras para manejar secuencias.
  • Componentes: Constan de un encoder (procesa la entrada) y un decoder (genera la salida).

El mecanismo de Self-Attention

El self-attention permite que cada palabra "preste atención" a las demás, asignando un peso que mide su relevancia. Se basa en tres componentes clave:

  • Q (Query): Representa la palabra que se analiza, como si hiciera una "pregunta" sobre las demás.
  • K (Key): Define las características de todas las palabras de la secuencia.
  • V (Value): Contiene la información que se usa tras calcular las conexiones.

Capas de los transformers

  • Atención multi-cabeza: Calcula las relaciones contextuales entre palabras usando múltiples matrices de atención.
  • Capas feedforward: Redes lineales que permiten aprender características complejas.
  • Mecanismos de normalización y residual: Las conexiones residuales estabilizan el flujo de gradientes.

Modelos destacados basados en transformers

  • BERT: Modelo bidireccional que entiende el contexto de palabras en ambas direcciones. Útil para preguntas y respuestas.
  • GPT: Modelo generativo que sobresale en generación de texto y tareas diversas de NLP.
  • RoBERTa: Optimización de BERT que mejora el tiempo de entrenamiento.
  • DistilBERT: Versión ligera y eficiente de BERT.
  • XLNet: Combina autoregresión y bidireccionalidad.
  • T5: Unifica tareas de NLP bajo el enfoque de "texto a texto".
  • ALBERT: Variante más ligera y eficiente de BERT.

Evolución de los transformers

  • Modelos más grandes: GPT-3, GPT-4 y T5 incrementaron significativamente parámetros para realizar múltiples tareas sin ajustes específicos.
  • Modelos compactos: DistilBERT y ALBERT reducen complejidad mediante destilación y compartición de parámetros.
  • Impacto más allá del NLP: Vision Transformer (ViT) para imágenes; bioinformática para predicción de proteínas; generación creativa de música y arte.

1.4. LLMs (Large Language Models)

Los Large Language Models (LLMs), o Modelos de Lenguaje de Gran Tamaño, son herramientas avanzadas de IA diseñadas para procesar y generar texto en lenguaje natural. Son altamente versátiles y pueden responder preguntas, traducir textos, redactar historias y analizar documentos complejos. Ejemplos: GPT, BERT y Llama.

¿Cómo aprenden los LLMs?

  1. Preentrenamiento: En esta fase no supervisada, el modelo analiza enormes volúmenes de texto para identificar patrones lingüísticos, estructuras de oraciones y relaciones entre conceptos.
  2. Afinación (fine-tuning): Posteriormente, se ajusta para tareas específicas, como generar resúmenes o responder preguntas, utilizando ejemplos supervisados.

Desafíos y limitaciones de los LLMs

  • Falta de comprensión real: No entienden el mundo como los humanos, lo que puede ocasionar errores en situaciones ambiguas.
  • Sesgos en los datos: Reproducen los prejuicios presentes en los datos de entrenamiento.
  • Altos requerimientos computacionales: Demandas significativas de hardware y energía.
  • Riesgo de mal uso: Pueden facilitar la creación de desinformación o contenidos no éticos.

Características clave de los LLMs

  • Preentrenamiento: Aprenden representaciones lingüísticas de datos masivos no etiquetados.
  • Transferencia de aprendizaje: Adaptan conocimientos generales a tareas específicas con datos etiquetados.
  • Arquitecturas Transformer: Manejan contextos complejos y dependencias a largo plazo.
  • Generación de texto: Producen texto coherente y relevante de manera contextual.

1.5. BERT y DeBERTa

BERT (Bidirectional Encoder Representations from Transformers), presentado en 2018, es un modelo basado en la arquitectura Transformer que destaca por su capacidad de capturar el contexto bidireccional de las palabras en una oración. Durante su preentrenamiento en grandes cantidades de texto no etiquetado, BERT aprende representaciones profundas del lenguaje natural que pueden transferirse a tareas específicas como clasificación de texto, reconocimiento de entidades o análisis de sentimiento.

El modelo DeBERTa, derivado de BERT y RoBERTa, introduce atención disentangled, donde cada palabra se representa con vectores separados para contenido y posición. Además, mejora el entrenamiento del decodificador usando menos datos, manteniendo un alto rendimiento en tareas de NLP.

1.6. Hugging Face

Hugging Face es una empresa especializada en IA, reconocida por su enfoque en NLP y por ofrecer herramientas accesibles para desarrolladores. Sus principales aportes incluyen:

  • Biblioteca "Transformers": Una colección de modelos de lenguaje preentrenados como BERT, GPT y RoBERTa.
  • Hugging Face Hub: Plataforma centralizada para compartir y colaborar en modelos de lenguaje, datos y recursos de IA.
  • Versatilidad de los modelos: Permiten realizar tareas como clasificación de texto, generación y traducción automática.
  • Código abierto: Gran parte de sus recursos son accesibles y modifiables por la comunidad.
  • Educación: Ofrecen cursos y tutoriales para guiar a los usuarios en la aplicación de modelos.

Tema 3: Generación y comprensión de lenguaje natural con modelos grandes

1.7. Fine-tuning y pre-entrenamiento de modelos de lenguaje

Pre-entrenamiento

El pre-entrenamiento es la fase inicial donde un modelo aprende representaciones generales del lenguaje utilizando grandes volúmenes de datos no etiquetados (libros, publicaciones en internet). Este proceso le permite adquirir conocimientos sobre sintaxis, semántica y contexto.

Ejemplos de tareas de pre-entrenamiento

  • Modelado de lenguaje causal (CLM): El modelo predice la próxima palabra en una secuencia. Ejemplo: "El perro persigue al ___" → "gato". Usado en GPT.
  • Modelado de lenguaje enmascarado (MLM): Se ocultan palabras aleatorias y el modelo debe predecirlas. Ejemplo: "El [MASK] persigue al gato." → "perro". Implementado en BERT.
  • Next Sentence Prediction (NSP): Se evalúa si dos oraciones están relacionadas coherentemente. Parte del entrenamiento de BERT.
  • Contrastive Learning: Se entrena el modelo para distinguir entre pares de frases similares y diferentes.

Fine-tuning

El fine-tuning es la etapa posterior al pre-entrenamiento donde el modelo se ajusta a tareas específicas utilizando un conjunto de datos más pequeño y etiquetado. Aprovecha el conocimiento general adquirido para optimizar su rendimiento en problemas concretos.

Ejemplos de fine-tuning

  • Clasificación de texto: Determinar si una reseña es positiva o negativa. Modelo: BERT fine-tuned en un conjunto de reseñas.
  • Respuesta a preguntas: Dado un texto, responder preguntas específicas. Modelo: RoBERTa entrenado en el dataset SQuAD.
  • Traducción automática: Modelo T5 ajustado para traducción inglés-español.
  • Generación de texto personalizado: GPT-3 ajustado para redacción publicitaria.

1.8. Ética y consideraciones de uso de modelos grandes

Principales consideraciones éticas

  • Bias y equidad: Los modelos pueden reflejar y amplificar sesgos de género, raza, idioma y cultura presentes en los datos de entrenamiento.
  • Privacidad y seguridad de datos: El uso de datos sensibles plantea riesgos de privacidad. Se requieren técnicas de anonimización y restricciones de acceso.
  • Impacto ambiental: El entrenamiento de modelos grandes consume recursos significativos, generando altas emisiones de carbono.

Uso responsable y riesgos

  • Desinformación y manipulación: Pueden generar contenido falso y persuasivo como "deepfakes" o textos manipulativos.
  • Automatización y pérdida de empleos: La IA automatiza tareas en diversos sectores, desplazando trabajadores.
  • Acceso desigual a la tecnología: El desarrollo está concentrado en pocas organizaciones, ampliando la brecha tecnológica.

Principios de IA ética

  • Justicia: Evitar discriminación y desigualdades.
  • Transparencia: Facilitar la comprensión de los modelos.
  • Responsabilidad: Definir responsables por los resultados generados.
  • Beneficio social: Promover impactos positivos para toda la sociedad.

Tema 4: Clustering y Embeddings en NLP

1.9. Fundamentos de los Embeddings en NLP

Los embeddings son representaciones numéricas densas que transforman palabras, frases o documentos en vectores en un espacio continuo, capturando relaciones semánticas. A diferencia del one-hot encoding, posicionan elementos con significados similares cerca entre sí en el espacio vectorial.

Ejemplos comunes de embeddings

  • Word2Vec: Utiliza técnicas CBOW y Skip-gram para basarse en el contexto local.
  • GloVe: Representa palabras según su co-ocurrencia global.
  • FastText: Extiende Word2Vec al incorporar información morfológica mediante n-gramas.
  • Transformers embeddings (BERT, GPT): Aprovechan el contexto completo mediante representaciones profundas.

1.10. Clustering en NLP: Un Enfoque No Supervisado

El clustering no supervisado en NLP organiza datos textuales en grupos (clústeres) basándose únicamente en sus características inherentes, sin necesidad de etiquetas.

Métodos comunes de clustering

  • K-Means: Divide los datos en K clústeres minimizando la varianza intraclúster. Simple y efectivo, pero requiere definir K previamente.
  • DBSCAN: Agrupa puntos densamente conectados y detecta ruido. Funciona bien con formas no esféricas.
  • HDBSCAN: Extensión jerárquica de DBSCAN, selecciona automáticamente el número óptimo de clústeres.
  • Spectral Clustering: Basado en grafos, utiliza valores propios del laplaciano para particionar datos.

Ejemplo práctico

Imaginemos una colección de reseñas de productos. Usando BERT, generamos embeddings para cada reseña y aplicamos DBSCAN para identificar grupos de temas similares, como "calidad del producto", "servicio al cliente" o "entrega".

1.11. Reducción de Dimensionalidad en NLP

Los embeddings suelen tener alta dimensionalidad, complicando su análisis y visualización. La reducción de dimensionalidad facilita trabajar con estos datos:

  • t-SNE: Proyecta datos a 2D o 3D, preservando relaciones locales. Útil para visualizar clústeres, aunque es computacionalmente costoso.
  • UMAP: Similar a t-SNE pero más rápido y escalable. Captura relaciones locales y globales, siendo ideal para datos complejos.
  • PCA: Proyecta datos en componentes lineales que explican la mayor parte de la varianza.

Ejemplo

Al analizar tweets, UMAP puede ayudar a identificar grupos temáticos como "política", "deportes" o "entretenimiento". La visualización en 2D facilita la interpretación de los resultados.

1.12. Integración: Embeddings + Clustering + Reducción de Dimensionalidad

El flujo de trabajo completo para análisis de datos no estructurados incluye:

  1. Preprocesamiento del texto: Tokenización, eliminación de palabras vacías y normalización.
  2. Generación de embeddings: Mediante modelos preentrenados o ajustados.
  3. Reducción de dimensionalidad: Usando técnicas como UMAP o t-SNE.
  4. Clustering: Identificar grupos usando K-Means o DBSCAN.
  5. Visualización e interpretación: En 2D o 3D para detectar patrones.

1.13. Desafíos y Consideraciones Prácticas

  • Elección del modelo de embeddings: Modelos rápidos como Word2Vec ofrecen limitaciones en contexto, mientras que BERT brinda mayor precisión a un costo computacional elevado.
  • Determinación del número de clústeres: Herramientas como el silhouette score son útiles, pero a menudo se necesita experimentación.
  • Interpretación de clústeres: La comprensión de los resultados puede ser compleja sin un conocimiento profundo del dominio.
  • Escalabilidad: Manejar grandes volúmenes de texto exige optimización en memoria y tiempo.