UiPath Documentation
ixp
latest
false
Guía del usuario de Communications Mining
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Transformadores eficientes I: mecanismos de atención

Mecanismos de atención utilizados en Extracción y procesamiento inteligentes (IXP) Communications Mining en Automation Cloud para hacer que los modelos de NLP basados en Transformer sean más eficientes.

El negocio se basa en las comunicaciones. Los clientes se ponen en contacto cuando necesitan algo. Los colegas se conectan para trabajar. En Communications Mining™, nuestra misión es cambiar fundamentalmente la economía del trabajo de servicio en la empresa: desbloquear el valor en cada interacción y hacer que el servicio sea eficiente y escalable. Para ello, democratizamos el acceso a NLP y NLU de última generación.

En concreto, los modelos de Communications Mining utilizan arquitecturas de aprendizaje profundo llamadas Transformers. Los transformadores facilitan grandes mejoras en el rendimiento de NLU. Sin embargo, también son muy intensivos en cálculo, tanto en el entrenamiento de los modelos para aprender nuevos conceptos como en su uso para hacer predicciones. Esta serie de dos partes analizará múltiples técnicas para aumentar la velocidad y reducir el coste de cálculo del uso de estas grandes arquitecturas de Transformer.

Esta publicación:

  • Presentar una breve historia de la incorporación de modelos en PNL.
  • Explique por qué el mecanismo de autoatención de Transformer tiene una alta carga de trabajo computacional.
  • Revise las modificaciones a la arquitectura tradicional de Transformer que son más eficientes desde el punto de vista computacional para entrenar y ejecutar sin comprometer significativamente el rendimiento.

The next post will look at additional computational and approximation techniques that yield further efficiency gains. The next post will:

  • Explore las técnicas de destilación, en las que los modelos más pequeños se entrenan para aproximarse al rendimiento de los modelos más grandes.
  • Explicar las técnicas eficientes de ajuste fino, en las que las actualizaciones de parámetros están restringidas.
  • Proporcione nuestras recomendaciones sobre cuándo utilizar cada uno de estos métodos.

Fondo​​

Durante la última década, los métodos de PNL han mejorado significativamente en la realización de una amplia variedad de tareas. Esto puede atribuirse en gran medida a un cambio de enfoques guiados a mano y basados en la ingeniería de características hacia métodos impulsados por el aprendizaje automático.

Las mayores mejoras en el rendimiento se han debido a los avances en el aprendizaje de representaciones semánticas preentrenadas no supervisadas. Esto implica entrenar un modelo que asigna secuencias de lenguaje natural (por ejemplo palabras, frases) a vectores (secuencias de números) que representan su significado semántico. Estos vectores pueden utilizarse para realizar la tarea de interés, por ejemplo reconocimiento de intención, clasificación de sentimiento, reconocimiento de campo general nombrado, etc.

Incrustaciones de Word​​

El cambio de paradigma comenzó en la década de 2010 con métodos de incrustación de palabras como word2vec y GloVe. Estas técnicas utilizan grandes conjuntos de datos de lenguaje natural para aprender incrustaciones (otra palabra para vectores) de palabras de forma no supervisada.

Las incrustaciones codifican información semántica en función de los contextos en los que aparecen con frecuencia las palabras. Por ejemplo, la palabra "ordenador" puede aparecer a menudo junto a palabras como "teclado", "software" e "internet"; estas palabras vecinas comunes incorporan la información que la incrustación de "computer" debe codificar.

Las incrustaciones de palabras tradicionales tienen una debilidad clave: son estáticas, es decir, la incrustación de una palabra determinada es siempre la misma. Por ejemplo, considera la palabra "banco": puede referirse a la orilla de un río o a una institución financiera; su incrustación tendría que codificar ambos significados.

Inserciones contextuales​​

Para abordar esta debilidad, se desarrollaron métodos de inserción contextual. Estos tienen una incrustación diferente para cada palabra dependiendo de la secuencia (p. ej. oración, documento) en el que aparece. Esta línea de trabajo ha cambiado las reglas del juego; ahora es extremadamente raro encontrar métodos de última generación que no se basen en incrustaciones contextuales.

