Deep Learning-based NLU Models and a Prototype GPT-2 Deployment Fine-Tuned for a Specific NLG Task (part 1)

NaturalTech
26 min readMar 16, 2021

Resumen

Desde el año 2013, el paradigma conexionista en NLP ha venido resurgiendo en ámbitos académicos a partir de nuevas arquitecturas para luego ser adoptado en la industria de software, haciendo uso de poderosos recursos de gran poder de cómputo, en una revolución algorítmica conocida como Deep Learning. Numerosas y sucesivas propuestas superadoras se han ofrecido en una vertiginosa carrera por obtener métricas (benchmarking) que se acercaran al estado del arte (SOTA) para tareas generales de NLP, según diversos estándares (BLEU, GLUE, SuperGLUE).

A partir de 2018, con la revolución de los transformers en los últimos dos años (ELMo, BERT y GPT-2), los modelos de Deep Leaning atrajeron aún más el interés de la comunidad científica, de la industria y de neófitos. En este artículo proponemos una sucinta pero exhaustiva historización de los modelos que han venido evolucionando durante esta revolucionaria última década y ofrecemos, a modo de ejemplo ilustrativo, una arquitectura de implementación completa de Deep Learning para el modelo de código abierto más reciente GPT-2, entrenado para una tarea específica de NLG con generación de slogans comerciales en cualquier segmento de producto.

Palabras clave: Deep Learning, ELMo, BERT, GPT-2 NLU, NLG

Abstract

Since the year 2013 on, connecctionist paradigm in NLP has been reborn in academic scenarios by means of new architectures to be adopted later by the software industry (appealing to enormous large computing power) as a truly algoritmic revolution known as Deep Learning. Several models have been offered in a speedy race in order to obtain metrics that get close to the SOTA level for general domain NLP tasks, according to the most used standards (BLEU, GLUE, SuperGLUE).

From the year 2018 on, Deep Learning models got even more attention through the so-called revolution of Transformers (ELMo, BERT y GPT-2). In this paper we propose a brief yet exhaustive survey on the models that have been evolving during this last decade. We also describe in detail a complete implementation from the scratch for the open source most recent model GPT-2, fine-tuned for a specific NLG task that implies slogan generation for any kind of commercial product.

Keywords: Deep Learning, ELMo, BERT, GPT-2, NLU, NLG

Introducción

En las últimas décadas, la investigación en redes neuronales ha experimentado diversos giros: son tres las olas de investigación que el paradigma conexionista — como también se lo conoce — ha visto hasta la fecha. La primera data de finales de la década de los cincuenta; la segunda, durante los años ochenta, y la última, posibilitada por las capacidades del nuevo hardware, comienza en la primera década de este siglo y aún continúa vigente. Este hecho implicó, en el área de lingüística computacional y procesamiento del lenguaje natural (NLP, por sus siglas en inglés), el uso cada vez más prevalente de las redes neuronales en los sistemas de comprensión y producción de lenguaje, en detrimento de los enfoques de corte simbólico utilizados a finales del siglo XX y del más reciente paradigma estadístico (machine learning), dominante durante la primera década del nuevo milenio.

A la luz de los avances recientes en el campo, los objetivos de este trabajo son: 1) brindar una sistematización general de los avances en modelos de entendimiento de lenguaje (Natural Language Understanding NLU) en los últimos años, 2) explicar en detalle algunos de los modelos pre-entrenados más recientes en el paradigma conexionista, también conocido como arquitectura Deep Learning, y 3) presentar un caso práctico de implementación de alguna de estas arquitecturas en una tarea específica de NLP.

Con estas metas en mente, en la sección 1, pasamos revista de manera general a la evolución de los algoritmos basados en redes neuronales desde su adopción a principios de la década de 2010, y luego, brindamos explicaciones detalladas de los modelos que no sólo han supuesto la superación del estado del arte en diversas tareas de evaluación, sino que han sido influyentes en las arquitecturas de los modelos que los preceden, comenzando por Sequence-to-Sequence Learning (Sutskever et al. 2014), Semi-supervised Sequence Learning (Dai & Le 2015) y Universal Language Model Fine-tuning for Text Classification (ULMFiT) (Howard & Ruder 2018). También mencionaremos los modelos pre-entrenados como más recientes alrededor de la arquitectura denominada Transformer, basado en una pila de codificadores y decodificadores con capas de Self-Attention y Feedforward (Vaswani et al. 2017); ELMo (Parsers et al. 2018); BERT, un modelo Transformer grande (Devlin et al. 2018), y finalmente GPT-2, cuya arquitectura también se basa en la del Transformer (Radford et al. 2019). La elección de estos modelos no pretende ser exhaustiva, dada la vertiginosidad con que avance el campo y la industria.

  1. Algoritmos basados en Deep Learning para tareas estándares generales de NLP/NLU

Los años 2013 y 2014 marcan el momento en el que los modelos neurales fueron adoptados en las tareas de procesamiento de lenguaje natural por la industria del software, habiendo experimentado un verdadero renacimiento en el ámbito académico. De particular importancia fue el uso de las redes neuronales recurrentes, convolucionales y recursivas. A continuación, mencionaremos brevemente la utilización de cada uno de estos modelos en NLP/NLU.

