communications-mining
latest
false
Importante :
Este contenido se ha traducido mediante traducción automática.
UiPath logo, featuring letters U and I in white

Guía para desarrolladores de Communications Mining

Última actualización 20 de dic. de 2024

Aprendizaje basado en solicitudes con Transformers

Los modelos de aprendizaje automático de Communications Mining utilizan una arquitectura llamada Transformador, que en los últimos años ha logrado resultados de vanguardia en la mayoría de las tareas comunes de procesamiento del lenguaje natural (NLP). El enfoque a seguir ha sido tomar un modelo de lenguaje Transformer preentrenado y ajustarlo en la tarea de interés.

Más recientemente, hemos estado investigando las "solicitudes", un grupo de métodos prometedores que están ganando popularidad. Estos implican especificar directamente la tarea en lenguaje natural para que el modelo de lenguaje preentrenado la interprete y la complete.

Los métodos basados en solicitudes tienen beneficios potenciales significativos, así que ¿debería usarlos? Esta publicación:

  • Ilustra la diferencia entre el ajuste fino tradicional y las indicaciones.
  • Explicar los detalles de cómo funcionan algunos métodos populares basados en solicitudes.
  • Analizar los pros y los contras de los métodos basados en solicitudes, y proporcionar nuestra recomendación sobre su uso o no.

Fondo​

En los últimos años, el campo de la PNL ha pasado de utilizar incrustaciones de palabras estáticas preentrenadas, como word2vec y GloVe, a utilizar grandes modelos de lenguaje basados en Transformer, como BERT y GPT-3.

Estos modelos de lenguaje se entrenan previamente utilizando datos no anotados, con el objetivo de poder codificar el significado semántico de las secuencias de texto (por ejemplo, oraciones/documentos). El objetivo del preentrenamiento es aprender representaciones que, por lo general, serán útiles para cualquier tarea posterior.

Una vez preentrenado, el modelo de lenguaje suele ajustarse (es decir, los parámetros preentrenados se entrenan aún más) para una tarea posterior, por ejemplo reconocimiento de intenciones, clasificación de sentimientos, reconocimiento de campos generales con nombre, etc. El proceso de ajuste requiere datos de entrenamiento anotados, y el modelo se ajusta por separado para cada tarea.

Preentrenamiento

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

Los transformadores funcionan codificando primero cada palabra en una secuencia de texto como un vector de números conocido como "incrustación". A la capa de incrustación le sigue una secuencia de capas de atención, que se utilizan para construir las representaciones internas del modelo de la secuencia. Por último, está la capa de predicción, cuya función objetivo depende del tipo de preentrenamiento utilizado.

Los transformadores se entrenan previamente de forma no supervisada. Este paso se suele realizar utilizando uno de los dos tipos de entrenamiento:

  • Modelado de lenguaje enmascarado (se muestra un ejemplo en la Figura 1)
    • Algunas palabras elegidas aleatoriamente se eliminan de la secuencia, y el modelo se entrena para predecir las palabras que faltan.
  • Predicción de la siguiente palabra (se muestra un ejemplo en la Figura 2)
    • El modelo tiene que predecir cada palabra de la secuencia, condicionada a las que le precedieron.
El procedimiento de preentrenamiento de modelado de lenguaje enmascarado.

El procedimiento de preentrenamiento de la predicción de la siguiente palabra.

Ajuste​

Una vez que el modelo ha sido preentrenado, se ajusta para una tarea posterior supervisada (p. ej. reconocimiento de intenciones). Esto suele implicar tomar la representación en el paso final de una secuencia (o la media de las representaciones) y pasarla a través de una pequeña red de retroalimentación para hacer una predicción (consulta la Figura 3 para ver un ejemplo). La mayoría de las veces, los parámetros tanto del modelo de lenguaje preentrenado como del modelo feedforward se actualizan durante el proceso de ajuste.

Realizar el reconocimiento de intenciones ajustando un modelo de lenguaje preentrenado.

Aprendizaje basado en solicitudes​

Supongamos que tenemos un modelo de lenguaje preentrenado con el que queremos realizar una tarea posterior. En lugar de utilizar las representaciones del modelo de lenguaje como entradas a otro modelo para resolver la tarea (como se ha descrito anteriormente), podríamos utilizar directamente su capacidad para modelar el lenguaje natural alimentándolo con un "mensaje" y haciendo que rellene los espacios en blanco o para completar la secuencia (en la Figura 4 se muestra un ejemplo).

Utilizar una indicación de lenguaje natural para resolver una tarea directamente utilizando el modelo de lenguaje preentrenado.

