Inteligencia artificial

GLM-130B: Un modelo de lenguaje preentrenado bilingüe de código abierto

mm

El marco de trabajo GLM-130B es un modelo de lenguaje preentrenado bilingüe con más de 130 mil millones de parámetros capaz de generar salidas de texto en inglés y chino. El marco de trabajo GLM-130B es un intento de abrir el código fuente de un modelo de lenguaje a una escala de más de 100 mil millones de parámetros y discutir cómo los marcos de trabajo de esta escala pueden ser preentrenados, ya que actualmente, entrenar un modelo de esta escala es a menudo problemático debido a cuestiones como la divergencia y los picos de pérdida.

En este artículo, hablaremos sobre el marco de trabajo GLM-130B, que intenta diseñar un método para preentrenar modelos de lenguaje grandes con cientos de miles de millones de parámetros. Nos sumergiremos en la arquitectura y el proceso de entrenamiento del marco de trabajo GLM-130B, así como en las decisiones de diseño que no solo ayudan a aumentar la eficiencia, sino también la estabilidad. Los experimentos iniciales realizados para probar el funcionamiento del marco de trabajo GLM-130B en una amplia gama de benchmarks en inglés resultaron en que el modelo GLM-130B superó al actual estado del arte del marco de trabajo GPT-3 por un margen considerable. Así que comencemos y exploremos cómo el marco de trabajo GLM-130B entrega resultados consistentes, precisos y estables.

Introducción al marco de trabajo GLM-130B

Los modelos de lenguaje grande capaces de operar en entornos de pocos disparos y cero disparos, especialmente aquellos con más de 100 mil millones de parámetros, presentan leyes de escalabilidad atractivas, de las cuales el marco de trabajo GPT-3 es uno de los que mejor desempeño ofrece, con mejoras considerables en el rendimiento en comparación con su predecesor, el marco de trabajo BERT. Sin embargo, a pesar de la popularidad del marco de trabajo GPT-3 y sus aplicaciones generalizadas, el proceso de entrenamiento y, en algunos sentidos, el propio marco de trabajo GPT-3 ha sido no transparente para el público. Además, enumerar empíricamente todos los diseños posibles para entrenar LLM con más de 100 mil millones de parámetros es computacionalmente inasequible, lo que hace aún más crítico desarrollar un método de preentrenamiento para marcos de trabajo de LLM a gran escala.

El punto anterior hace que compartir el funcionamiento y el proceso de entrenamiento de marcos de trabajo de LLM de alta calidad como GPT-3 sea de valor crítico, y teniendo en cuenta las preocupaciones éticas, el marco de trabajo GLM-130B es un intento de preentrenar un LLM abierto y preciso con más de 100 mil millones de parámetros. Durante el curso de su intento, el equipo de desarrollo del marco de trabajo GLM-130B observó que preentrenar un LLM a gran escala a menudo se acompaña de una amplia gama de desafíos técnicos y de ingeniería en términos de estabilidad de preentrenamiento, eficiencia y convergencia.

Para ser más específicos, el GLM-130B es un marco de trabajo denso bidireccional y bilingüe que consiste en más de 130 mil millones de parámetros, preentrenado en 400 mil millones de tokens en un clúster de 96 nodos de GPU NVIDIA DGX-A100 durante un período de casi dos meses. Además, en lugar de optar por la arquitectura GPT-style, el marco de trabajo GLM-130B utiliza el algoritmo de Modelo de Lenguaje General (GLM) con el objetivo de aprovechar sus objetivos de llenado de espacios autoregresivos y la ventaja de la atención bidireccional. La siguiente tabla compara el marco de trabajo GLM-130B con otros modelos con más de 100 mil millones de parámetros, incluyendo GPT, BLOOM-176B y OPT-175B.

Los conceptos de ingeniería y desarrollo involucrados en el marco de trabajo GLM-130B superan a casi todos los marcos de trabajo de LLM a gran escala, incluyendo GPT-3 y PaLM 540B con más de 500 mil millones de parámetros en muchos casos y en una amplia gama de benchmarks. La siguiente figura compara el rendimiento del marco de trabajo GLM-130B con modelos con más de 100 mil millones de parámetros, y como se puede ver, el marco de trabajo GLM-130B tiene significativamente menos toxicidad de generación y sesgo que sus contrapartes.

