Acelere con BERT: modelos de optimización de PNL

Publicado: 2022-03-11

Acelerando la PNL con BERT: Resultados de clase mundial con 100 veces menos datos

Hay dos dificultades principales al construir modelos de clasificación de procesamiento de lenguaje natural (NLP) de aprendizaje profundo.

  1. Recopilación de datos (obtención de miles o millones de puntos de datos clasificados)
  2. Arquitectura y entrenamiento de aprendizaje profundo

Nuestra capacidad para construir modelos complejos de aprendizaje profundo que sean capaces de comprender la complejidad del lenguaje generalmente ha requerido años de experiencia en estos dominios. Cuanto más difícil sea su problema, más diverso sea su resultado, más tiempo necesitará dedicar a cada uno de estos pasos.

La recopilación de datos es onerosa, requiere mucho tiempo, es costosa y es el factor limitante número uno para el éxito de los proyectos de PNL. La preparación de datos, la creación de canalizaciones resilientes, la elección entre cientos de posibles opciones de preparación y la "preparación del modelo" pueden llevar fácilmente meses de esfuerzo, incluso con ingenieros de aprendizaje automático talentosos. Finalmente, entrenar y optimizar los modelos de aprendizaje profundo requiere una combinación de comprensión intuitiva, experiencia técnica y la capacidad de resolver un problema.

En este artículo, cubriremos

  1. Tendencias en el aprendizaje profundo para PNL: cómo el aprendizaje por transferencia está haciendo que los modelos de clase mundial sean de código abierto
  2. Introducción a BERT: una introducción a la "herramienta" de NLP más poderosa hasta la fecha: representaciones de codificador bidireccional de transformadores (BERT)
  3. Cómo funciona BERT y por qué cambiará la forma en que las empresas ejecutan los proyectos de NLP

Tendencias en aprendizaje profundo

Naturalmente, la optimización de este proceso comenzó con una precisión cada vez mayor. Las redes LSTM (memoria a largo plazo) revolucionaron muchas tareas de PNL, pero eran (y son) increíblemente ávidas de datos. Optimizar y entrenar esos modelos puede llevar días o semanas en máquinas grandes y costosas. Finalmente, implementar esos modelos grandes en producción es costoso y engorroso.

Para reducir estos factores que crean complejidad, el campo de la visión por computadora ha utilizado durante mucho tiempo el aprendizaje por transferencia. El aprendizaje de transferencia es la capacidad de usar un modelo entrenado para una tarea diferente pero similar para acelerar su solución en una nueva. Requiere mucho menos esfuerzo volver a entrenar un modelo que ya puede categorizar árboles que entrenar un nuevo modelo para que reconozca arbustos desde cero.

Imagine un escenario en el que alguien nunca haya visto un arbusto pero haya visto muchos árboles en su vida. Le resultaría mucho más fácil explicarles cómo se ve un arbusto en términos de lo que saben sobre los árboles en lugar de describir un arbusto desde cero. El aprendizaje por transferencia es una forma muy humana de aprender, por lo que tiene sentido intuitivo que funcione en tareas de aprendizaje profundo.

BERT significa que necesita menos datos, menos tiempo de capacitación y obtiene más valor comercial. La calidad de los productos de PNL que cualquier empresa puede crear se ha vuelto de clase mundial.

Llega BERT

BERT hace uso de lo que se llama transformadores y está diseñado para producir codificaciones de oraciones. Esencialmente, BERT es un modelo de lenguaje basado en un modelo específico de aprendizaje profundo. Está diseñado específicamente para dar una representación contextual, numérica, de una oración o una cadena de oraciones. Esa representación digital es la entrada a un modelo superficial y sin complicaciones. No solo eso, sino que los resultados son generalmente superiores y requieren una fracción de los datos de entrada para una tarea que aún no se ha resuelto.

Imagine poder pasar un día recopilando datos en lugar de un año y poder construir modelos en torno a conjuntos de datos que, de otro modo, nunca tendría suficientes datos para crear un modelo LSTM. La cantidad de tareas de NLP que se abrirían para una empresa que, antes, no podía permitirse el tiempo de desarrollo y la experiencia requerida es asombrosa.

BERT vs LSTM ilustrado

Cómo funciona BERT

En la PNL tradicional, el punto de partida para el entrenamiento de modelos son los vectores de palabras. Los vectores de palabras son una lista de números [0.55, 0.24, 0.90, …] que intentan representar numéricamente lo que significa esa palabra. Con una representación numérica, podemos usar esas palabras para entrenar modelos complejos, y con vectores de palabras grandes, podemos incrustar información sobre palabras en nuestros modelos.

BERT hace algo similar (de hecho, su punto de partida son los vectores de palabras), pero crea una representación numérica de una oración (u oraciones) de entrada completa.

