Data for Breakfast en todo el mundo

Multiplica el impacto de tu organización con datos e inteligencia basada en agentes de IA.

¿Qué es BERT? Un modelo de PLN

Descubre qué es BERT y cómo funciona. Explora la arquitectura, el algoritmo y el impacto del modelo BERT en la IA, las tareas de PLN y la evolución de los LLM.

  • Descripción general
  • ¿Qué es BERT?
  • ¿Por qué es importante BERT?
  • ¿Cómo funciona BERT?
  • Casos de uso reales de BERT
  • Principales limitaciones de BERT
  • BERT frente a otros modelos de lenguaje
  • Conclusión
  • Preguntas frecuentes sobre BERT
  • Clientes que usan Snowflake
  • Recursos de Snowflake

Descripción general

Las representaciones de codificadores bidireccionales de transformadores (BERT) supuso un gran avance en la forma en que los ordenadores procesan el lenguaje natural. Desarrollado por Google en 2018, este modelo de código abierto analiza el texto en ambas direcciones al mismo tiempo, lo que le permite comprender mejor el significado de las palabras en su contexto. BERT estableció la práctica de utilizar grandes volúmenes de texto para preentrenar modelos de lenguaje, lo que permite a los desarrolladores ajustar estos modelos posteriormente para realizar una amplia variedad de tareas. Además, sentó las bases de los large language models (LLM) basados en transformadores que utilizamos hoy en día, al demostrar que una comprensión profunda del contexto es clave para crear una inteligencia artificial (IA) que realmente “entienda” el lenguaje humano.

En esta guía explicamos qué es BERT, cómo funciona y cuáles son sus aplicaciones prácticas más habituales.

¿Qué es BERT?

BERT revolucionó el procesamiento del lenguaje natural (PLN) al analizar simultáneamente las palabras anteriores y posteriores a una palabra objetivo, en lugar de procesarlas de forma secuencial. Su arquitectura subyacente basada en transformadores permite a un modelo de lenguaje ponderar la importancia de distintas palabras entre sí, independientemente de la distancia que las separe en una oración, y distinguir el significado de palabras con la misma grafía según el contexto que las rodea.

Además, BERT introdujo un proceso de entrenamiento de modelos en dos fases. En primer lugar, el modelo se entrena con grandes cantidades de texto sin etiquetar para adquirir una comprensión general de los patrones del lenguaje. En segundo lugar, se ajusta para tareas específicas utilizando conjuntos de datos etiquetados más reducidos, una práctica conocida como aprendizaje por transferencia. Al eliminar la necesidad de entrenar cada modelo de lenguaje desde cero, el PLN de última generación pasó a estar al alcance de una amplia gama de aplicaciones, como las búsquedas en Internet y el análisis de sentimientos. 

Google integró BERT en su motor de búsqueda en 2019, lo que le permitió comprender las consultas tal y como las formulan realmente las personas. Actualmente se utiliza en prácticamente todas las consultas en inglés y se ha ampliado a muchos otros idiomas, mejorando de forma significativa la manera en que Google interpreta preguntas complejas, entiende la búsqueda conversacional y gestiona consultas en las que el contexto es clave para ofrecer la respuesta adecuada.

¿Por qué es importante BERT?

La capacidad de BERT para analizar el contexto de forma bidireccional se considera un hito importante en la evolución de la IA y el PLN. Esto le permitió alcanzar resultados sin precedentes en once tareas de PLN, como la respuesta a preguntas, el análisis de sentimientos y el reconocimiento de entidades nombradas (clasificar automáticamente si una palabra representa a una persona, un producto, una organización u otro tipo de entidad). La arquitectura de transformadores utilizada por BERT se ha convertido en la base de prácticamente todos los LLM modernos, gracias a su capacidad para captar las relaciones entre palabras a lo largo de extensos fragmentos de texto.

¿Cómo funciona BERT?

El entrenamiento y la inferencia de BERT implican varios mecanismos avanzados que actúan de forma conjunta: 

 

Tokenización

BERT divide el texto en fragmentos más pequeños denominados tokens. Por ejemplo, la palabra “jugar” podría dividirse en “jug” y “##ar”. Cada token se convierte en un valor numérico, y BERT añade marcadores especiales como [CLS] al inicio de las frases y [SEP] para separarlas. Este enfoque mejora la precisión con palabras menos frecuentes y hace que el tamaño del vocabulario sea más manejable.

 

Representaciones vectoriales de entrada

Cada token recibe tres tipos de representaciones (embeddings): de token (qué palabra es), de posición (dónde aparece en la secuencia) y de segmento (a qué frase pertenece). Esto proporciona a BERT información útil sobre el contenido y la estructura del texto. 

 

