[Lectura intensiva de artículos] HugNLP: una biblioteca unificada y completa para el procesamiento del lenguaje natural

prefacio

El marco general de tareas de PNL puede reducir el umbral de procesamiento de tareas de PNL y proporcionar a los investigadores de PNL soluciones de procesamiento eficientes para las tareas de PNL. Esto promoverá aún más el desarrollo del campo de PNL, que puede decirse que es un trabajo histórico ~


Abstracto

HugNLP es una biblioteca de procesamiento de lenguaje natural unificada y completa diseñada para permitir que los investigadores de NLP aprovechen los algoritmos listos para usar para desarrollar nuevos métodos utilizando modelos y tareas definidos por el usuario en escenarios del mundo real. Su estructura consta de modelos, procesadores y aplicaciones, y unifica el proceso de aprendizaje de modelos pre-entrenados en diferentes tareas de PNL. El autor demuestra la eficacia de HugNLP a través de algunas aplicaciones características de la PNL, como la extracción de información general, la minería de bajos recursos, la comprensión y generación de código, etc.

1. Introducción

El modelo de lenguaje preentrenado se ha convertido en la infraestructura de muchas tareas posteriores de PNL bajo los dos pasos de preentrenamiento y ajuste. Sin embargo, los métodos existentes tienen diferentes arquitecturas y diferentes modelos, lo que dificulta comenzar.Por lo tanto, HugNLP, como una biblioteca de código abierto unificada y completa, permite a los investigadores desarrollar y evaluar modelos de PNL de manera efectiva. El backend se basa en la biblioteca Transformers de HuggingFace, y la parte de capacitación integra el kit de herramientas de seguimiento MLFlow, que es conveniente para observar el progreso y registrar los experimentos. HugNLP consta de tres partes: modelo, procesador y aplicación.
El modelo proporciona PLM de uso común, como BERT, RoBERTa, DeBERTa, GPT-2 y T5, etc. Sobre la base de estos modelos, los autores desarrollaron módulos específicos de tareas para el entrenamiento previo y el ajuste fino, y también proporcionaron técnicas de ajuste fino basadas en indicaciones para el ajuste eficiente de parámetros de PLM, como PET, ajuste P, ajuste de prefijo, Ajuste del adaptador.
En la parte del procesador, se desarrollan herramientas de procesamiento de datos relevantes para algunos conjuntos de datos de uso común y corpus específicos de tareas.
En la parte de la aplicación, se propone KP-PLM, que realiza la inyección de conocimiento plug-and-play en el entrenamiento previo y el ajuste fino del modelo al convertir el conocimiento estructural en un mensaje de lenguaje unificado. Además, HugIE, un conjunto de herramientas de extracción de información general, se desarrolla mediante el ajuste fino de instrucciones y el modelado de extracción.
En resumen, HugNLP tiene las siguientes características:

  1. HugNLP proporciona una serie de componentes y módulos preconstruidos que se pueden usar para desarrollar y simplificar rápidamente la implementación de modelos y tareas complejos de NLP;
  2. HugNLP se puede integrar fácilmente en los flujos de trabajo existentes para satisfacer las necesidades individuales de los investigadores;
  3. HugNLP implementa algunas soluciones para escenarios específicos, como KP-PLM y HugIE;
  4. Basado en dos plataformas ampliamente utilizadas, PyTorch y HuggingFace, es fácil de usar.

2. Fondo

2.1 Modelos de lenguaje preentrenados

El objetivo de PLM es aprender representaciones semánticas de corpus no supervisados ​​a través de tareas de aprendizaje autosupervisadas bien diseñadas en la etapa previa al entrenamiento. Las arquitecturas de PLM se pueden dividir en arquitecturas de solo codificador, codificador-decodificador y solo decodificador; sin embargo, estos PLM pueden carecer de conocimientos previos sobre algunas tareas específicas. Por lo tanto, se propone PLM de conocimiento aumentado para obtener conocimiento rico de bases de datos externas. Los modelos grandes recientes, como GPT-3, se pueden usar en escenarios de bajos recursos a través de indicaciones o instrucciones. Por lo tanto, el aprendizaje de tareas cruzadas se puede utilizar para unificar el conocimiento semántico de diferentes tareas de PNL.

2.2 Ajuste fino para PLM

