Modelos de lenguaje en el NLP

Mónica Echeverri Torres
5 min readMar 20, 2020

--

Los modelos de lenguaje(LM), son modelos de aprendizaje automático que funcionan prediciendo cual será la siguiente palabra dentro de una oración, teniendo en cuenta el contexto de las palabras anteriores. Esto se basan en una descripción probabilística de los fenómenos del lenguaje.

Las probabilidades ayudan a elegir la palabra más fluida de varias alternativas. Los n-gramas son un tipo de modelo probabilístico que permite hacer una predicción estadística del próximo elemento de cierta secuencia de elementos.
Aunque puede haber infinitos elementos posibles, se suele asumir que cada elemento solo depende de los últimos n elementos de una secuencia. Un modelo de n-grama puede ser definido por una cadena de Márkov. El modelo de Márkov, es un tipo especial de proceso estocástico discreto, en el que la probabilidad de que ocurra un evento depende únicamente del evento inmediatamente anterior.

Existe una gama de modelos de lenguaje de n-gramas que se diferencian por la forma en que manejan eventos invisibles y realizan suavizado de probabilidad teniendo en cuenta los tipos de palabras y la coherencia semántica.
Un ejemplo sencillo de estos modelos predictivos de lenguaje, son los teclados de nuestros Smartphone, que dependiendo de lo que escribamos nos ofrece varias posibles alternativas de la palabra que será escrita a continuación, ahorrándonos algo de tiempo y esfuerzo.

Imagen: screenshot ejemplo
Fuente: Elaboración propia

Tres de los principales LM de los cuales podemos encontrar información en la nube son GPT-2 de OpenAi, BERT de Google y XLNet.

Y otros menos populares como RoBERTa, NABoE, T5. (Con el tiempo ampliaré la información sobre estas).

Todos tienen la misión de predecir palabras faltantes, dado el contexto.
Existen dos tipos de ML:

• Left to right ó de izquierda a derecha, este se encarga de predecir la siguiente palabra en una secuencia, dado un contexto.
• Bidirectional o “enmascarado”: Este predice una palabra o secuencia de palabras, con contexto a cada lado del texto.

Encontrar qué modelo es más adecuado para una tarea en particular dependerá de las métricas de rendimiento seleccionada, costo de capacitación, complejidad del modelo, entre otros.

Fuente: http://jalammar.github.io/illustrated-gpt2/

GPT-2
Es un modelo de lenguaje basado en transformadores, desarrollado por OpenAI, compañía de investigación de inteligencia artificial sin fines de lucro. Este modelo cuenta con 1.500 millones de parámetros, capacitado en un conjunto de datos de 8 millones de páginas web. Está entrenado para predecir la siguiente palabra, dadas todas las palabras anteriores dentro de algún texto.
GPT2 como BERT se basa en la codificación de tokens de palabras y una arquitectura de transformador de múltiples capas. OpenAI desarrollo varios modelos y la precisión de la detección depende en gran medida de los métodos de muestreo utilizados en el entrenamiento y las pruebas, si bien el modelo es más confiable cuando se entrena con una variedad de técnicas de muestreo, los resultados de los modelos más grandes son más difíciles de clasificar, pero el entrenamiento hace que los resultados de detección sean más precisos y sólidos.

Precisión del modelo transferido (muestras de núcleo)

Fuente: https://openai.com/

BERT
Es el acrónimo para Bidirectional Encoder Representations from Transformers (Representaciones de Codificador Bidireccional de Transformadores). Se trata de un sistema basado en inteligencia artificial (IA) para ayudar a los algoritmos de Google Search a entender el lenguaje natural.
Bert es una red neuronal de código abierto desarrollada por Google. Esta tecnología permite entrenar un sistema para mejorar y aumentar la capacidad para responder preguntas. Este modelo de lenguaje “enmascarado”, cuenta con una arquitectura que supera todos los puntos de referencia del PNL, se usó para renovar tanto la búsqueda de Google como el BING de Microsoft en el 2019.

Bert posee una característica que se llama “bidireccionalidad”, que consiste en analizar una oración en dos direcciones. Es decir, analiza las palabras que se encuentran tanto a la izquierda como a la derecha de una palabra clave, y esto le permite entender en profundidad el contexto y la temática de toda la frase que introduce un usuario.

Los modelos pre-entrenados con enmascaramiento de palabras completas, tienen una estructura y un vocabulario idénticos a los modelos originales.
• BERT-Large, Uncased (Whole Word Masking): 24 capas, 1024 ocultos, 16 cabezales, parámetros 340M.
• BERT-Large, Cased (Whole Word Masking): 24 capas, 1024 ocultos, 16 cabezales, parámetros 340M.

RoBERTa
Implementada en Facebook, basada en Bert con una metodología de entrenamiento mejorada, un 1000% más de datos y potencia de cálculo.
Para mejorar el procedimiento de entrenamiento, elimina la tarea de predicción de siguiente oración, como funcionaba Bert e introduce un enmascaramiento dinámico para que el token enmascarado cambie durante el tiempo de entrenamiento. Usa los tamaños por lotes más grandes para mejorar el procedimiento de entrenamiento.

XLNet
Funciona como una extensión del modelo Transformer-XL pre-entrenado usando un método autor regresivo para aprender contextos bidireccionales, maximizando la probabilidad esperada sobre todas las permutaciones del orden de factorización de secuencia de entrada. Usa un mecanismo llamado modelado de lenguaje de permutación (PLM), donde el próximo token depende de todos los tokens anteriores.
PLM captura el contexto de forma bidireccional, mediante la capacitación de un modelo autorregresivo sobre todas las posibles permutaciones de palabras en una oración. En lugar del modelado fijo izquierda-derecha o derecha-izquierda, XLNET maximiza la probabilidad de registro esperada sobre todas las permutaciones posibles de la secuencia. Como expectativa, cada posición aprende a utilizar información contextual de todas las posiciones, capturando así el contexto bidireccional.

XLNet es más coherente a la hora de generar texto a pesar de que sus muestras tienen errores gramaticales con más frecuencia que GPT-2.
El nuevo modelo logra un rendimiento de vanguardia en PNL, incluyendo respuestas a preguntas, inferencia de lenguaje natural, análisis de sentimientos y clasificación de documentos.

Fuente: https://www.topbots.com/ai-nlp-research-big-language-models/

Para finalizar, veremos esta pequeña tabla de comparación que iré actualizando con el tiempo.

Modelo de lenguaje de autoencoder (AE): Tiene como objetivo reconstruir los datos originales de una entrada corrupta y aunque tiene en cuenta los contextos de ambas direcciones, no guarda una relación directa entre las palabras seleccionadas para generar los tokens.

Modelado de lenguaje autorregresivo(AR): Es una representación de un proceso aleatorio, en el que la variable de interés depende de sus observaciones pasadas.

Por desgracia no soy experta en el tema, así que recibo criticas constructivas y correcciones.
Nos vemos pronto.

--

--

Mónica Echeverri Torres
Mónica Echeverri Torres

Written by Mónica Echeverri Torres

Ingeniera informática, desarrolladora full stack con grandes aptitudes en tecnologías disruptivas como desarrollo de ChatBot y reconocimiento facial.