Mecanismos de atención 

BERT utiliza mecanismos de atención para calcular en qué medida cada palabra debe tener en cuenta a las demás dentro de una frase. Por ejemplo, cuando BERT procesa la palabra “banco”, asigna puntuaciones de atención al resto de palabras de la oración. Si aparecen “río” y “agua”, reciben puntuaciones altas, lo que indica que “banco” probablemente se refiere a una orilla. Si “dinero” y “depósito” obtienen puntuaciones más altas, BERT interpreta “banco” como una entidad financiera. 

 

Capas codificadoras de transformadores

BERT procesa el texto a través de múltiples capas apiladas, cada una de las cuales ejecuta varios cálculos de atención en paralelo. Cada capa captura patrones progresivamente más complejos. Las capas iniciales pueden aprender aspectos básicos de la gramática, mientras que las más profundas comprenden relaciones abstractas y semánticas.

 

Tareas de preentrenamiento 

Como parte del proceso de preentrenamiento, BERT enmascara aleatoriamente el 15 % de los tokens e intenta predecirlos. Esto favorece la comprensión bidireccional. También analiza pares de oraciones y predice si la segunda aparece antes o después de la primera en el texto original. Esta técnica le ayuda a comprender la relación entre oraciones.

 

Ajuste fino e inferencia

Una vez completado el preentrenamiento, los desarrolladores pueden añadir una capa para una tarea concreta y entrenar el modelo BERT para realizarla, como el análisis de sentimientos o la detección de spam. Durante la inferencia, el texto atraviesa todas las capas de atención para construir una comprensión contextual, y BERT genera predicciones basadas en esas representaciones enriquecidas.

Casos de uso reales de BERT

Desde su introducción en 2018, BERT se ha implementado en una amplia variedad de casos de uso prácticos. Entre ellos se incluyen:

 

Búsqueda en Google 

BERT impulsa la clasificación de búsqueda de Google al comprender mejor el contexto y la intención de consultas complejas, especialmente las búsquedas conversacionales más largas en las que el orden de las palabras y las preposiciones son determinantes. 

 

Asistentes virtuales 

BERT mejora el reconocimiento de la intención en asistentes de voz como Google Assistant y Alexa, ayudándolos a entender lo que realmente quieren los usuarios. También permite ofrecer respuestas más precisas a preguntas de seguimiento al mantener el contexto a lo largo de la conversación.

 

Sanidad 

Al analizar notas clínicas e historiales médicos, BERT puede extraer información relevante del paciente, identificar diagnósticos y señalar posibles interacciones farmacológicas o contradicciones en los planes de tratamiento. 

 

Tecnología jurídica 

BERT impulsa herramientas de análisis de contratos que identifican cláusulas, obligaciones y riesgos clave en miles de documentos legales. Permite realizar búsquedas semánticas en la jurisprudencia, ayudando a los abogados a encontrar precedentes relevantes incluso cuando se emplea una terminología distinta.

 

Comercio electrónico 

Al comprender la intención del cliente, BERT facilita que los chatbots respondan con mayor precisión a las consultas de atención al cliente y permite clasificar las reseñas de productos según su sentimiento.

 

Redes sociales 

BERT ayuda a moderar contenidos al detectar discurso de odio, acoso y desinformación con una comprensión contextual superior a los enfoques basados en palabras clave. También impulsa sistemas de recomendación en redes sociales que sugieren conexiones, grupos o contenido relevante para los usuarios.

Principales limitaciones de BERT

Tal y como se diseñó originalmente, BERT presenta varias limitaciones. Entre las principales se incluyen:

 

Alto coste computacional

BERT requiere una gran capacidad de cálculo tanto para el entrenamiento como para la inferencia, lo que lo hace costoso y lento para aplicaciones en tiempo real, especialmente en dispositivos con recursos limitados. 

 

Longitud de entrada limitada

BERT solo puede procesar secuencias de hasta 512 tokens, lo que resulta problemático para documentos extensos como contratos legales o artículos de investigación que deben analizarse como un todo. 

 

Incapacidad para generar texto

Al haberse diseñado exclusivamente como un codificador para la comprensión del texto, BERT no puede generar respuestas coherentes ni crear contenido nuevo. Los modelos GPT y las arquitecturas posteriores de codificador-decodificador, diseñados específicamente para gestionar tanto la comprensión como la generación de texto, son más adecuados para tareas como el resumen y la traducción.

 

Sensibilidad a los hiperparámetros

El rendimiento del modelo puede variar de forma significativa en función de parámetros como la tasa de aprendizaje, el tamaño del lote o el número de iteraciones necesarias para que BERT complete un conjunto de datos de entrenamiento. Puede ser necesario un ajuste fino exhaustivo.

 

Retos en el rendimiento multilingüe

BERT multilingüe se entrenó simultáneamente en 104 idiomas, lo que implicó que cada idioma recibiera menos atención y que el rendimiento fuera inferior al de los modelos específicos por idioma. Los modelos más recientes se entrenan con conjuntos de datos multilingües mucho mayores y mejores estrategias de muestreo, o bien utilizan aprendizaje por transferencia entre lenguas para mejorar el rendimiento.

BERT frente a otros modelos de lenguaje

BERT ha impulsado la creación de otros modelos de lenguaje más avanzados. Entre los principales se encuentran:

 

GPT 

GPT utiliza un procesamiento unidireccional (de izquierda a derecha) y se entrena para predecir la siguiente palabra de una secuencia, lo que lo hace especialmente adecuado para generar texto coherente, como conversaciones o escritura creativa. A diferencia de BERT, solo puede tener en cuenta el contexto previo al interpretar una palabra, no el posterior.

 

RoBERTa 

Robustly Optimized BERT Pretraining Approach (RoBERTa) emplea la misma arquitectura bidireccional que BERT, pero se entrena con un volumen de datos diez veces superior. Utiliza técnicas mejoradas como el enmascaramiento dinámico, que cambia las palabras que se enmascaran cada vez que el modelo se entrena con la misma frase. Como resultado, RoBERTa logra un rendimiento significativamente superior sin modificar el enfoque fundamental de BERT.

 

XLNet 

XLNet alcanza una comprensión bidireccional similar a la de BERT, pero utiliza un modelado de lenguaje por permutación, prediciendo palabras en orden aleatorio en lugar de enmascararlas. Suele ser más preciso que BERT, pero también es más complejo desde el punto de vista computacional y más difícil de entrenar.

 

Función

BERT

GPT

RoBERTa

XLNet

Dirección

Bidireccional

Unidireccional (de izquierda a derecha)

Bidireccional

Bidireccional

Punto fuerte

Comprensión del contexto

Generación de texto

Mejora de la comprensión de BERT

Modelado avanzado del contexto

Conjunto de datos de entrenamiento

BookCorpus + Wikipedia (16 GB)

Texto diverso de la web

Diez veces más datos que BERT (160 GB)

Similar a BERT

Estrategia de enmascaramiento

Enmascaramiento aleatorio

Sin enmascaramiento

Enmascaramiento dinámico

Basado en permutaciones

¿Puede generar texto?

No

No

Limitado

Tiempo de entrenamiento

Referencia

Más rápido

Más largo (más datos)

Más largo (más complejo)

Conclusión

BERT transformó de forma fundamental la manera en que las máquinas entienden el lenguaje, al demostrar que el contexto bidireccional y el aprendizaje por transferencia podían mejorar drásticamente el rendimiento. Su arquitectura basada en transformadores y mecanismos de autoatención se convirtió en el modelo de referencia para prácticamente todos los modelos de lenguaje modernos, desde GPT hasta Claude, estableciendo el enfoque que impulsa la actual revolución de la IA. Aunque modelos más recientes han superado las capacidades de BERT, sus innovaciones clave en codificación bidireccional, estrategias de preentrenamiento y mecanismos de atención siguen siendo esenciales en la forma en que diseñamos y concebimos hoy los sistemas de IA lingüística.

Preguntas frecuentes sobre BERT

BERT está diseñado para comprender el lenguaje mediante la lectura bidireccional del texto, lo que lo hace idóneo para tareas como la búsqueda y la clasificación, mientras que GPT lee de izquierda a derecha y está orientado a la generación de texto, como conversaciones o escritura creativa. Piensa en BERT como un experto en comprensión y en GPT como un experto en redacción: están optimizados para funciones distintas.

BERT se entrenó para completar palabras enmascaradas utilizando el contexto circundante, no para predecir la siguiente palabra de una secuencia, por lo que no dispone de las capacidades necesarias para generar texto coherente. Su arquitectura es la de un codificador orientado a la comprensión, no la de un decodificador diseñado para producir texto palabra por palabra.

Sin duda. Aunque modelos más recientes han superado el rendimiento de BERT, sigue utilizándose ampliamente en entornos de producción (como Google Search, que procesa miles de millones de consultas al día) porque es eficiente, se entiende bien y resulta idóneo para tareas de comprensión. Además, las innovaciones de BERT en atención bidireccional y aprendizaje por transferencia sentaron las bases de prácticamente todos los modelos de lenguaje modernos, por lo que su influencia sigue vigente incluso si no se utiliza BERT directamente.