Qué hizo distinto BERT y qué significa que lea en dos direcciones
BERT aprende representaciones contextuales ocultando palabras y usando el texto a ambos lados. Entender su objetivo permite distinguir un codificador de un generador y evaluar sus límites.
El 11 de octubre de 2018, cuatro investigadores de Google publicaron BERT, siglas de Bidirectional Encoder Representations from Transformers. Su artículo original proponía preentrenar un codificador para representar cada fragmento de texto usando, a la vez, lo que aparece a su izquierda y a su derecha. Esa frase explica su aportación, pero también suele provocar dos equívocos: BERT no “lee” como una persona y el modelo original no fue diseñado para redactar respuestas largas.
Su producto es una representación contextual. Ante “se sentó en el banco” y “ingresó dinero en el banco”, la misma secuencia de letras recibe vectores distintos porque las palabras vecinas son diferentes. Otra capa, entrenada después para una tarea concreta, puede aprovechar esa señal para clasificar una frase, etiquetar una entidad o localizar un fragmento que responde una pregunta.
La capacidad útil consiste en mirar tres cosas cuando alguien afirma que un modelo “comprende texto”: qué información recibe al calcular cada representación, con qué objetivo aprendió y cómo se convierte esa representación en una decisión medible. Esa secuencia evita confundir contexto estadístico, tarea y comprensión humana.
El Transformer que BERT convirtió en codificador
La arquitectura Transformer apareció en el paper de 2017 Attention Is All You Need. Ese trabajo sustituyó recurrencias y convoluciones por mecanismos de atención en un sistema de traducción con codificador y decodificador. BERT tomó la parte codificadora: recibe una secuencia ya disponible y produce una representación para cada posición.
La autoatención calcula cuánto debe influir cada token en la representación de otro. No es una explicación causal ni una lista de palabras “importantes” para una persona; es una operación aprendida que mezcla información dentro de la secuencia. Al apilar capas, BERT puede construir relaciones que dependen de varias posiciones sin procesar obligatoriamente el texto palabra por palabra como una red recurrente.
“Bidireccional” tampoco significa ejecutar un modelo hacia delante y otro hacia atrás y unirlos al final. Sistemas anteriores como ELMo ya combinaban ambos sentidos. La novedad que los autores reclamaron para BERT fue condicionar conjuntamente cada capa profunda al contexto izquierdo y derecho. Para una tarea de análisis, ver toda la frase permite que una palabra ambigua cambie de representación según lo que viene antes y después.
Cómo aprende sin etiquetas escritas por personas
Mirar a ambos lados crea un problema de entrenamiento: si el modelo pudiera ver la palabra que debe predecir, bastaría con copiarla. BERT lo resolvió mediante el modelado de lenguaje enmascarado. En cada secuencia se seleccionaba el 15% de las posiciones. De esas posiciones, el 80% se sustituía por el token especial [MASK], el 10% por una palabra aleatoria y el 10% se dejaba igual. El objetivo era recuperar el token original desde el contexto.
El reparto evitaba que el modelo solo aprendiera a reaccionar ante una marca que nunca aparecería durante el uso normal. Además, la versión original incorporó una segunda tarea, next sentence prediction: decidir si un segmento B seguía realmente a un segmento A en el corpus o era una selección aleatoria. Las dos tareas producían etiquetas automáticamente a partir del propio texto; por eso el preentrenamiento no requería clasificar manualmente miles de millones de palabras.
El corpus inglés del experimento combinaba BooksCorpus, con unos 800 millones de palabras, y la Wikipedia inglesa, con unos 2.500 millones. Esos datos no enseñaban explícitamente qué era una persona, una respuesta correcta o un comentario ofensivo. Enseñaban a reducir los errores de los objetivos de entrenamiento. El conocimiento y los sesgos que aparecen en las representaciones son consecuencias de los patrones disponibles y de la forma de aprenderlos.
Tokens, posiciones y límites de entrada
BERT no recibe palabras directamente. La implementación oficial usa WordPiece: separa términos frecuentes y partes reutilizables, de modo que una palabra rara puede convertirse en varios tokens. La secuencia comienza con [CLS], cuya representación final suele alimentar tareas de clasificación, y usa [SEP] para marcar límites entre segmentos. También suma información de posición y del segmento al que pertenece cada token.
Esta tokenización tiene consecuencias prácticas. Una longitud máxima de 512 tokens no equivale a 512 palabras y puede quedarse muy corta para contratos, historiales o artículos completos. El repositorio oficial de Google indica que se puede ajustar con secuencias más cortas para ahorrar memoria y que las tareas de extracción necesitan conservar la alineación entre caracteres, subpalabras y etiquetas. Cortar un documento sin estrategia puede dejar la respuesta fuera de la ventana.
La variante uncased convierte el texto a minúsculas y elimina marcas de acento antes de tokenizar. Eso puede ahorrar variación inútil en algunas tareas, pero destruye señales que importan en otras: “Lima” y “lima”, siglas, nombres propios o acentos. Elegir un checkpoint no consiste solo en comparar un marcador; hay que comprobar idioma, normalización, vocabulario y longitud contra el dato real.
Preentrenar una vez, ajustar para cada tarea
Google publicó BERT-Base con 12 capas, 768 unidades ocultas, 12 cabezas de atención y 110 millones de parámetros, y BERT-Large con 24 capas, 1.024 unidades, 16 cabezas y 340 millones. El preentrenamiento era la parte costosa. Después, un equipo podía añadir una capa de salida y ajustar todos los parámetros con ejemplos etiquetados de su tarea.
La forma de la salida cambia según el problema. Para clasificar una reseña puede usarse la representación de [CLS]. Para reconocer nombres y lugares se predice una etiqueta por token, cuidando la correspondencia con las subpalabras. Para preguntas extractivas, el modelo puntúa posibles posiciones de inicio y fin dentro de un pasaje. En este último caso no inventa libremente una contestación: selecciona un tramo de la entrada.
El paper informó de resultados entonces punteros en once tareas, entre ellas GLUE, MultiNLI y SQuAD. Lo duradero no es conservar aquellas tablas como una clasificación actual. Es la demostración de una interfaz común: un preentrenamiento general podía transferirse a varias tareas con cambios pequeños en la cabeza de salida. El dato de una tarea no se traslada automáticamente a otra; cada ajuste necesita su propio conjunto, métrica y validación.
Por qué BERT no es un chatbot generativo
Un modelo autoregresivo de tipo GPT aprende a predecir el siguiente token y puede continuar una secuencia de izquierda a derecha. BERT ve una secuencia disponible y reconstruye posiciones ocultas; su arquitectura original es un codificador, no un decodificador causal. Puede rellenar un hueco o alimentar un clasificador, pero no produce de forma natural párrafos indefinidos token tras token.
La ficha de BERT Base lo dice de forma expresa: el modelo crudo sirve para lenguaje enmascarado o predicción de la siguiente frase y está pensado principalmente para ajustarse a clasificación de secuencias, clasificación de tokens o preguntas y respuestas. Para generación de texto recomienda buscar una arquitectura generativa. Llamar “modelo de lenguaje” a BERT describe su preentrenamiento; no implica las mismas capacidades de un asistente conversacional.
La receta importa tanto como el nombre
En 2019, el estudio de replicación RoBERTa mostró que las comparaciones entre métodos estaban afectadas por cantidad de datos, duración del entrenamiento e hiperparámetros. Sus autores concluyeron que BERT estaba considerablemente subentrenado y que una receta ajustada podía igualar o superar modelos posteriores. La lección no es que toda variante sea mejor, sino que una mejora atribuida a la arquitectura puede proceder del presupuesto o del protocolo.
Para comparar dos codificadores hay que mantener visibles el corpus, el número de pasos, el tamaño de lote, la tokenización, la longitud, las semillas y el ajuste de cada tarea. También conviene separar el modelo base del sistema final. Un clasificador construido sobre BERT hereda sus representaciones, pero su rendimiento depende de las etiquetas, el umbral, la distribución de uso y la calidad de la validación.
Sesgo, época y significado de una puntuación
El checkpoint no es neutral porque su corpus no lo es. La ficha de BERT Base muestra un ejemplo de relleno de máscaras en el que las ocupaciones propuestas cambian al sustituir “hombre” por “mujer”. Es una demostración, no un catálogo completo de daños. Un sistema aplicado a contratación, moderación o salud necesita pruebas específicas por grupos y tipos de error; una media global puede ocultar fallos concentrados.
También hay desfase de dominio y de época. El inglés de libros y Wikipedia no representa automáticamente conversaciones, jerga médica, español o documentos recientes. El ajuste fino puede adaptar una tarea, pero no garantiza que cubra cambios posteriores ni que corrija patrones arraigados en el preentrenamiento. Las salidas deben medirse con datos cercanos al uso y revisarse cuando esa distribución cambie.
Una lectura que sigue sirviendo
Ante cualquier modelo de comprensión textual, primero hay que identificar si es codificador, decodificador o una combinación. Después se abre su objetivo: máscara, siguiente token, contraste u otra señal. Por último se nombra la tarea final y su unidad de medida: clases, etiquetas por token, fragmentos o texto generado. Decir solo “entiende lenguaje” borra las tres diferencias.
BERT fue decisivo porque convirtió un codificador bidireccional preentrenado en una base reutilizable. Su legado no es una promesa de comprensión general, sino un método para producir representaciones contextuales y adaptarlas. Si sabemos qué contexto ve, qué pérdida optimiza y qué cabeza toma la decisión, podemos explicar tanto su acierto como su fallo sin recurrir a metáforas mágicas.
Este artículo se ha elaborado con inteligencia artificial bajo supervisión editorial humana.