Finalmente, el GLM-130B ha sido diseñado para permitir que tantos desarrolladores como sea posible realicen estudios sobre marcos de trabajo con más de 100 mil millones de parámetros, y hay dos formas en que el marco de trabajo GLM-130B logra esto. Primero, en lugar de utilizar más de 175 mil millones de parámetros como BLOOM y OPT, el marco de trabajo GLM-130B utiliza 130 mil millones de parámetros, porque el tamaño del modelo admite interferencia incluso en un servidor A100 solo. En segundo lugar, los requisitos de GPU para ejecutar el marco de trabajo GLM-130B son menores en comparación con otros marcos de trabajo de LLM, y el marco de trabajo GLM-130B logra esto cuantizando el marco de trabajo original en precisión INT4. La cuantización INT4 utilizada por el marco de trabajo GLM-130B mejora el rendimiento mientras mantiene una degradación del rendimiento insignificante.

GLM-130B: Arquitectura

El sesgo inductivo de un modelo de aprendizaje automático está descrito por su arquitectura, y no es de extrañar que los desarrolladores no puedan explorar varios diseños arquitectónicos para modelos de lenguaje grande dado el costo computacional y la viabilidad. Con eso dicho, veamos la arquitectura del GLM-130B.

Los marcos de trabajo de LLM a gran escala como PaLM, GPT y más tienen más de 100 mil millones de parámetros y están construidos sobre la arquitectura GPT-style convencional para modelado de lenguaje autoregresivo. Por otro lado, el marco de trabajo GLM-130B explora la posibilidad de utilizar un Modelo de Lenguaje General bidireccional o GLM, un modelo de lenguaje basado en transformadores que tiene como objetivo aprovechar el llenado de espacios autoregresivo como objetivo de entrenamiento, como base.

La atención bidireccional del Modelo de Lenguaje General sobre contextos no corruptos o no enmascarados es lo que separa al marco de trabajo GLM-130B del enfoque GPT-style que utiliza un enfoque unidireccional. Además, para admitir tanto la generación como la comprensión de datos, el marco de trabajo GLM combina dos estrategias de corrupción, cada una de las cuales está indicada con un token de máscara único y especial.

  • [MASK]: [MASK] es una estrategia de corrupción que utiliza espacios en blanco cortos en oraciones, cuyas longitudes suman un cierto porcentaje de la entrada.
  • [gMASK]: [gMASK] es una estrategia de corrupción que utiliza espacios en blanco de longitud aleatoria hacia el final de la oración con los contextos de prefijo.

El enfoque seguido por el marco de trabajo GLM es lo que permite al marco de trabajo registrar una puntuación de precisión del 80% en el modelado de lenguaje LAMBADA de cero disparos y superar tanto al marco de trabajo PaLM 540B como al marco de trabajo GPT-3.

Normalización de capas

Uno de los principales desafíos que enfrentan los desarrolladores al entrenar un marco de trabajo de LLM es la inestabilidad del entrenamiento, y utilizar una LN (Normalización de capas) adecuada puede ayudar con el entrenamiento de los LLM. El marco de trabajo GLM-130B utiliza un enfoque Post-LN gracias a su rendimiento en tareas downstream.

FFNs y codificación posicional

Las redes neuronales feedforward (FFNs) y la codificación posicional son dos enfoques adoptados por el marco de trabajo GLM-130B para introducir un rendimiento downstream de alta gama y estabilidad de entrenamiento.

Configuración de preentrenamiento

Los objetivos de preentrenamiento del marco de trabajo GLM-130B no solo incluyen el aprendizaje multi-tarea para un pequeño número de tokens, sino también el aprendizaje auto-supervisado de GLM para el llenado autoregresivo de espacios en blanco, con la expectativa de que este enfoque ayudará al marco de trabajo GLM-130B en tareas downstream. Con eso dicho, la configuración de preentrenamiento del marco de trabajo GLM-130B se parece a la siguiente.

Llenado de espacios en blanco auto-supervisado