Una de las primeras técnicas populares de incrustación contextual fue ELMo, que implica el entrenamiento previo de un modelo de red neuronal recurrente (RNN) en un gran corpus de lenguaje natural utilizando un objetivo de predicción de la siguiente palabra. Las representaciones internas de este modelo se utilizan como entradas para modelos (normalmente pequeños) para realizar tareas supervisadas. En ese momento, este enfoque mejoró significativamente el estado de la técnica anterior en varias tareas.

Pasar de RNN a Transformers​

Las RNN procesan cada palabra en una secuencia una tras otra, por lo que pueden ser lentas cuando se trata de documentos largos. Como resultado, modelos como BERT y RoBERTa, que reemplazan el componente recurrente de ELMo con el Transformer más amigable con el cálculo paralelo, se han convertido en los enfoques de referencia.

Estos modelos suelen estar preentrenados con un objetivo de modelado de lenguaje enmascarado: se elimina un subconjunto de palabras en una secuencia y el modelo tiene la tarea de predecir cuáles son las palabras que faltan.

Sin embargo, los modelos de lenguaje modernos basados en Transformer son generalmente muy grandes: pueden contener miles de millones de parámetros y su ejecución es muy exigente desde el punto de vista computacional. El flujo de trabajo típico es:

  1. Preentrena el modelo de lenguaje en un conjunto de datos genérico no anotado.
  2. Preentrena más el modelo de lenguaje en un conjunto de datos no anotados específico del dominio.
  3. Ajusta el modelo de lenguaje, utilizando datos anotados, para realizar la tarea supervisada de interés.

Aunque el primero de estos pasos suele ser un coste único, los dos últimos no lo son. Y mientras la potencia de cálculo es cada vez más barata, las arquitecturas de Transformer son cada vez más grandes. Esto significa que el coste del rendimiento de última generación no está necesariamente disminuyendo.

Por lo tanto, esta publicación presentará una gama de técnicas que reducen la carga de trabajo computacional y minimizan el impacto en el rendimiento.

El mecanismo de autoatención​​

Nota:

Aunque los Transformers operan en tokens de subpalabras, esta publicación se refiere a las palabras para que las cosas sean más fáciles de entender.

The Transformer architecture begins with a learnable embedding layer. Each subsequent layer builds its internal representations using a ‘self-attention’ mechanism (i.e., the representation for each word looks at every other word in the sequence. Check Figure 1 for an example.). Each self-attention layer comprises multiple ‘heads’ (each head does its own self-attention).

El mecanismo de autoatención

Suppose there are N words in a sequence. Each self-attention head has D-dimensional query, key and value vectors for each word, which are computed using the output of the previous layer h(n-1):

Estos se concatenan en las matrices NxD Q, K y V respectivamente. La matriz de atención se calcula como:

La salida de la capa de autoatención se calcula como:

La salida final para cada capa se calcula concatenando las salidas de autoatención para cada encabezado y alimentándola a través de una pequeña red de retroalimentación.

Although (unlike RNNs) the computation can be done in parallel, Figure 1 shows that there will be N² self-attention operations to perform for a sequence with N words. That is, the computational complexity scales quadratically with sentence length. When considering that modern Transformers use tens of layers, each with tens of heads consisting of thousands of dimensions, there are lots of operations to perform even for a single sequence.

Naturally, one line of research aims to reduce this N² complexity with simpler self-attention mechanisms; this is the biggest area of research into efficient Transformer architectures. Some popular approaches are reviewed in the sections that follow. For more comprehensive coverage, check this survey paper.

Prestar atención bloque a bloque​​

Una forma de reducir el número de operaciones es restringir el número de palabras de la secuencia que analiza el mecanismo de autoatención. BlockBERT hace esto segmentando la secuencia en fragmentos. En un encabezado de atención determinado, el mecanismo de atención dentro de un fragmento solo busca las palabras dentro de uno de los fragmentos (consulta la Figura 2 para ver un ejemplo). Cada cabeza de atención en cada capa permuta los fragmentos que observa el mecanismo de atención.