También es posible proporcionar ejemplos en la solicitud, para mostrar al modelo cómo debe completarse la tarea (consulta la Figura 5 para ver un ejemplo). Esto se conoce como aprendizaje de disparos K , donde K se refiere al número de ejemplos proporcionados. Esto significa que la Figura 4 es un ejemplo de aprendizaje de disparo cero.

Proporcionar ejemplos de la tarea completada en la solicitud.

Cuando se utilizan solicitudes, el modelo aún puede ajustarse (de la misma manera que se describe anteriormente), pero esto a menudo no es necesario, como veremos a continuación.

En el resto de esta sección, revisaremos algunos métodos populares basados en solicitudes; consulta este documento de encuesta para obtener una cobertura más completa.

GPT-3​

GPT-3 es un gran modelo de lenguaje basado en Transformer que se entrena utilizando el objetivo de predicción de la siguiente palabra en una versión filtrada del conjunto de datos Common Crawl. Además de ser famoso por generar secuencias de texto de una calidad notablemente alta, GPT-3 también se utiliza para realizar tareas supervisadas en las configuraciones de disparo cero, disparo único y pocos disparos (10K100) sin ningún ajuste fino. Los autores entrenan modelos de diferentes tamaños, el más grande con 175 000 millones de parámetros.

En general, GPT-3 consigue buenos resultados en la configuración de disparo cero y de disparo único. En la configuración de pocas tomas, a veces funciona mejor que los modelos de última generación, aunque pueden ajustarse en grandes conjuntos de datos anotados. En la gran mayoría de las tareas, el rendimiento de GPT-3 mejora tanto con el tamaño del modelo como con el número de ejemplos que se muestran en la solicitud.

Sin embargo, también tiene problemas con ciertas tareas, en particular aquellas que implican comparar múltiples secuencias de texto. Estos incluyen:

  • Inferencia de lenguaje natural
    • El modelo recibe dos frases y tiene que decidir si la segunda implica, contradice o es neutral con respecto a la primera.
  • Comprensión de lectura
    • El modelo recibe un párrafo y tiene que responder preguntas sobre él.

Los autores suponen que esto se debe a que GPT-3 está entrenado para la predicción de la siguiente palabra, es decir, de izquierda a derecha (en lugar de bidireccional).

Entrenamiento de explotación de patrones​

Para una tarea determinada, el entrenamiento de explotación de patrones (PET) define un conjunto de solicitudes, cada una con exactamente un token de máscara, que se envían a un modelo de lenguaje que se entrenó previamente con el objetivo de modelado de lenguaje enmascarado. El proceso de PET funciona de la siguiente manera:

  1. Ajuste un modelo de lenguaje independiente para cada solicitud, creando un conjunto de modelos para la tarea.
  2. Utiliza este conjunto de modelos ajustados para generar etiquetas "suaves" para un conjunto de puntos de datos no anotados, de forma similar a la destilación de conocimientos.
  3. Utilice estas etiquetas suaves para ajustar un modelo de lenguaje final de la manera definida en la sección de ajuste preciso anterior (es decir, no utiliza indicaciones).

PET también se ha ampliado para que funcione con varios tokens de máscara, y funciona bien incluso cuando se omiten los pasos 2 y 3 anteriores (es decir, el conjunto de modelos ajustados del paso 1 se utiliza directamente como modelo final). Los autores utilizan ALBERT como modelo base de lenguaje enmascarado y evalúan PET en la configuración de 32 disparos. En la mayoría de las tareas en el banco de pruebas SuperGLUE, supera a GPT-3 y solo tiene un 0,1 % de parámetros.

Ajuste rápido​

A diferencia de los métodos que hemos visto hasta ahora, el ajuste de solicitudes no diseña manualmente las solicitudes que se alimentan al modelo. En su lugar, utiliza incrustaciones aprendibles adicionales que se anteponen directamente a la secuencia en la capa de incrustación. Efectivamente, esto omite el paso de escribir las solicitudes en lenguaje natural y, en cambio, permite que el modelo aprenda la solicitud óptima directamente en la capa de incrustación.

El enfoque de ajuste rápido (que se muestra en la Figura 6) se basa en el modelo de lenguaje T5 preentrenado. Esto es similar al Transformer original, que fue diseñado para realizar la traducción. El modelo T5 tiene dos componentes:

  • El codificador asigna la secuencia de entrada a representaciones vectoriales utilizando un mecanismo de autoatención, con las incrustaciones de solicitud aprendibles que se insertan en la primera capa.
  • El decodificador genera el texto para clasificar el ejemplo en función de las representaciones del codificador, utilizando de nuevo un mecanismo de atención.