Las Redes Neuronales Recurrentes (también conocidas como Recurrent Neural Networks o RNNs, por sus siglas en inglés) resurgieron en la comunidad académica al ser capaces de lidiar con tareas de clasificación de patrones en donde el input y el output son secuencias dinámicas. Esto es naturalmente deseable cuando se trabaja con lenguaje natural. Para lograr esta tarea, las RNNs representan una secuencia con un vector (también conocido como hidden state o estado oculto) de dimensionalidad fija que incorpora nuevas observaciones usando funciones no lineales (Sutskever et al. 2014). Si bien se pensaba que la adopción de este tipo de redes significaría una gran dificultad a la hora de su entrenamiento, Sutskever (op.cit.), demostró que éste no era necesariamente el caso. En cuanto al subtipo de redes, si bien en un principio se hizo uso de RNNS vainilla (Elman 1990), luego se pasó a las arquitecturas LSTM-RNN (Long-Short Term Memory) (Hochreiter & Schmidhuber 1997), cuya principal virtud es la resistencia a los problemas de desvanecimiento de la gradiente y de gradiente explosivo. Las LSTM bidireccionales, por su parte (Graves et al. 2013), son utilizadas para lidiar con los contextos a izquierda y derecha.

Figura 1: Arquitectura LSTM

Las Redes Neuronales Convolucionales (CNNs, por sus siglas en inglés) tuvieron su auge en las tareas relacionadas con el desarrollo de visión artificial, para luego ser adoptadas en las tareas de NLP (Kalchbrenner et al. 2014; Kim et al. 2014). En este último campo, las CNNs operan en dos dimensiones, con el requerimiento de mover los filtros sólo en la dimensión temporal. Son más paralelizables que las RNNs, ya que su estado en cada paso sólo depende del contexto local y no de todos los estados pasados. Pueden ser extendidas con campos receptivos más amplios, haciendo uso de convoluciones dilatadas para capturar un contexto mayor (Kalchbrenner et al. 2016). Las CNNs y las arquitecturas LSTM pueden ser combinadas y apiladas (Wang et al. 2016), además, existe la posibilidad de acelerar este último tipo de arquitecturas mediante el uso de convoluciones (Bradbury et al. 2017).

¿Qué pasa con la organización jerárquica y la recursividad, ambas características fundamentales del lenguaje natural? Los dos tipos de redes de los que acabamos de hablar tienen precisamente la desventaja de tratar al lenguaje como si fuera una secuencia, en detrimento de las dos características antes mencionadas. Este hecho da paso al uso de las Redes Neurales Recursivas (Socher et al. 2013), que construyen la representación de la secuencia de manera bottom-up y no de derecha a izquierda o izquierda a derecha. En cada nodo del árbol, una nueva representación es computada mediante la composición de las representaciones de los nodos hijos. Las arquitecturas LSTM también han sido adaptadas para el uso con esta clase de redes, ya que un árbol se puede entender como una imposición de orden de procesamiento distinto sobre una RNN (Tai et al. 2015).

En todo caso, trabajar con estructuras jerárquicas no significa limitarse al uso de LSTMs o RNNs. Otras opciones incluyen el aprendizaje de Word Embeddings del contexto gramatical (y no sólo local) (Levy & Goldberg 2014); la generación por parte de los modelos del lenguaje de palabras basada en una pila sintáctica (Dyer et al. 2016); y el uso de Redes Neuronales de Grafos Convolucionales (Graph Convolutional Neural Networks), que pueden operar sobre árboles (Bastings et al. 2017).

En 2014, se publica la propuesta de Sequence-to-Sequence Learning (Sutskever et al. 2014), estructura general para el mapeo de una secuencia a otra.

La propuesta de Attention, (Bahdanau et al. 2015), es hoy en día un elemento clave cuando se habla de redes neuronales. Se puede definir la función de Attention como el mapeo de una consulta (query) y un conjunto de pares clave-valor a un output, en donde la consulta, claves, valores y output son vectores. El output se computa como la suma ponderada de valores, en donde el peso asignado a cada valor es calculado por una función de compatibilidad de la consulta con una clave correspondiente (Vaswani et al. 2017).

Attention representa una mejora de la propuesta de Sutskever, Vinyals & Le, ya que el principal problema del aprendizaje Sequence-to-Sequence consistía en comprimir el contenido entero de la secuencia fuente en un vector de tamaño fijo. El mecanismo de Attention provee una solución al permitir que el decodificador acceda a los estados ocultos de la secuencia de fuente, que después son provistos en forma de media ponderada (Ruder 2018). Este mecanismo es ampliamente utilizado y de potencial utilidad para cualquier tarea que requiera decisiones basadas en ciertas partes del input. Además, no está solamente restringido a consultar el input, sino que también puede ser utilizado para acceder al contexto que rodea dicho input, con lo que se logra una representación de palabras más sensible al contexto. En la propuesta de Vaswani et al. (2017), múltiples capas de Self-Attention son la característica principal de la arquitectura del modelo Transformer.

