BERT es un codificador transformer entrenado para representar texto, no para escribirlo. Recibe una secuencia de hasta 512 tokens y devuelve, para cada uno, un vector que depende de toda la oración. Alammar y Grootendorst (2024) lo ubican como el primer gran «modelo de representación», en oposición a los modelos generativos de la familia GPT (2024, pp. 18–20).
Cómo funciona
La arquitectura es casi exactamente la mitad izquierda del transformer original: una pila de bloques de autoatención y redes bloque feedforward, con conexiones residuales y normalización (Devlin et al., 2019, p. 4173). La versión base tiene 12 capas, vectores de 768 dimensiones y 12 cabezas de atención (110 millones de parámetros); la large, 24 capas y 340 millones.
La novedad está en cómo se lo entrena. Un modelo de lenguaje clásico predice la palabra siguiente, y por eso solo puede mirar hacia la izquierda. BERT, en cambio, se preentrena con dos tareas (Devlin et al., 2019, pp. 4174–4175):
- Modelado de lenguaje enmascarado (MLM): se elige al azar
el 15 % de los tokens y se los oculta (casi siempre con un token especial
[MASK]); el modelo debe reconstruirlos usando el contexto de ambos lados. Los autores lo vinculan explícitamente con la prueba cloze de la psicología de la lectura (Taylor, 1953): el ejercicio escolar de completar los huecos de un texto. - Predicción de la oración siguiente: dadas dos oraciones, decidir si la segunda sigue a la primera en el texto original o fue elegida al azar.
El resultado es un modelo que no «sabe» ninguna tarea en particular pero que puede adaptarse a
muchas. Para clasificar reseñas, por ejemplo, se toma el vector del token especial [CLS], se
le agrega una capa de salida y se hace un breve ajuste fino con ejemplos
etiquetados (Alammar y Grootendorst, 2024, pp. 18–19). Esta receta —preentrenar una vez, ajustar muchas— es el
aprendizaje por transferencia que dominó el procesamiento de lenguaje
entre 2018 y 2020.
Qué cambió
Frente a ELMo, que concatenaba dos LSTM (una de izquierda a derecha y otra al revés), BERT es profundamente bidireccional: en cada capa cada palabra ve a todas las demás. Frente a GPT-1, que usa la misma pila pero con máscara causal, BERT renuncia a generar texto a cambio de mejores representaciones. En 2018 batió el estado del arte en once tareas de comprensión, incluido el benchmark GLUE y la base de preguntas SQuAD (Devlin et al., 2019, p. 4171).
Formas y descendencia
Como ciertos Pokémon, BERT tiene formas regionales: RoBERTa (más datos, sin predicción de oración siguiente), DistilBERT (una versión destilada, más pequeña) y versiones multilingües. Su evolución más usada hoy es Sentence-BERT, que produce un vector por oración para la búsqueda semántica.
La familia volvió a crecer cuando la generación de texto parecía haberse llevado toda la atención. ModernBERT lleva al codificador las mejoras de los modelos recientes y se entrena con 2 billones de tokens y una ventana nativa de 8.192 (Warner et al., 2025); mmBERT extiende la receta a más de 1.800 lenguas (Marone et al., 2025). La suite Ettin entrena pares de codificadores y decodificadores con los mismos datos y la misma receta, de 17 millones a 1.000 millones de parámetros: los codificadores ganan en clasificación y recuperación, los decodificadores en generación, y reentrenar uno con el objetivo del otro no cierra la brecha. Un codificador de 400 M supera a un decodificador de 1.000 M en inferencia (NLI) (Weller et al., 2025).
Límites
La ventana de 512 tokens es corta, y el token [MASK] crea un desajuste: aparece en el
entrenamiento pero nunca cuando el modelo se usa (Devlin et al., 2019, p. 4174). Más serio, desde el
punto de vista epistémico, es que su éxito en benchmarks resultó en parte ilusorio: varios
estudios mostraron que aprovechaba regularidades superficiales de los datos (ver la nota del
profesor).