GPT1解读: Mejorar la comprensión del lenguaje mediante el entrenamiento previo generativo

El procesamiento del lenguaje natural (PNL) es un campo clave de la inteligencia artificial contemporánea, incluido el reconocimiento de texto, la respuesta inteligente a preguntas y otras tareas multidireccionales. El aprendizaje supervisado generalmente requiere una gran cantidad de datos etiquetados y, para algunas tareas específicas, el costo de obtener los datos etiquetados son muy altos. GPT aprende un modelo de lenguaje de preentrenamiento general (preentrenamiento generativo) a través de una gran cantidad de datos de texto sin etiquetar, y puede aprender información semántica intrínseca a través del modelo de lenguaje, y luego solo necesita usar una pequeña cantidad de datos de etiquetas para fines precisos. puesta a punto para tareas específicas, sin necesidad de cambios importantes en la estructura del modelo. A través de una serie de experimentos, muestra que el modelo de lenguaje de preentrenamiento generativo puede aprender información semántica latente y ha logrado muy buenos resultados en muchas tareas diferentes de PNL.

Los métodos de aprendizaje semisupervisados ​​no son infrecuentes en el campo de la PNL. En los primeros días, los vectores de incrustación de palabras se aprendían a través de word2vec no supervisado y luego se ingresaban en modelos de tareas específicas para el entrenamiento supervisado, pero se deben requerir suficientes datos de etiqueta. GPT quiere aprender información semántica más profunda a través del modelo de lenguaje de preentrenamiento general (preentrenamiento generativo). Para lograr el objetivo, hay dos preguntas aquí: ¿cómo aprender la expresión de información semántica más profunda? ¿Puede la información semántica aprendida ayudar de manera efectiva a la tarea objetivo?

GPT adopta un método de entrenamiento de dos etapas: aprendizaje no supervisado a través de una gran cantidad de datos de texto sin etiquetar y luego un ajuste fino con una pequeña cantidad de datos etiquetados combinados con tareas específicas.

1. Objetivos de la formación

A. Pre-entrenamiento no supervisado

El objetivo del modelo de lenguaje de preentrenamiento general (preentrenamiento generativo) es predecir la probabilidad del siguiente texto, asumiendo que hay un texto de entrenamiento {u1,u2,...,un}, donde u representa la palabra en la secuencia de texto, pre-entrenamiento La función de pérdida de es:

L_1 = \sum_i log(P(u_i|u_{i-1},u_{i-2},...,u_{ik}; \Theta))

B. Proceso de ajuste de funciones supervisado

El ajuste de función supervisado está dirigido principalmente a tareas específicas. Suponga que para las tareas de clasificación, la etiqueta de un texto de entrenamiento {u1,u2,...,un} es y, y hay una pérdida de precisión de las tareas de clasificación en este tiempo:

L_2 = \sum_{(u,y)}log(P(y|u_1,u_2,...,u_n; \Theta))

Además, existen objetivos de entrenamiento auxiliares similares a la precisión de predecir el siguiente texto en el proceso de preentrenamiento, por un lado, este objetivo de entrenamiento es ayudar al modelo a aprender su propio contenido semántico en una tarea específica, y por otro por otro lado, ayuda a converger. También mostró en experimentos posteriores que cuando una tarea específica contiene una gran cantidad de texto, el entrenamiento auxiliar mejora significativamente el efecto, por lo que la PÉRDIDA general del proceso de ajuste de función supervisado se puede expresar como un hiperparámetro ajustable \lambda.

L=L_2 +\lambda L1

2. Estructura del modelo

 La estructura del modelo de GPT-1 es muy concisa. Utiliza un decodificador Transformer de 12 capas como modelo de lenguaje. La razón para elegir Transformer es que utiliza la autoatención como un extractor de funciones internamente , y su cantidad de cálculo es menor que las redes. como fc. , y puede admitir computación paralela, y puede obtener información entre palabras de largo alcance. Por qué solo se usa la capa del decodificador, porque GPT-1 es una red autogenerada. En otras palabras, la entrada GPT-1 es una secuencia de texto, y su salida es la siguiente palabra, y el codificador-decodificador se usa generalmente para la traducción, el codificador y el decodificador se utilizan para extraer información diferente para diferentes entradas y objetivos, respectivamente. Debido a que no hay una capa de codificador, el módulo de cabezales múltiples que interactúa con la salida de la capa de codificador se elimina en la capa de decodificador.

Además, la unidad lineal de error gaussiano (GELU) se usa para la función de activación en Transformer, que es más suave que Relu y se puede derivar en todas partes.

Otro ajuste de GPT-1 es que el vector de posición se puede aprender, y en el proceso de ajuste de función para la supervisión de tareas específicas, solo se necesita agregar una capa lineal adicional después del transformador original.

Por lo tanto, para la secuencia de entrada U, la ruta general del texto predicho se puede expresar mediante la siguiente fórmula:

h_o=UW_e +W_p \\ h_l=transformador(h_{l-1})\\ P(u)=softmax(h_nW_e)

  • La ecuación 1 indica que la secuencia de entrada U ha sufrido la incrustación de texto y la incrustación de posición de superposición, donde W representa la matriz de incrustación, que son parámetros que se pueden aprender.
  • La ecuación 2 representa el proceso de pasar a través de la capa oculta a través del Transformador multicapa.
  • La ecuación 3 representa el proceso de restauración de la salida de la capa Transformador final a texto después de la incrustación de texto

Para tareas específicas, la salida final de la capa del Transformador se obtendrá a través de una capa lineal. Además, se puede ver en el diagrama del modelo anterior que, aunque GPT en sí mismo es un modelo generativo, todas las tareas de PNL se convierten en modelos discriminativos.

P(y)=softmax(h_nW_y)

3. Detalles de la capacitación

A datos

Los datos de entrenamiento de GPT-1 son BooksCorpus, que contiene 7000 novelas. Estas novelas son muchos textos continuos largos, que pueden ayudar al modelo a aprender información de largo alcance. A través del análisis experimental, se compara con otras oraciones individuales y antes y después. Los conjuntos de datos inconexos son mucho mejores.

El otro es el método de compresión de caracteres de codificación de pares de bytes (BPE). El NLP tradicional divide los diccionarios en función de las palabras, pero cuando se dirige a modelos multilingües, este diccionario será muy grande, lo que aumentará en gran medida la carga de entrenamiento del modelo. GPT Se utiliza para comprimir caracteres, y el diccionario final tiene unos 40.000.

B. entrenamiento

El proceso de entrenamiento utiliza la optimización de Adam, pero en la configuración de la tasa de aprendizaje, por un lado, en las primeras 2000 rondas, la tasa de aprendizaje aumenta linealmente desde 0, y luego es entrenada por AdamWR.En comparación con el Adam estándar, AdamWR introduce El decaimiento del peso se usa para aumentar la restricción regular L2. Por otro lado, se introduce el reinicio en caliente. Este método ajustará periódicamente la tasa de aprendizaje, para evitar que la tasa de aprendizaje caiga en un óptimo local mientras está disminuyendo constantemente.

Supongo que te gusta

Origin blog.csdn.net/tostq/article/details/130774757
Recomendado
Clasificación