En las siguientes secciones, discutiremos en profundidad los modelos de lenguaje más recientes, pues su auge ha despertado gran interés en la comunidad académica. Esto porque desde el 2013, con la aparición de la técnica de Word Embeddings o word2vec (Mikolov et al. 2013), los proyectos de NLP y Deep learning han seguido por lo general la misma receta: el pre-entrenamiento para un NLU global con grandes cantidades de datos mediante algoritmos como el ya mencionado word2vec (Pennington, Socher & Manning 2014) y el ajuste fino (fine-tuning) en una tarea específica.

Así pues, los modelos del lenguaje para un NLU global tan sólo requieren texto sin etiquetar, por ello, el entrenamiento puede consistir en millones de tokens, dominios y lenguas completamente nuevas. Al permitir un entrenamiento con datos no etiquetados, los modelos pre-entrenados son particularmente útiles en aquellos contextos en los que datos con etiquetas son escasos, difíciles o costosos de conseguir.

Las siguientes subsecciones explican con más detalle en qué consisten estos modelos, cómo está configurada su arquitectura, y cómo se posicionaron con respecto al estado del arte en sus respectivos contextos de surgimiento a lo largo de la evolución del paradigma durante la última década.[1] Sin embargo, antes de pasar a las siguientes secciones, queremos dedicar unas palabras a la pregunta de cómo se transfiere la información de un modelo del lenguaje pre-entrenado a una tarea específica (fine-tuning). Por un lado, los embeddings del modelo del lenguaje pueden ser utilizados como parámetros en un modelo target, en otras palabras, se hace uso del modelo pre-entrenado como un extractor de parámetros y se incorporan las representaciones como parámetros en otro modelo inicializado aleatoriamente. También es posible hacer fine-tuning con los datos de una tarea meta a todo el modelo de lenguaje (Ramachandran et al. 2017; Howard & Ruder 2018) (ver sección 2 para un caso práctico de un prototipo de arquitectura GPT-2 aplicada a una tarea creativa específica de Natural Language Generation NLG).

1.1. Sequence-to-Sequence Learning with Neural Networks (Sutskever et al. 2014)

El modelo Sequence-to-Sequence Learning fue diseñado para convertir una secuencia de tokens en un idioma a a otra secuencia de tokens en el idioma b. Si bien las redes neurales profundas (DNNs, por sus siglas en inglés) son un método poderoso, con una performance destacada en tareas de reconocimiento de voz e imagen, el modelo propuesto por los autores de este artículo nace en torno a las dificultades de las DNNs para resolver problemas que impliquen manejar inputs y targets no codificados con vectores de dimensiones fijas, pues en el procesamiento de lenguaje natural, es común enfrentarse a tareas que utilizan vectores cuyas dimensiones, a priori, son desconocidas (data sparsity). Así, para poder manejar secuencias de estas características, los autores proponen un método independiente de dominio que aprenda a mapear de secuencias a secuencias. La solución consiste en hacer uso de LSTMs: una Multilayered LSTM utilizada para mapear la secuencia de input, un paso a la vez, a un vector de dimensionalidad fija. Después, una LSTM decodificadora extrae de este vector una secuencia de output. Esta última LSTM es una RNN en esencia, sólo que condicionada a la secuencia de input.

Figura 2: El modelo lee la secuencia de input “ABC” y produce la secuencia “WXYZ” como oración de output. Deja de hacer predicciones después de producir como output el token de final de oración (end-of-sentence token) (Sutskever, Vinyals & Le 2014).

La arquitectura del modelo se divide en 4 capas de 1000 perceptrones, cada una almacenada en una GPU (ordenadores de alto poder de cómputo paralelizable, en comparación con las tradicionales CPUs). Incluye también word embeddings de 1000 dimensiones; un vocabulario de input de 160.000 palabras y de output de 80.000. El modelo en total tiene 384 millones de parámetros, de los cuales, 64 millones son puras conexiones recurrentes.

El modelo fue entrenado con la tarea de traducción Inglés-Francés WMT ’14, y evaluado utilizando el algoritmo BLEU. El resultado de la evaluación supera el estado del arte en esa época. A continuación, presentamos la tabla de los resultados de la evaluación:

Tabla 1: Comparación del puntaje BLEU del estado del arte y varias disposiciones de LSTM en el test WMT 2014 English-to-French

Por último, una de las contribuciones técnicas clave es el descubrimiento de que utilizando como input de la LSTM codificadora una oración cuyo orden de palabras ha sido revertido, se mejora la performance de manera conspicua, ya que se introducen dependencias de corto alcance entre la oración fuente y la oración target.

1.2. Semi-supervised Sequence Learning (Aprendizaje Semi-Supervisado de secuencias) (Dai & Le 2015)

El modelo propuesto por Dai & Le (2015) significa darle una vuelta de tuerca al de Sutskever et al. (2014), para lograr un aprendizaje no supervisado que pueda hacer uso de datos sin etiquetar. Sencillamente, utilizan la oración input como oración target. El método se resume en la utilización, en primera instancia, de un auto-codificador sin supervisión que es pre-entrenado con una LSTM, de donde se obtienen parámetros utilizados, posteriormente, en la inicialización de una LSTM standard para una tarea de entrenamiento supervisada. Por esta razón, el sistema es llamado SA-LSTM.