Esto significa que después de decenas de capas, la incrustación de cada palabra probablemente haya atendido a toda la secuencia. Dependiendo del tamaño del modelo, en comparación con RoBERTa, BlockBERT es entre un 12 % y un 25 % más rápido de entrenar, requiere entre un 19 % y un 36 % menos de memoria y funciona casi tan bien en tareas de respuesta a preguntas (las puntuaciones F1 son ~0,8 puntos más bajas en SQuAD 2.0 ).

El mecanismo de autoatención BlockBERT solo atiende a las palabras dentro de un bloque.

Combinar múltiples patrones de atención​​

De forma similar, el Longformer también restringe cuántas palabras mira el mecanismo de autoatención. Lo hace combinando múltiples patrones de atención simples (consulta la Figura 3 para ver un ejemplo).

  • Ventana deslizante
    • Presta atención solo a las k palabras vecinas.
  • Ventana deslizante dilatada
    • Pay attention to every l-th word, up to a predefined limit.
  • Atención global
    • En algunas posiciones preseleccionadas, presta atención a toda la secuencia.
    • En cada posición, presta atención a las posiciones preseleccionadas.

Con esta combinación de patrones de atención, después de varias capas, es probable que la incrustación de cada palabra haya atendido a toda la secuencia. Particularmente en secuencias largas, el Longformer es mucho más rápido y utiliza menos memoria que RoBERTa. Sorprendentemente, Longformer supera a RoBERTa en una variedad de tareas: respuesta a preguntas, resolución de correferencias y clasificación de sentimientos.

El mecanismo de autoatención de Longformer combina una ventana deslizante, una ventana deslizante dilatada y atención global en unas pocas posiciones preseleccionadas

BigBird es otro enfoque popular y es muy similar al Longformer, excepto que en lugar de la ventana deslizante dilatada, utiliza un patrón de atención aleatoria (es decir, cada representación atiende a un número fijo de palabras aleatorias en la secuencia).

Uso de una aproximación de rango bajo​​

Un tipo de enfoque diferente a los presentados hasta ahora es el Linformer, que se basa en el resultado teórico de que la operación de autoatención es de bajo rango. El Linformer proyecta linealmente las matrices de clave y valor (K y V) hacia abajo, a lo largo de la dimensión de longitud, a una secuencia más corta (longitud fija) sobre la que se puede aplicar toda la atención (consulta la Figura 4 para ver un ejemplo).

En comparación con la autoatención estándar, para secuencias cortas, el Linformer es entre 1,3 y 3 veces más rápido y para secuencias largas, es entre 3 y 20 veces más rápido de ejecutar. En una variedad de tareas de clasificación de texto, tiene un rendimiento comparable (y en ciertas tareas, ligeramente mejor) a RoBERTa.

El mecanismo de autoatención de Linformer implica una proyección descendente a lo largo de la dimensión de longitud a una secuencia más corta (en este caso, longitud 4) sobre la que se puede aplicar toda la atención

Resumen​​

Esta serie de dos partes analiza cómo hacer que la PNL de última generación sea más eficiente mediante la exploración de modificaciones a las técnicas de modelado de lenguaje basadas en Transformer, populares pero computacionalmente exigentes. Esta publicación:

  • Se presentó una breve historia del aprendizaje de la representación semántica en PNL, incluidas las incrustaciones de palabras tradicionales y los modelos de incrustación contextual.
  • Se ha explicado el mecanismo de autoatención que se encuentra en el corazón de la arquitectura de Transformer, y por qué su ejecución es costosa desde el punto de vista informático.
  • Exploración de mecanismos de atención alternativos que son más eficientes desde el punto de vista computacional, sin sacrificar el rendimiento.
  • Una descripción general de los métodos que entrenan modelos pequeños para reproducir los resultados de modelos grandes.
  • Cómo ajustar los modelos de lenguaje de forma eficiente en cuanto a los parámetros.
  • Nuestras recomendaciones para escenarios en los que utilizar los diferentes enfoques de Transformador eficiente.

Si desea probar Communications Mining™ en su empresa, regístrese para una prueba o vea una demostración.

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado