ElemedexEnciclopedia de bolsillo de arquitecturas de IA
N.º 026

ELMo

Embeddings from Language Models

Contexto

No tiene un vector para cada palabra sino uno para cada vez que la palabra aparece: el «banco» de la plaza y el «banco» que cobra comisiones reciben vectores distintos. Lee cada oración dos veces, de ida y de vuelta. Fue el primero de la camada de modelos con nombres de Plaza Sésamo.

Altura
2 capas biLSTM + CNN de caracteres
Peso
≈ 375 MB (fp32)
Parámetros
93,6 M
Contexto
una oración
Datos de entrenamiento
1B Word Benchmark (≈ 30 M oraciones, ≈ 800 M tokens)
Año
2018
Generación
4 · Transformers
Creadores
Peters, Neumann, Iyyer, Gardner, Clark, Lee & Zettlemoyer (Allen Institute for AI / University of Washington)
Clase
Modelo

Estadísticas base

Total
225

Escalas ordinales y aproximadas, pensadas para comparar especies entre sí; los números duros están en la ficha.

Debilidades

  • Bidireccionalidad superficial: son dos modelos de una sola dirección concatenados, y ninguna capa ve ambos lados a la vez.
  • Es recurrente: lee de a una palabra y aprovecha mal el paralelismo de las GPU.
  • Es un proveedor de rasgos: cada tarea sigue necesitando su propia arquitectura encima.
  • Se entrenó con oraciones sueltas y barajadas, así que no ve contexto más allá de la oración.

Hábitat

Creció leyendo el 1B Word Benchmark, unos 30 millones de oraciones de noticias en inglés barajadas una por una. Hoy se lo encuentra sobre todo en la historia del campo y en los estudios de sondeo: los transformers preentrenados lo desplazaron en cuestión de meses.

Movimientos

Habilidades

Un vector por ocurrencia
Cada aparición de una palabra recibe un vector que depende de la oración entera, no un vector fijo para el tipo.
Mezcla de capas
Cada tarea aprende cuánto pesa la capa de caracteres y cuánto cada capa LSTM; las inferiores aportan más sintaxis, las superiores más sentido.
Entrada por caracteres
Una red convolucional sobre caracteres arma la representación inicial, así que no hay palabras fuera del vocabulario.

Anatomía

ELMo, de abajo hacia arriba. Una CNN de caracteres produce un vector inicial por palabra; dos capas de LSTM lo recontextualizan, una leyendo hacia adelante y otra hacia atrás. En el preentrenamiento, la dirección hacia adelante predice la palabra siguiente y la inversa, la anterior. El vector ELMo es una suma ponderada de las tres capas, con pesos que aprende cada tarea, y se concatena a la entrada de un modelo ya existente.

Cadena evolutiva

  • contexto: un vector por ocurrencia, calculado por una LSTM bidireccional019 word2vec
026 ELMo
  • contexto bidireccional, ahora con atención028 BERT

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.

Fuentes

  • Alammar, J., & Grootendorst, M. (2024). Hands-on large language models: Language understanding and generation. O’Reilly Media. §
  • Devlin, J., Chang, M.-W., Lee, K., & Toutanova, K. (2019). BERT: Pre-training of deep bidirectional transformers for language understanding. In J. Burstein, C. Doran, & T. Solorio (Eds.), Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers) (pp. 4171–4186). Association for Computational Linguistics. https://doi.org/10.18653/v1/N19-1423 §
  • Firth, J. R. (1957). A synopsis of linguistic theory, 1930–1955. In Studies in linguistic analysis (pp. 1–32). Blackwell. §
  • Fodor, J. A., & Pylyshyn, Z. W. (1988). Connectionism and cognitive architecture: A critical analysis. Cognition, 28(1–2), 3–71. https://doi.org/10.1016/0010-0277(88)90031-5 §
  • Frege, G. (1884). Die Grundlagen der Arithmetik: Eine logisch mathematische Untersuchung über den Begriff der Zahl [The foundations of arithmetic: A logico-mathematical enquiry into the concept of number]. W. Koebner. §
  • Peters, M. E., Neumann, M., Iyyer, M., Gardner, M., Clark, C., Lee, K., & Zettlemoyer, L. (2018). Deep contextualized word representations. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers) (pp. 2227–2237). Association for Computational Linguistics. https://doi.org/10.18653/v1/N18-1202 §
  • Radford, A., Narasimhan, K., Salimans, T., & Sutskever, I. (2018). Improving language understanding by generative pre-training [Technical report]. OpenAI. https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf §
  • Russin, J., McGrath, S. W., & Williams, D. J. (2025). From Frege to chatGPT: Compositionality in language, cognition, and deep neural networks (arXiv:2405.15164). arXiv. https://doi.org/10.48550/arXiv.2405.15164 §