En cuanto a la evaluación, la SA-LSTM fue capaz de superar los cinco benchmarks, alcanzando o superando todas las baselines anteriores.

Tabla 2: Resumen de la comparación entre los errores de las SA-LSTMs y los mejores resultados previos

1.3. Universal Language Model Fine-tuning for Text Classification (ULMFiT) (Howard & Ruder 2018)

ULMFiT es un método de aprendizaje de transferencia que puede ser aplicado a cualquier tarea de NLP. ULMFiT se caracteriza por tres etapas: a) el entrenamiento de un modelo de lenguaje con un corpus de dominio general y de grandes dimensiones; b) El fine-tuning del modelo del lenguaje para la tarea objetivo. Sobre este último punto, los autores proponen nuevas técnicas de fine-tuning (slanted triangular learning rates y discriminative fine-tuning) que previenen el olvido catastrófico — definido como la tendencia de una red neuronal de olvidar completa y abruptamente la información previamente aprendida después de aprender información nueva (McCloskey & Cohen 1989) — ,y facilitan el aprendizaje robusto en diversas tareas; c) El fine-tuning del clasificador, utilizando las técnicas de gradual unfreezing y discriminative fine-tuning.

El modelo es universal ya que funciona en diversas tareas cuyo número y tamaño de documentos y etiquetas varían. Además, usa una sola arquitectura y proceso de entrenamiento, no requiere ingeniería personalizada de rasgos (custom feature engineering) o preprocesamiento y tampoco documentos o etiquetas adicionales en el dominio.

Figura 3: Pasos característicos de ULMFIT

En cuanto a sus características, los autores hacen uso del modelo AWD-LSTM (Merity et al. 2017), que consiste en una arquitectura LSTM regular sin adicionales como attention, short-cut connections, etc. En la primera etapa, vale mencionar que el modelo es entrenado con el corpus Wikitext-103, que consiste en 29.595 artículos de Wikipedia preprocesados y 10 millones de palabras.

El método supera el estado del arte en seis tareas de clasificación de textos. A continuación, los resultados de la evaluación:

Tablas 3a y 3b: Resultados de la evaluación de ULMFiT en comparación con otros modelos

1.4. La revolución de los Transformers (Vaswani et al. 2017)

El Transformer es un modelo revolucionario, que se propone como una alternativa a los modelos de transducción de secuencias basados en RNN o. El Transformer se caracteriza por la simplicidad de su arquitectura de red basada sólo en mecanismos de Attention, sin recurrencias o convoluciones. Si bien en el artículo original, el modelo es testeado en tareas de traducción automática, la relevancia del modelo para NLP se hace palpable en la influencia que la arquitectura del Transformer tendrá en los modelos pre-entrenados que lo suceden, como veremos más adelante.

Figura 4: Arquitectura del Transformer (Vaswani et al. 2017)

En cuanto a su arquitectura, el Tranformer cuenta con un componente de codificación y otro de decodificación. El componente de codificación consiste en una pila de seis codificadores. Todos los codificadores tienen una estructura idéntica, cada uno cuenta con dos capas, la primera es un mecanismo de Self-Attention con múltiples núcleos (multi-head self-attention mechanism), a través del cual se procesa el input. El output de esta primera capa pasa luego por la segunda, una red Feed-forward. Se implementa, además, una conexión residual alrededor de cada subcapa, seguida por la normalización de la capa. Para facilitar las conexiones residuales, todas las subcapas del modelo, además de las capas de embeddings producen outputs de dimensión dmodel = 512. Por último, la subcapa de Multi-head Attention se modifica mediante el enmascaramiento, que previene que para la predicción de la posición i se preste atención a posiciones subsecuentes.

El concepto de Self-Attention es definido por los autores como una función que se puede describir como un mapeo de una query y un conjunto de pares clave-valor a un output en donde la query, las claves, los valores y el output son todos vectores (Vaswani et al. 2017). Para comprender este concepto en líneas generales, quizá sirva pensar en un pronombre anafórico, tal como ella en la oración “la gallina cruzó la calle, porque ella estaba muy cansada”. Para un humano, encontrar el referente del pronombre parece una tarea trivial, sin embargo, para un algoritmo, no lo es. Aquí entra en juego Self-Attention: a medida que el modelo procesa cada palabra, Self-Attention permite que mire a otras posiciones en el input en busca de pistas que lo puedan ayudar a codificar la palabra. En otras palabras, Self-Attention es el método mediante el cual el modelo integra la comprensión de otras palabras relevantes a la que estamos procesando actualmente. En el modelo, además, se refina la capa de Self-Attention implementando el uso de Multi-Head Attention, lo cual expande la habilidad del modelo de concentrarse en posiciones distintas. Como última característica, nos gustaría destacar el uso de Positional Encodings, recurso mediante el cual se inyecta información sobre la posición relativa o absoluta de los tokens de una secuencia, sin hacer uso de recurrencias o convoluciones. Esta información es añadida a los embeddings de input en el fondo de las pilas de codificadores y decodificadores y tiene la misma dimensión que los embeddings, de manera tal que ambos vectores puedan ser sumados.