Como ya se mencionó, el marco de trabajo GLM-130B utiliza dos estrategias de corrupción, a saber, [MASK] y [gMASK], y una de estas estrategias se aplica de forma independiente a cada secuencia de entrenamiento individual, una a la vez. Para rellenar los espacios en blanco, la estrategia [MASK] enmascara tramos consecutivos en el 30% de la secuencia de entrenamiento, donde las longitudes de los tramos suman el 15% de la entrada, y sigue una distribución de Poisson. Para el 70% restante de la secuencia, el prefijo de cada secuencia se mantiene como contexto, y la estrategia [gMASK] ayuda a enmascarar el resto, y la longitud enmascarada se muestrea utilizando la distribución uniforme.

Preentrenamiento de instrucciones multi-tarea

Se ha indicado que seguir un enfoque de aprendizaje multi-tarea para el preentrenamiento de los modelos puede ofrecer mejores resultados que el ajuste fino, para mejorar las transferencias de tareas en un entorno de cero disparos. En consecuencia, el marco de trabajo GLM-130B propone utilizar una serie de conjuntos de datos de instrucciones durante el preentrenamiento, incluyendo generación de lenguaje, comprensión y extracción de información.

En comparación con otros enfoques para la transferencia de tareas de cero disparos que utilizan el ajuste fino multi-tarea, el enfoque de preentrenamiento de instrucciones multi-tarea seguido por el marco de trabajo GLM-130B solo cuenta con el 5% de los tokens totales, y se establece durante la fase de preentrenamiento con el fin de evitar arruinar otras habilidades del marco de trabajo de LLM o, en otras palabras, la generación libre incondicional.

Estrategia de paralelismo 3D

Hay dos prácticas de facto para entrenar modelos a gran escala con miles de millones de parámetros, el paralelismo de modelo de tensor y el paralelismo de datos. En un intento de minimizar la utilización de GPU y manejar los requisitos de GPU enormes, el marco de trabajo GLM-130B implementa una estrategia de paralelismo 3D que combina el paralelismo de modelo de tubería con el paralelismo de tensor y el paralelismo de datos.

GLM-130B: Estabilidad de entrenamiento

La estabilidad de entrenamiento es un factor importante al determinar la calidad de un LLM, y la estabilidad de entrenamiento se ve influenciada en gran medida dependiendo del número de tokens que pasa. Además, es vital establecer un equilibrio entre estabilidad y eficiencia con respecto a los formatos de punto flotante dado las restricciones computacionales. Por ejemplo, los formatos de punto flotante de baja precisión mejoran la eficiencia computacional, pero a menudo resultan en colapsos de entrenamiento dado que son propensos a errores de desbordamiento y subdesbordamiento.

Precisión mixta

En un intento de mejorar la precisión de entrenamiento y reducir el uso de memoria, el marco de trabajo GLM-130B sigue la práctica común de utilizar precisiones mixtas, es decir, FP16 para adelante y hacia atrás, y FP32 para pesos maestros y estados de optimizador. Al igual que otros marcos de trabajo de LLM populares, incluyendo BLOOM-176B y OPT-175B, la fase de entrenamiento del marco de trabajo GLM-130B utilizando la estrategia de precisión mixta enfrenta picos de pérdida frecuentes, y la frecuencia de estos picos de pérdida tiende a aumentar a medida que el modelo continúa entrenando. Además, hay problemas importantes que los desarrolladores enfrentan al escalar los transformadores.

Primero, la escala de valor de la rama principal del transformador puede ser vasta en las capas más profundas al utilizar Pre-LN, y en el marco de trabajo GLM-130B, se aborda utilizando un Pre-LN basado en DeepNorm, que garantiza que la escala de valor permanece acotada en todo momento. En segundo lugar, a medida que el modelo se escala, las puntuaciones de atención crecen hasta un punto en el que exceden el rango de FP16.

Encogimiento de gradiente de capa de incrustación o EGS

Los desarrolladores que trabajan en el marco de trabajo GLM-130B identificaron que la norma del gradiente puede actuar como un indicador informativo para los colapsos de entrenamiento, y un colapso de entrenamiento generalmente se retrasa con respecto a un pico en la norma del gradiente. La causa de estos picos es el gradiente anormal de la capa de incrustación, y los desarrolladores observaron que, en comparación con la norma del gradiente de otras capas, la norma del gradiente de las capas de incrustación es mayor en varias magnitudes y también tiende a fluctuar dramáticamente durante el entrenamiento temprano del marco de trabajo.

GLM-130B: Resultados y rendimiento

