ELMo (Embeddings from Language Models) es un modelo que asigna a cada palabra un vector distinto en cada oración en que aparece. Lo presentaron en 2018 investigadores del Allen Institute for AI y de la Universidad de Washington (Peters et al., 2018), y fue la bisagra entre los embeddings estáticos de word2vec y los transformers preentrenados.
El problema: un vector por palabra
word2vec le da a «banco» un único vector, sea el de la plaza o el de la esquina que cobra comisiones. Alammar y Grootendorst (2024) usan el ejemplo inglés bank (entidad financiera u orilla de un río): su significado, y con él su embedding, debería cambiar con el contexto (2024, p. 11). ELMo resuelve el problema pasando de los tipos a las ocurrencias: produce embeddings contextuales (Alammar y Grootendorst, 2024, pp. 58–61).
Cómo funciona
La base es un modelo de lenguaje bidireccional (biLM). Una LSTM lee la oración de izquierda a derecha y predice cada palabra a partir de las anteriores; otra la lee de derecha a izquierda y predice cada palabra a partir de las siguientes (Peters et al., 2018, pp. 2228–2229). Cada dirección tiene dos capas de 4.096 unidades con proyecciones de 512 dimensiones, y la entrada no son palabras sino caracteres, procesados por una red convolucional: por eso no hay palabras desconocidas (2018, p. 2230). Se entrenó durante diez épocas sobre el 1B Word Benchmark, unos 30 millones de oraciones (2018, pp. 2228, 2230).
El vector ELMo de una palabra combina todas las capas (la de caracteres y las dos LSTM) con pesos que aprende cada tarea (2018, p. 2229). Luego el biLM se congela y ese vector se concatena a la entrada de un modelo ya existente para la tarea: uno de preguntas y respuestas, de inferencia o de etiquetado (2018, pp. 2229–2230). Es, en la terminología que después popularizó BERT, un enfoque basado en rasgos (feature-based) (Devlin et al., 2019, p. 4171).
Qué cambió
Agregar ELMo mejoró el estado del arte en las seis tareas evaluadas (preguntas y respuestas, inferencia textual, roles semánticos, correferencia, entidades nombradas y sentimiento), con reducciones relativas del error de entre 6 y 20 % según los autores (Peters et al., 2018, pp. 2230–2231). También volvió más eficientes a los modelos: en roles semánticos, con el 1 % de los datos de entrenamiento se igualaba al modelo base entrenado con el 10 % (2018, p. 2234).
Lo más interesante para lingüistas es el análisis por capas. Los vecinos más cercanos de play en GloVe mezclan formas y sentidos, casi todos deportivos; con ELMo, la play de una crónica de béisbol y la play de Broadway quedan separadas (Peters et al., 2018, p. 2233). La primera capa LSTM sirve mejor para etiquetar categorías gramaticales; la segunda, para desambiguar sentidos (2018, pp. 2233–2234). Sintaxis abajo, semántica arriba, como en los manuales de lingüística.
Límites
La bidireccionalidad de ELMo es superficial: son dos modelos unidireccionales entrenados por separado y concatenados, así que ninguna capa ve ambos lados a la vez. Esa fue la crítica con la que BERT se presentó meses después (Devlin et al., 2019, pp. 4172, 4178). Además, al ser recurrente, lee de a una palabra y no aprovecha el paralelismo de las GPU, y su corpus estaba barajado a nivel de oración, sin estructura de largo alcance (Radford et al., 2018, sec. 4.1). Su legado más visible es otro: inauguró la costumbre de bautizar modelos con personajes de Plaza Sésamo.