Para el entrenamiento del modelo se hizo uso de los datasets WMT 2014 English-German (4.5 millones de pares de oraciones) y WMT 2014 English-French (36 millones de oraciones). En los resultados de la evaluación, el modelo logra mejorar los resultados existentes en BLEU. Además, el Transformer generaliza bien en otras tareas, como mostró la prueba de parsing de constituyentes con datos en cantidades tanto masivas como limitadas.

Tabla 4: El Transformer alcanza mejores puntajes BLEU en las tareas de traducción de inglés-alemán e inglés-francés, a una fracción del costo de entrenamiento

1.5. ELMo (Peters et al. 2018)

Los autores de ELMo (Embeddings from Language Models) se propusieron introducir una nueva clase de representación de palabras, caracterizadas por su contextualización profunda que logra capturar características del uso de palabras relacionadas con su sintaxis y semántica, y cómo estos usos varían en distintos contextos lingüísticos (en otras palabras, es capaz de dar cuenta de la polisemia), en contraste con otras representaciones pre-entrenadas de palabras (Mikolov et al. 2013; Pennington et al. 2014).

Existen diferencias con los enfoques que pretenden aprender vectores de palabras contextualizados: las representaciones ELMo son profundas, ya que se computan encima de biLMs (bidirectional Language Models) de dos capas con convoluciones de caracteres, como una función lineal de los estados internos de la red. Esto permite llevar a cabo aprendizaje semi-supervisado que consiste en el pre-entrenamiento del biLM a gran escala, con un corpus de aproximadamente 30 millones de oraciones. Las representaciones ELMo pueden ser fácilmente integradas a modelos existentes, lo que conlleva a un puntaje más elevado varias tareas que sobrepasa el estado del arte.

El modelo final utiliza dos capas de biLSTM con 4096 unidades y 512 dimensiones de proyección y una conexión residual desde la primera hasta la última capa. Así, dada un biLM pre-entrenada y una arquitectura supervisada para una tarea de NLP meta, usar lo primero para mejorar los resultados de lo segundo es sencillo: hay que hacer correr el biLM y registrar todas las representaciones de cada capa, para cada palabra, luego, se deja que el modelo de la tarea específica aprenda una combinación lineal de dichas representaciones.

Mediante ablaciones y otro tipo de experimentos, los autores comprueban que cada capa del biLM codifica diferentes tipos de información sintáctica y semántica sobre las palabras en contexto, y que usar todas las capas mejora el desempeño. También se ve, por una parte, que las mejoras con ELMo son más notorias para sets de datos más pequeños, y por otra, que la cantidad de datos de entrenamiento necesarios para alcanzar un nivel aceptable de desempeño se ve reducido.

A continuación, presentamos el desempeño de ELMo en varias tareas:

Tabla 5: Muestra varias tareas, los artículos en donde se proponen los modelos que detentaban el estado del arte en dichas tareas, y su comparación con los modelos que hacen uso de ELMo

1.6. BERT (Devlin et al. 2018)

BERT, llamado así por su nombre extendido en Inglés (Bidirectional Encoder Representations from Transformers), está diseñado para pre-entrenar representaciones bidireccionales profundas mediante el condicionamiento conjunto tanto del contexto izquierdo como el derecho en todas las capas. Las representaciones pre-entrenadas BERT pueden ser refinadas (fine-tuning) con tan solo una capa adicional de output para crear modelos multi-dominio que superan el estado del arte, sin modificaciones sustanciales de las arquitecturas específicas a una tarea. Su punto de partida es la crítica hacia las técnicas utilizadas hasta ese momento, que limitaban el poder de las representaciones pre-entrenadas, problema particularmente saliente en los enfoques que incluyen fine-tuning, aunque también en aquellos enfoques basados en rasgos. La limitación principal está en el hecho de que la mayoría de modelos del lenguaje son unidireccionales, lo que limita las opciones de arquitectura que pueden ser utilizadas en el pre-entrenamiento. Esto contrasta, por un lado, con el modelo GPT de OpenAI (Radford et al. 2018), que se caracteriza por una arquitectura de izquierda a derecha, en donde cada token solo puede prestar atención a tokens previos en las capas de self-attention del Transformer y, por otro lado, con ELMo, que concatena de manera superficial LMs de izquierda-derecha y derecha-izquierda independientemente entrenados.

Una de las novedades que introducen los autores para mejorar los enfoques basados en fine-tuning es proponer un nuevo objetivo de pre-entrenamiento: el modelo de lenguaje enmascarado o MLM (masked language model). El MLM enmascara de manera aleatoria algunos de los tokens del input, y el objetivo consiste en predecir el ID de vocabulario original de la palabra enmascarada, así, a diferencia del entrenamiento de izquierda a derecha de un modelo del lenguaje, el nuevo objetivo permite que la representación fusione los contextos a la izquierda y derecha, lo que a su vez permite entrenar un Transformer bidireccional profundo. También se introduce una tarea de predicción de la siguiente oración.

