ELMo (embeddings from language model) es un método de incrustación de palabras que representa una secuencia de palabras como una secuencia correspondiente de vectores. Fue creado por investigadores del Instituto Allen de Inteligencia Artificial y la Universidad de Washington, y se publicó por primera vez en febrero de 2018. ELMo es una LSTM bidireccional que toma entradas a nivel de caracteres y produce incrustaciones a nivel de palabras, entrenada con un corpus de aproximadamente 30 millones de oraciones y 1 billón de palabras.
La arquitectura de ELMo logra una comprensión contextual de los tokens. La representación contextual profunda de palabras es útil para muchas tareas de procesamiento del lenguaje natural, como la resolución de correferencias y la resolución de polisemia. ELMo fue históricamente importante como pionero del preentrenamiento generativo autosupervisado seguido de ajuste fino, donde un modelo grande se entrena para reproducir un corpus extenso y luego se aumenta con pesos adicionales específicos de la tarea y se ajusta con datos supervisados. Fue un paso instrumental en la evolución hacia el modelado de lenguaje basado en transformadores.
Arquitectura
ELMo es una LSTM bidireccional multicapa sobre una capa de incrustación de tokens. La salida de todas las LSTM concatenadas constituye la incrustación del token. La secuencia de texto de entrada se mapea primero mediante una capa de incrustación a una secuencia de vectores. Luego, dos partes se ejecutan en paralelo sobre ella. La parte hacia adelante es una LSTM de 2 capas con 4096 unidades y proyecciones de 512 dimensiones, con una conexión residual de la primera a la segunda capa. La parte hacia atrás tiene la misma arquitectura, pero procesa la secuencia en orden inverso. Las salidas de los 5 componentes (capa de incrustación, dos capas LSTM hacia adelante y dos capas LSTM hacia atrás) se concatenan y se multiplican por una matriz lineal (una matriz de proyección) para producir una representación de 512 dimensiones por token de entrada.
ELMo se preentrenó con un corpus de texto de 1 billón de palabras. La parte hacia adelante se entrena prediciendo el siguiente token, y la parte hacia atrás se entrena prediciendo el token anterior. Después del preentrenamiento, los parámetros de ELMo se congelan, excepto la matriz de proyección, que se puede ajustar finamente para minimizar la pérdida en tareas lingüísticas específicas. Este es un ejemplo temprano del paradigma de preentrenamiento y ajuste fino. El artículo original demostró esto mejorando el estado del arte en seis tareas de referencia de PLN.
Representación contextual de palabras
La arquitectura de ELMo logra una comprensión contextual de los tokens. Por ejemplo, la primera LSTM hacia adelante procesa cada token de entrada en el contexto de todos los tokens anteriores, y la primera LSTM hacia atrás procesa cada token en el contexto de todos los tokens posteriores. La segunda LSTM hacia adelante luego incorpora esos para contextualizar aún más cada token.
La representación contextual profunda de palabras es útil para muchas tareas de procesamiento del lenguaje natural, como la resolución de correferencias y la resolución de polisemia. Por ejemplo, considere la oración "Ella fue al banco a retirar dinero". Para representar el token "banco", el modelo debe resolver su polisemia en contexto. La primera LSTM hacia adelante procesa "banco" en el contexto de "Ella fue al", lo que le permite representar la palabra como un lugar hacia el que se dirige el sujeto. La primera LSTM hacia atrás procesa "banco" en el contexto de "a retirar dinero", lo que le permite desambiguar la palabra como una institución financiera. La segunda LSTM hacia adelante puede entonces procesar "banco" utilizando el vector de representación proporcionado por la primera LSTM hacia atrás, lo que le permite representarlo como una institución financiera hacia la que se dirige el sujeto.
Contexto histórico
ELMo es un eslabón en la evolución histórica del modelado de lenguaje. Considere un problema simple de clasificación de documentos, donde queremos asignar una etiqueta (por ejemplo, "spam", "no spam", "política", "deportes") a un texto dado. El enfoque más simple es el enfoque de "bolsa de palabras", donde cada palabra del documento se trata de forma independiente y su frecuencia se utiliza como característica para la clasificación. Esto era computacionalmente barato pero ignoraba el orden de las palabras y su contexto dentro de la oración. GloVe y Word2Vec mejoraron esto aprendiendo representaciones vectoriales fijas (incrustaciones) para palabras basadas en sus patrones de coocurrencia en grandes corpus de texto.
A diferencia de los métodos de "bolsa de palabras" como Word2Vec y GloVe, las incrustaciones de palabras de ELMo son sensibles al contexto, produciendo representaciones diferentes para palabras que comparten la misma ortografía. Se entrenó con un corpus de aproximadamente 30 millones de oraciones y 1 billón de palabras. Anteriormente, se usaba LSTM bidireccional para la representación contextual de palabras, pero ELMo aplicó la idea a gran escala, logrando un rendimiento de vanguardia.
Después de la publicación de la arquitectura Transformer (architecture) en 2017, la arquitectura de ELMo cambió de una LSTM bidireccional multicapa a un codificador Transformer, dando lugar a BERT. BERT tiene un flujo de trabajo similar de preentrenamiento y ajuste fino, pero utiliza un Transformer con implicaciones para un entrenamiento más paralelo. La influencia de ELMo también se extendió a otros desarrollos de Large language model, ya que demostró el poder del preentrenamiento en grandes corpus seguido de un ajuste fino específico de la tarea, un paradigma que se volvió central en modelos posteriores como los de OpenAI y Google DeepMind.
Impacto y legado
El lanzamiento de ELMo en febrero de 2018 marcó un cambio en el procesamiento del lenguaje natural. Al proporcionar incrustaciones contextuales, mejoró el rendimiento en tareas como respuesta a preguntas, análisis de sentimientos y reconocimiento de entidades nombradas. Su éxito impulsó más investigación en enfoques de Deep learning para el lenguaje, lo que llevó a avances rápidos en aplicaciones de Artificial intelligence. ELMo se cita a menudo junto con BERT como un modelo fundacional en la era moderna del Machine learning para texto.
El método también destacó la importancia de las arquitecturas de Neural network que capturan dependencias de largo alcance, un concepto que luego se refinó en modelos basados en Transformer (architecture). El manejo de entradas a nivel de caracteres de ELMo lo hizo robusto frente a palabras fuera de vocabulario, una característica que influyó en técnicas de incrustación posteriores. Aunque ELMo ya no se usa ampliamente en producción, sus principios permanecen integrados en muchos sistemas contemporáneos de PLN.
Referencias
- Peters, M. E., et al. (2018). Deep contextualized word representations. Proceedings of NAACL-HLT.
- Instituto Allen de Inteligencia Artificial. (2018). ELMo: Deep contextualized word representations. Notas de la versión oficial.