En comparación con los modelos LSTM, BERT hace muchas cosas de manera diferente.

  1. Lee todas las palabras a la vez en lugar de leer de izquierda a derecha o de derecha a izquierda.
  2. El 15% de las palabras se seleccionan al azar para ser "enmascaradas" (reemplazadas literalmente con el token [MASK]) durante el tiempo de entrenamiento
    • 10% de las palabras seleccionadas al azar se dejan sin cambios
    • 10% de las palabras enmascaradas se reemplazan con palabras aleatorias
    • (a) y (b) trabajan juntos para forzar al modelo a predecir cada palabra en la oración (los modelos son perezosos)
  3. BERT luego intenta predecir todas las palabras en la oración, y solo las palabras enmascaradas contribuyen a la función de pérdida, incluidas las palabras sin cambios y reemplazadas aleatoriamente.
  4. El modelo se afinó en la predicción de la siguiente oración. En este paso, el modelo intenta determinar si una oración dada es la siguiente oración en el texto.

La convergencia es lenta y BERT tarda mucho en entrenarse. Sin embargo, aprende mucho mejor las relaciones contextuales en el texto. Los vectores de palabras son representaciones muy superficiales que limitan la complejidad que pueden modelar; BERT no tiene esta limitación.

La mayoría de las empresas pueden hacer uso de los modelos preentrenados que utilizaron varias GPU y tardaron días en entrenarse para su aplicación. Hay pocos casos en los que los modelos BERT existentes no se pueden usar en su lugar o ajustarse a un caso de uso específico. BERT permite que un equipo acelere las soluciones diez veces. Uno puede pasar a identificar una solución comercial, construir una prueba de concepto y, finalmente, pasar ese concepto a producción en una fracción del tiempo.

Implementación de BERT y comparación del valor empresarial

Dado que este artículo se centra en la aplicación empresarial y de ingeniería de la creación de un producto real, crearemos y entrenaremos dos modelos para comprender mejor el valor comparativo.

  1. BERT: la canalización BERT más sencilla. Procesamos el texto de una manera estándar, producimos las codificaciones de oraciones BERT y alimentamos esas codificaciones de oraciones en una red neuronal superficial.
  2. LSTM: la arquitectura estándar Embed - Encode - Attend - Predict (en la imagen de arriba)

¿La tarea? Predecir el origen de las películas en función de su trama de IMDB. Nuestro conjunto de datos cubre películas estadounidenses, australianas, británicas, canadienses, japonesas, chinas, surcoreanas y rusas, además de otras dieciséis películas para un total de 24 orígenes. Tenemos poco menos de 35,000 ejemplos de capacitación en total.

Aquí hay un fragmento de ejemplo de una trama.

Hace miles de años, Steppenwolf y sus legiones de Parademons intentan apoderarse de la Tierra con las energías combinadas de tres Cajas Madre. Son frustrados por un ejército unificado que incluye a los dioses olímpicos, las amazonas, los atlantes, la humanidad y el Green Lantern Corps. Después de repeler al ejército de Steppenwolf, las Cajas Madre se separan y ocultan en lugares del planeta. En el presente, la humanidad está de luto por Superman, cuya muerte desencadena la reactivación de las Cajas Madre y el regreso de Steppenwolf a la Tierra en un esfuerzo por recuperar el favor de su maestro, Darkseid. Steppenwolf tiene como objetivo reunir los artefactos para formar "La Unidad", que destruirá la ecología de la Tierra y la terraformará a la imagen de...

Si no lo ha adivinado, esta es la trama de la Liga de la Justicia, una película estadounidense.

Los resultados

Entrenamos un conjunto diverso de parámetros para comprender cómo respondían los resultados a cantidades variables de datos y tamaños de modelos. Como dijimos, el valor agregado más significativo de BERT es la necesidad de muchos menos datos.

Para el modelo LSTM, entrenamos el modelo más grande que pudimos en nuestra GPU y variamos el tamaño del vocabulario y la longitud de las palabras para encontrar el modelo con mejor desempeño. Para el modelo BERT, no teníamos nada más que una sola capa.

Arreglamos nuestro conjunto de prueba en todas estas muestras, por lo que constantemente estamos calificando el mismo conjunto de entrenamiento.

Resultados al usar BERT NLP

En esta tarea, el modelo entrenado con codificaciones de oraciones BERT alcanza una impresionante puntuación F1 de 0,84 después de solo 1000 muestras. La red LSTM nunca supera 0,60. Aún más impresionante, entrenar los modelos BERT tomó en promedio 1/20 del tiempo que preparar los modelos LSTM.

Conclusión

Por cualquier métrica, estos resultados apuntan a una revolución en la PNL. Utilizando 100 veces menos datos y 20 veces menos tiempo de capacitación, logramos resultados de clase mundial. La capacidad de entrenar modelos de alta calidad en segundos o minutos en lugar de horas o días abre la PNL en áreas donde antes no se podía permitir.

BERT tiene muchos más usos que el de esta publicación. Hay modelos multilingües. Se puede usar para resolver muchas tareas diferentes de PNL, ya sea individualmente como en esta publicación o simultáneamente usando múltiples salidas. Las codificaciones de oraciones BERT están configuradas para convertirse en la piedra angular de muchos proyectos de NLP en el futuro.

El código detrás de esta publicación está disponible en Github. También animo a los lectores a consultar Bert-as-a-service, que fue la piedra angular de la construcción de las codificaciones de oraciones BERT para esta publicación.

Relacionado: Aprovechar al máximo los modelos preentrenados