Además de mostrar la importancia del pre-entrenamiento bidireccional para las representaciones del lenguaje (contribución más importante del modelo, según demuestran los experimentos de ablación ahí descritos), los autores también dan prueba de que las representaciones pre-entrenadas eliminan la necesidad de arquitecturas altamente elaboradas específicas a una tarea particular.

Los resultados reportados por los autores se basan en dos presentaciones de BERT (en donde L es el número de capas, H es el tamaño oculto y A son las self-attention heads):

- BERT base: L = 12, H = 768, A = 12, parámetros totales = 110 millones

-BERT large: L = 24, H = 1024, A = 16, parámetros totales = 340 millones

Figura 5: Comparación de distintas arquitecturas de modelos de pre-entrenamiento. BERT usa un Transformer bidireccional. El GPT de OpenAi, un Transformer de izquierda a derecha y ELMo, concatena LSTMs de izquierda a derecha y de derecha izquierda independientes que generan parámetros para tareas meta.

BERT supera el estado del arte en 11 tareas de NLP de sets de evaluación como GLUE, SQuAD, SWAG y la tarea de reconocimiento de entidades CoNLL-2003. En lo que queda de la sección, presentamos las tablas de resultados. Para una mayor especificación de en qué consisten todas las tareas, entre otros detalles, consultar Devlin et al. (2018) y las referencias allí citadas:

Tabla 6: Resultados de las tareas GLUE (Wang et al. 2019a)

Tabla 7: Resultados de la tarea SQuAD

Tabla 8: Resultados del reconocimiento de entidades de CoNLL-2003

Tabla 9: Resultados de la tarea SWAG

1.7. Generative Pre-trained Transformer o GPT-2 (Radford et al. 2019)

En Language Models are Unsupervised Multitask Learners (Radford et al. 2019), los autores pretenden demostrar que varias de las tareas de NLP (traducción automática, resumen, comprensión lectora, etc.) son aprendidas por modelos del lenguaje sin ninguna supervisión explícita, al ser entrenados en un nuevo set de datos de millones de páginas web llamado WebText. Parten de la observación de que los sistemas entrenados mediante grandes sets de datos, modelos de alta capacidad y aprendizaje supervisado son frágiles y sensibles a cambios leves en la distribución de los datos y la especificación de las tareas. En palabras de los autores, “los sistemas actuales son mejor caracterizados como expertos limitados que como generalistas competentes” (Radford et al. 2019, la traducción es nuestra), lo cual lleva a la necesidad de diseñar sistemas generalizados que puedan desempeñarse en una plétora de tareas sin la necesidad de sets de datos meticulosamente etiquetados según el tipo de tarea.

Una de las causas de la falta de generalización es la prevalencia del entrenamiento en una única tarea en vez de una miríada amplia tanto de tareas como de dominios. Los mejores modelos que usan una combinación de pre-entrenamiento y refinamiento (fine-tuning) aún requieren supervisión significativa.

Así, GPT-2 pretende demostrar que los modelos de lenguaje pueden realizar tareas meta en un contexto de insuficiencia de datos de entrenamiento para algunas de las clases (zero-shot setting), sin ninguna modificación de parámetros o arquitectura. Se basa en la especulación de que un modelo del lenguaje con una capacidad suficiente aprenderá a inferir y resolver tareas mostradas en secuencias de lenguaje natural para poder predecirlas mejor. A esto llaman aprendizaje multitarea no supervisado. Utilizan, como ya lo adelantamos, el set de datos WebText, un set de 40GB obtenido mediante web crawling, caracterizado por la representación variada de dominios y contextos que demuestren varias de las tareas estándar de NLP.

Los modelos del lenguaje se basan en la ya clásica arquitectura del Transformer, siguiendo los detalles del modelo de OpenAI, GPT (Radford et al. 2019) con ciertos cambios. En todo caso, uno de los rasgos importantes del modelo, a diferencia de BERT, es que la segunda versión de GPT (GPT-2) usa bloques decodificadores de Transformer, mientras que BERT utiliza bloques codificadores.

Otro rasgo a destacar consiste en que cada vez que GPT-2 produce un token, dicho token pasa a ser parte de la secuencia de inputs a la hora de producir el próximo token, y así sucesivamente. Esta idea se conoce como auto-regresión. En contraste, BERT no posee esta característica, aunque ello significa que BERT puede incorporar el contexto izquierdo y derecho de cada palabra para obtener buenos resultados.

En cuanto a los resultados de la evaluación, presentamos a continuación algunos de ellos:

Tabla 10: Resultados zero-shot en varios sets de datos, es decir, sin refinamiento ni entrenamiento previos

Tabla 11: Resultados del desempeño en tarea de resumen según la métrica ROUGE F1

Bibliografía

Bahdanau, D., Cho, K. & Bengio, Y. (2015). Neural Machine Translation by Jointly Learning to Align and Translate. En ICLR 2015. Recuperado de https://arxiv.org/abs/1409.0473.

Bastings, J., Titov, I., Aziz, W., Marcheggiani, D. & Sima’an, K. (2017). Graph Convolutional Encoders for Syntax-aware Neural Machine Translation. En Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing, (pp. 1957–1967). Recuperado de https://www.aclweb.org/anthology/D17-1209.pdf