Clasificar si una oración es lingüísticamente aceptable o no mediante el ajuste rápido.

El modelo se ajusta en un conjunto de datos completo anotado para cada tarea, pero solo se actualizan las incrustaciones de solicitud (el resto del modelo, que contiene la gran mayoría de los parámetros, se congela después del preentrenamiento). El ajuste rápido supera con creces el rendimiento de GPT-3 de pocos disparos, y el modelo ajustado rápido coincide con el rendimiento del ajuste fino completo.

¿Debe utilizar métodos basados ​​en solicitudes?​

Ventajas del aprendizaje basado en indicaciones

Desde una perspectiva práctica, la mayor ventaja de los métodos basados en solicitudes es que, por lo general, funcionan bien con cantidades muy pequeñas de datos anotados. Por ejemplo, con GPT-3 es posible lograr un rendimiento de última generación en determinadas tareas con un solo ejemplo anotado. Aunque puede ser poco práctico ejecutar un modelo del tamaño de GPT-3 en muchas configuraciones, es posible superar a GPT-3 en la configuración de pocos disparos con un modelo mucho más pequeño utilizando el método PET.

Desde la perspectiva del modelado, se puede argumentar que el uso de solicitudes es una forma más natural de aprovechar los modelos de lenguaje preentrenados para tareas posteriores en comparación con el ajuste fino tradicional. Esto se debe a que, al utilizar solicitudes, utilizamos el modelo de lenguaje para generar el texto que resuelve una tarea; esto es también para lo que fue entrenado en el procedimiento de preentrenamiento. Por el contrario, el ajuste fino tradicional (figura 3) puede considerarse una forma menos intuitiva de utilizar modelos de lenguaje para tareas posteriores, ya que utiliza un modelo independiente con una función objetivo completamente diferente en comparación con el procedimiento de preentrenamiento.

Desventajas del aprendizaje basado en indicaciones​

Aunque los métodos basados en solicitudes son muy prometedores en cuanto a su buen rendimiento en tareas con muy pocos ejemplos anotados, también tienen ciertos inconvenientes. En primer lugar, los modelos de lenguaje son propensos a la "alucinación", es decir, pueden generar texto sin sentido, sesgado u ofensivo. Esto puede hacer que dichos modelos sean inutilizables en cualquier entorno del mundo real. Es posible restringir el texto generado por los modelos de lenguaje, pero dependiendo de la tarea puede que no siempre sea posible especificar un conjunto de restricciones adecuado manteniendo el rendimiento.

Otro inconveniente de muchos de estos métodos es que las propias indicaciones están diseñadas a mano. No solo es probable que esto no sea óptimo en términos de rendimiento, sino que la selección de la solicitud óptima requiere datos de validación anotados. PET evita este problema mediante el uso de un conjunto de solicitudes, pero esto requiere ajustar un modelo de lenguaje independiente para cada solicitud. Los métodos de solicitud 'suaves' (como el ajuste de solicitud) no requieren solicitudes diseñadas a mano, sino que requieren conjuntos de datos de entrenamiento más grandes.

Métodos como GPT-3 descritos anteriormente, y el modelo PaLM reciente, insertan los ejemplos anotados como parte de la solicitud de lenguaje natural y no ajustan el modelo de lenguaje en sí. Aunque esto funciona muy bien en la configuración de aprendizaje de pocos disparos, puede ser subóptimo cuando hay un conjunto más grande de ejemplos anotados disponibles. Esto se debe a que solo se puede insertar un pequeño número de ejemplos en la solicitud antes de alcanzar una longitud máxima de secuencia; esto limita el modelo para que solo realice un aprendizaje de pocos disparos.

Resumen​

En esta publicación, hemos analizado los métodos basados en solicitudes, que implican especificar directamente la tarea en lenguaje natural para que un modelo de lenguaje preentrenado la interprete y la complete.

Las solicitudes muestran un gran potencial para lograr un buen rendimiento con muy pocos ejemplos de entrenamiento anotados. Sin embargo, estas técnicas a menudo se basan en indicaciones diseñadas a mano y pueden ser propensas a la alucinación, lo que hace que su uso no sea seguro en entornos del mundo real. Por lo tanto, aunque estos métodos parecen ser prometedores, aún queda mucha investigación por hacer para que su uso sea práctico.

En Communications Mining, estamos investigando activamente para hacer que los métodos rápidos sean seguros de usar, proporcionando estimaciones de precisión precisas y generando datos procesables estructurados. Los resultados de esta investigación estarán disponibles próximamente.

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?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.