Para evaluar el rendimiento del GLM-130B para tareas en inglés, se implementan los mismos ajustes que los marcos de trabajo de LLM comunes, incluyendo PaLM y GPT-3, y como el GLM-130B es un marco de trabajo bilingüe, también se evalúa en varios benchmarks chinos. El rendimiento del marco de trabajo GLM-130B se medirá en varios benchmarks, incluyendo modelado de lenguaje, comprensión de lenguaje masiva multi-tarea, evaluación de comprensión del lenguaje chino y más. Así que comencemos.

Modelado de lenguaje

La prueba de modelado de lenguaje en el marco de trabajo GLM-130B se realiza en dos conjuntos de datos: LAMBADA y Pile.

El conjunto de datos LAMBADA se utiliza para probar las capacidades de modelado de la última palabra de los LLM, y el marco de trabajo GLM-130B logra una puntuación de precisión de cero disparos del 80,2 en un entorno bilingüe y, en el camino, establece un nuevo récord de benchmark en el conjunto de datos LAMBADA.

Por otro lado, Pile es un conjunto de pruebas que comprende una serie de benchmarks para modelos de lenguaje. En promedio, en comparación con GPT-3 y Jurassic-1, el marco de trabajo GLM-130B ofrece su mejor rendimiento en 18 conjuntos de pruebas compartidos en términos de BPBs ponderados. Los resultados demuestran las fuertes capacidades de lenguaje del marco de trabajo GLM-130B, y los resultados se incluyen en la tabla a continuación.

Comprensión de lenguaje masiva multi-tarea

Comprensión de lenguaje masiva multi-tarea es un benchmark diverso que comprende más de 50 tareas de respuesta a preguntas múltiples relacionadas con la inteligencia y el conocimiento humanos, que van desde el nivel de escuela secundaria hasta el nivel de experto, y se lanza después de la extracción del conjunto de pruebas Pile, y por lo tanto, sirve como una prueba ideal para evaluar las capacidades de aprendizaje de pocos disparos de un LLM.

Como se puede ver, en un entorno de pocos disparos (5 disparos), el rendimiento del marco de trabajo GLM-130B se acerca al rendimiento del modelo GPT-3 después de ver cerca de 300 mil millones de tokens. El rendimiento continúa mejorando a medida que el entrenamiento procede, y cuando el entrenamiento termina, el marco de trabajo logra una puntuación de precisión del 44,8 después de ver un total de 400 mil millones de tokens.

BIG-Bench o evaluación de comprensión del lenguaje más allá del juego de imitación

BIG-Bench o evaluación de comprensión del lenguaje más allá del juego de imitación es un conjunto de tareas desafiantes que prueba la capacidad del modelo en conocimiento, razonamiento y sentido común. Como se demuestra en las siguientes figuras, en un entorno de cero disparos, el marco de trabajo GLM-130B supera tanto al marco de trabajo PaLM 540B como al marco de trabajo GPT-3 175B, lo que puede deberse a MIP y la atención de contexto bidireccional para mejorar el rendimiento del GLM-130B en tareas no vistas en un entorno de cero disparos.

CLUE o evaluación de comprensión del lenguaje chino

El rendimiento de cero disparos del GLM-130B en chino se evalúa en tareas de benchmark de NLP establecidas, incluyendo CLUE y FewCLUE, y se compara con el modelo de lenguaje chino más grande existente, ERNIE Titan 3.0 de 260 mil millones de parámetros. Como se puede observar, el marco de trabajo GLM-130B supera constantemente al marco de trabajo ERNIE Titan 3.0 en 12 tareas diferentes y realiza un 260% mejor que el marco de trabajo ERNIE en dos conjuntos de datos de extracción de información abstracta.

Conclusión

En este artículo, hemos hablado sobre GLM-130B, un modelo de lenguaje preentrenado bilingüe de código abierto que tiene como objetivo promover la investigación de LLM inclusiva. La arquitectura, la ingeniería y los esfuerzos técnicos tienen como objetivo proporcionar a la comunidad de IA una mejor comprensión de la arquitectura de los marcos de trabajo de LLM, la eficiencia y la estabilidad de entrenamiento, los objetivos de preentrenamiento y la interferencia asequible.

Un ingeniero por profesión, un escritor por corazón. Kunal es un escritor técnico con un profundo amor y comprensión de la IA y el ML, dedicado a simplificar conceptos complejos en estos campos a través de su documentación atractiva e informativa.