Bradbury, J., Merity, S., Xiong, C. & Socher, R. (2017). Quasi-Recurrent Neural Networks. En ICLR 2017. Recuperado de http://arxiv.org/abs/1611.01576.

Dai, A. M. & Le, Q. V. (2015). Semi-supervised Sequence Learning. En Advances in Neural Information Processing Systems (NIPS ’15), (pp. 1–9). Recuperado de https://papers.nips.cc/paper/5949-semi-supervised-sequence-learning.pdf.

Devlin, J., Chang, M., Lee K. & Toutanova, K. (2018). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. En Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics (NAACL): Human Language Technologies, Volume 1 (Long and Short Papers), (pp. 4171–4186). Recuperado de https://www.aclweb.org/anthology/N19-1423.pdf.

Dyer, C., Kuncoro, A., Ballesteros, M. & Smith, N. A. (2016). Recurrent Neural Network Grammars. En NAACL. Recuperado de: http://arxiv.org/abs/1602.07776.

Elman, J. L. (1990). Finding structure in time. Cognitive science, 14(2), 179–211.

Gatt, A. & Krahmer, E. (2018). Survey of the State of the Art in Natural Language Generation: Core tasks, applications, and evaluation. Journal of Artificial Intelligence Research, 61, 65–170.

Graves, A., Wayne, G., Reynolds, M., Harley, T., Danihelka, I., Grabska-Barwińska, A., Gómez Colmenajero, S., Grefenstette, E., Ramalho, T., Agapiou, J., Puigdomènech Badia, A., Moritz Hermann, K., Zwols, Y., Ostrovski, G., Cain, A., King, H., Summerfield, C., Blunsom, P., Kavukcuoglu, K. & Hassabis, D. (2016). Hybrid computing using a neural network with dynamic external memory. Nature, 538, 471–476.

Henaff, M., Weston, J., Szlam, A., Bordes, A. & LeCun, Y. (2017). Tracking the World State with Recurrent Entity Networks. En Proceedings of ICLR 2017.

Hochreiter, S. & Schmidhuber, J. (1997). Long short-term memory. Neural computation, 9(8), 1735–1780.

Holtzman, A., Buys, J., Du, L., Forbes, M. & Choi, Y. (2020). The curious case of neural text degeneration. En Proceedings of ICLR 2020. Recuperado de https://arxiv.org/pdf/1904.09751.pdf.

Howard, J. & Ruder, S. (2018). Universal Language Model Fine-tuning for Text Classification. En Proceedings of ACL 2018, (pp. 328–339). Recuperado de https://www.aclweb.org/anthology/P18-1031.pdf.

Kalchbrenner, N., Grefenstette, E. & Blunsom, P. (2014). A Convolutional Neural Network for Modelling Sentences. En Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics, (pp. 655–665). Recuperado de http://arxiv.org/abs/1404.2188.

Kalchbrenner, N., Espeholt, L., Simonyan, K., Oord, A. van den, Graves, A. & Kavukcuoglu, K. (2016). Neural Machine Translation in Linear Time. ArXiv Preprint ArXiv: Recuperado de http://arxiv.org/abs/1610.10099.

Kim, Y. (2014). Convolutional Neural Networks for Sentence Classification. En Proceedings of the Conference on Empirical Methods in Natural Language Processing, (pp. 1746–1751). Recuperado de http://arxiv.org/abs/1408.5882.

Kumar, A., Ondruska, P., Iyyer, M., Bradbury, J., Gulrajani, I., Zhong, V., Paulus, R. & Socher, R. (2016). Ask me anything: Dynamic memory networks for natural language processing. En International Conference on Machine Learning, (pp. 1378–1387). Recuperado de https://arxiv.org/pdf/1506.07285.pdf.

Levy, O. & Goldberg, Y. (2014). Dependency-Based Word Embeddings. En Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics (Short Papers), (pp. 302–308). Recuperado de https://doi.org/10.3115/v1/P14-2050.

McCloskey, M. & Cohen, N. (1989). Catastrophic interference in connectionist networks: The sequential learning problem. En G. H. Bower (ed.): The Psychology of Learning and Motivation, 24, (pp. 109–164).

Merity, S. Shirish Keskar, N. & Socher, R. (2017). Regularizing and Optimizing LSTM Language Models. Recuperado de https://arxiv.org/pdf/1708.02182.pdf.

Mikolov, T., Sutskever, I., Chen, Kia., Corrado, G. & Dean, J. (2013). Distributed representations of words and phrases and their compositionality. En Proceedings of NAACL-HLT 2018, (pp. 2227–2237). Recuperado de https://aclweb.org/anthology/N18-1202.

Pennington, J., Socher, R. & Manning, C. (2014). Glove: Global vectors for word representation. En Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), (pp. 1532–1543). Recuperado de https://www.aclweb.org/anthology/D14-1162.

Peters, M. E., Neumann, M., Iyyer, M., Gardner, M., Clark, C., Lee, K. & Zettlemoyer, L. (2018). Deep contextualized word representations. En Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics (NAACL): Human Language Technologies, Volume 1 (Long Papers), (pp. 2227–2237). Recuperado de https://www.aclweb.org/anthology/N18-1202.

Radford, A., Wu, J., Child, R., Luan, D., Amodei, D. & Sutskever, I. (2019). Language Models Are Unsupervised Multitask Learners [blog]. OpenAI Blog, 1, 8.

Ramachandran, P., Liu, P. J. & Le, Q. V. (2017). Unsupervised Pretraining for Sequence to Sequence Learning. En Proceedings of EMNLP 2017.

Ruder, S. (2018). A review of the recent history of NLP [blog]. Recuperado de https://ruder.io/a-review-of-the-recent-history-of-nlp/.

Shao, L., Gouws, S., Britz, D., Goldie, A., Strope, B. & Kurzweil, R. (2017). Generating high-quality and informative conversation responses with sequence-to-sequence models. En Proceedings of EMNLP 2017. Recuperado de https://arxiv.org/abs/1701.03185.

Socher, R., Perelygin, A. & Wu, J. (2013). Recursive deep models for semantic compositionality over a sentiment treebank. En Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing, (pp. 1631–1642).

Sutskever, I., Vinyals, O. & Le, Q. V. (2014). Sequence to sequence learning with neural networks. En Advances in Neural Information Processing Systems (NIPS ’14). Recuperado de: https://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf.

Sukhbaatar, S., Szlam, A., Weston, J. & Fergus, R. (2015). End-To-End Memory Networks. En Proceedings of NIPS 2015. Recuperado de http://arxiv.org/abs/1503.08895.

Subramanian, S., Trischler, A., Bengio, Y. & Pal, C. J. (2018). Learning General Purpose Distributed Sentence Representations via Large Scale Multi-task Learning. En Proceedings of ICLR 2018.

Tai, K. S., Socher, R. & Manning, C. D. (2015). Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks. En ACL 2015, (pp. 1556–1566).

Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, L. & Polosukhin, I. (2017). Attention Is All You Need. Advances in Neural Information Processing Systems (NIPS), 1–11. Recuperado de https://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf.

Vijayakumar, A., Cogswell, M., Selvaraju, R., Sun, Q., Lee, S., Crandall, D. & Batra, D. (2017) Diverse beam search: decoding diverse solutions from neural sequence models. En Proceedings of ICLR 2017. Recuperado de https://arxiv.org/pdf/1610.02424.pdf.

Wang, J., Yu, L., Lai, K. R. & Zhang, X. (2016). Dimensional Sentiment Analysis Using a Regional CNN-LSTM Model. En Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (ACL 2016), (pp. 225–230).

Wang, A., Singh, A., Michael, J., Hill, F., Levy, O. & Bowman, S. (2019a). GLUE: A multi-task benchmark and analysis platform for natural language understanding. En International Conference on Learning Representations. Recuperado de https://openreview. net/forum?id=rJ4km2R5t7

Wang, A., Pruksachatkun, Y., Nangia, N., Singh, A., Michael, J., Hill, F., Levy, O. & Bowman, S. (2019b). SuperGLUE: A Stickier Benchmark for General-Purpose Language Understanding Systems. En 33rd Conference on Neural Information Processing Systems (NeurIPS 2019). Recuperado de https://w4ngatang.github.io/static/papers/superglue.pdf.

Sobre los autores

Fernando Balbachan fernando.balbachan@natural.do Doctor en Lingüística (UBA 2014), Máster en Lingüística Computacional (Indiana University 2006) y Licenciado en Letras con orientación en Lingüística (UBA 1999). En el ámbito académico desde 2008 ocupa el cargo de Jefe de Trabajos Prácticos en la cátedra Modelos Formales No Transformacionales (UBA) y desde 2020 forma parte del cuerpo docente de la Especialización de Posgrado en Tecnologias aplicadas aos novos modelos transacionais de la Universidade Tuiuti do Paraná (Brasil). En el ámbito profesional se ha desempeñado como consultor de proyectos nacionales e internacionales en Procesamiento del Lenguaje Natural, fundando su propia compañía de NLP Natural Tech https://natural.do en 2015.

Natalia Flechas nataliaflechas@outlook.com : Licenciada en Letras con orientación en Lingüística (UBA 2019). Adscripta a la cátedra de Modelos Formales No Transformacionales (UBA). Ha venido trabajando como lingüista computacional en diversas compañías de software.

Ignacio Maltagliatti ignacio.maltagliatti@natural.do Ingeniero Civil (UTN 2011) y Máster en Data Mining (UTN en curso). Se ha venido desempeñando como desarrollador NLP Senior en la empresa Natural Tech desde 2020.

Francisco Pensa francisco.pensa@natural.do Experto progamador y líder técnico proveniente del mundo de las ONGs y datos abiertos. Se ha venido desempeñando como CTO en la empresa Natural Tech desde 2020.

Lucas Ramírez lucas.ramirez@natural.do Licenciatura en Letras (UBA en curso). Consultor en capacitación y director de cursos de extensión universitaria en diversas universidades. Se ha venido desempeñando como Analista NLP Senior en la empresa Natural Tech desde 2020.

--

--

NaturalTech

NaturalTech is a technology company with a specific goal: make computers understand natural language the way native speakers do.