En escenarios prácticos, nos enfocamos en cómo ajustar PLM para transferir conocimiento a tareas posteriores. HugNLP integra algunos métodos de ajuste fino orientados a tareas y también implementa algoritmos de ajuste populares, como el aprendizaje rápido y contextual.

3. Un abrazo de PNL

3.1 Resumen

imagen.png
HugNLP es una biblioteca de código abierto con una estructura de múltiples capas. El backend es la plataforma HuggingFace Transformers, que proporciona múltiples modelos basados ​​en transformadores. Además, HugNLP integra MLFlow, un novedoso kit de herramientas de devolución de llamada de seguimiento para el entrenamiento de modelos y el análisis de resultados de experimentos.

3.2 Arquitectura de la biblioteca

3.2.1 Modelos

El modelo proporciona el popular modelo basado en transformadores y lanzó KP-PLM, un novedoso modelo de preentrenamiento aumentado por conocimiento que inyecta conocimiento fáctico utilizando solo el paradigma promp, que se puede usar fácilmente para PLM arbitrarios. Además, los autores implementan modelos específicos de tareas que involucran clasificación de secuencias, emparejamiento, etiquetado, extracción de tramos, generación de texto, etc. Para la configuración de aprendizaje de pocos disparos, HugNLP proporciona una red prototipo para la clasificación de texto de pocos disparos y NER.
imagen.png
También hay algunas utilidades plug-and-play incorporadas en HugNLP.

  1. Los parámetros están congelados. Como se muestra en la figura anterior, la eficiencia del entrenamiento mejora al congelar algunos parámetros en el PLM.
  2. Estimaciones de incertidumbre. Diseñado para calcular la precisión de los modelos en el aprendizaje semisupervisado.
  3. Calibración Predictiva. Mejore la precisión calibrando la distribución y mitigando el sesgo semántico.

3.2.2 Procesadores

HugNLP está diseñado para cargar datos en la tubería para procesar instancias de tareas, incluido el etiquetado de datos, el muestreo y la generación de tensores. Para diferentes tareas, los usuarios deben definir recopilaciones de datos específicas de la tarea, cuyo propósito es convertir datos sin procesar en características de tensor de modelo.

3.2.3 Aplicaciones

Al configurar el modelo y el procesador, proporciona a los usuarios módulos enriquecidos para crear aplicaciones reales.

3.3 Capacidades básicas

Las partes centrales de HugNLP son las siguientes:

  1. Capacitación previa mejorada con conocimientos: los métodos de capacitación previa convencionales carecen de conocimiento fáctico, por lo que KP-PLM propone proporcionar una mejora del conocimiento para la capacitación previa. Específicamente, se construye un subgráfico de conocimiento para cada texto de entrada a través del reconocimiento de entidades y la alineación del conocimiento, y luego el subgráfico se descompone en múltiples rutas relacionales para la traducción directa a mensajes de idioma.
  2. Razonamiento basado en indicaciones: tiene como objetivo reutilizar objetivos previamente entrenados, usar plantillas diseñadas para predecir el lenguaje y es adecuado para escenarios de bajos recursos.
  3. Ajuste de instrucciones y aprendizaje en contexto: no es necesario actualizar los parámetros, adecuado para escenarios de bajos recursos. El objetivo es incorporar instrucciones conscientes de tareas para incitar a los PLM de estilo GPT a generar respuestas confiables. Inspirándose en esto, los autores lo extienden a dos paradigmas: el paradigma de extracción general y el paradigma de inferencia.
  4. Autoformación consciente de la incertidumbre: la autoformación puede etiquetar datos no etiquetados para resolver el problema de la escasez de datos, pero la autoformación estándar generará demasiado ruido y reducirá el rendimiento del modelo. El autoentrenamiento consciente de la incertidumbre entrena un modelo de maestro en unos pocos datos etiquetados, luego usa técnicas de abandono de Monte Carlo en una red neuronal bayesiana para aproximar la certeza del modelo, eligiendo sabiamente una mayor certeza del modelo en el modelo del maestro.
  5. Aprendizaje eficiente de parámetros: al congelar los parámetros de la columna vertebral para que solo se ajuste una pequeña cantidad de parámetros durante el entrenamiento. El autor ha desarrollado algunos métodos novedosos de aprendizaje eficiente de parámetros, como el ajuste de prefijo, el ajuste de adaptador, etc.

3.4 Aplicaciones destacadas

  1. Ajuste fino del punto de referencia. Los autores desarrollan aplicaciones de capacitación para algunos puntos de referencia populares, como CLUE y GLUE en chino. Utilice métodos de ajuste fino (incluido el ajuste rápido) para ajustar el PLM frente a estos puntos de referencia. El ejemplo de código es el siguiente:

imagen.png

  1. Extracción de información general basada en instrucciones de extracción. El autor desarrolló HugIE, un conjunto de herramientas de extracción de información general basado en HugNLP. Específicamente, los autores recopilaron múltiples bases de datos de extracción de eventos y NER chinos. Luego, el modelo de extracción de información general se entrena previamente utilizando instrucciones extractivas con punteros globales.
  2. Ajuste de PLM para escenarios de bajos recursos. Integra el ajuste rápido y la autoformación consciente de la incertidumbre. El primero puede hacer un uso completo del conocimiento de la etapa previa al entrenamiento, y el segundo puede mejorar los datos.
  3. Comprensión y generación de código. Incluye detección de clones, resumen de código, detección de defectos.

3.5 Flujo de trabajo de desarrollo

imagen.png
La figura anterior muestra cómo iniciar una nueva tarea con HugNLP. Incluyendo la instalación, la preparación de datos, la selección o el diseño del procesador, la selección o el diseño del modelo y el diseño del programa de aplicación en cinco pasos. HugNLP puede simplificar la implementación de modelos complejos de PNL.

4. Actuaciones Experimentales

4.1 Rendimiento de los puntos de referencia

Para verificar la efectividad de HugNLP en el ajuste fino y el ajuste en Prompt, se seleccionan los puntos de referencia chinos CLUE y GLUE.
imagen.png
La tabla anterior muestra el rendimiento de modelos de diferentes escalas en CLUE chino. Para CLUE, en función del KP-PLM propuesto para el ajuste fino de recursos completos, el ajuste fino en tiempo real de muestra pequeña y el ajuste fino en tiempo real de muestra cero, elegimos a RoBERTa como línea de base, como se muestra en la siguiente tabla .
imagen.png
La tabla anterior refleja la confiabilidad de HugNLP en escenarios de recursos completos y bajos, y tiene un rendimiento similar en comparación con otros marcos de código abierto e implementaciones originales.

4.2 Evaluación de tareas relacionadas con el código

Los autores utilizan HugNLP para evaluar el rendimiento de varias tareas relacionadas con el código, como la clonación de código, la detección de defectos, la traducción, etc. Después de ajustar dos modelos ampliamente utilizados: CodeT5 y PLBART, y luego compararlos con métodos de aprendizaje eficientes de parámetros competitivos, la siguiente tabla demuestra la efectividad y eficiencia de HugNLP.
imagen.png

4.3 Eficacia de la autoformación

Finalmente, se verifica la autoformación. Con solo 16 muestras etiquetadas, el rendimiento es el siguiente:
imagen.png

5. Conclusión

HugNLP es una biblioteca unificada y completa basada en PyTorch y HuggingFace. Tiene tres componentes importantes, procesador, modelo y aplicación, así como múltiples funciones y herramientas básicas. Finalmente, los resultados experimentales muestran que HugNLP puede promover la investigación y el desarrollo de la PNL.

leer resumen

Un artículo sobre el trabajo de vanguardia del marco de herramientas del modelo NLP. No se dan ejemplos de aplicaciones específicas en el artículo. Después de eso, intentaré implementar HugNLP. No sé qué tan alta es la demanda de equipos. Este trabajo todavía me inspira, especialmente la capacidad del modelo grande actual para manejar varias tareas en general, como la extracción general y la generación de resumen. Estas tareas se pueden realizar con un modelo, pero es necesario escribir diferentes códigos. Tal tiempo El costo y el costo de depuración aún son relativamente altos. Con HugNLP, muchas operaciones comunes están empaquetadas y solo necesitan cambiar la configuración, lo que reduce mucho el trabajo que consume mucho tiempo, lo que mejorará en gran medida la eficiencia del procesamiento de las tareas de NLP más adelante.

Supongo que te gusta

Origin blog.csdn.net/HERODING23/article/details/130765069
Recomendado
Clasificación