[NLP]LLM - parámetros del modelo de transformador

1. Introducción

Recientemente, ChatGPT lanzado por OpenAI ha demostrado un rendimiento excelente, lo que ha provocado un auge en la investigación de modelos de lenguaje a gran escala (Large Language Model, LLM). La "grandeza" de un modelo de lenguaje a gran escala se refleja en dos aspectos: la gran escala de los parámetros del modelo y la gran escala de datos de entrenamiento. Tomando GPT3 como ejemplo, el volumen de parámetros de GPT3 es de 175 mil millones y el volumen de datos de entrenamiento ha alcanzado los 570 GB. Además, el entrenamiento de modelos de lenguaje a gran escala enfrenta dos desafíos principales: la eficiencia de la memoria y la eficiencia computacional.

Ahora, los grandes modelos de lenguaje en la industria se basan en el modelo transformador. Hay dos tipos principales de estructuras de modelo: codificador-decodificador (que representa el modelo T5) y solo decodificador. Específicamente, la estructura de solo decodificador se puede dividir en Causal LM (que representa el modelo es la serie GPT) y Prefijo LM (que representa el modelo es GLM). Debido al gran éxito de la serie GPT, la mayoría de los principales modelos de lenguajes grandes adoptan la estructura LM causal. Por lo tanto, para el marco solo decodificador, para comprender mejor la eficiencia de la memoria y la eficiencia computacional del entrenamiento de modelos de lenguaje grandes.
 

El modelo Transformer completo incluye codificador y decodificador, mientras que GPT solo usa la parte del decodificador, y debido a que falta el codificador, en comparación con el decodificador Transformer original, la capa de atención codificador-decodificador ya no es necesaria. El diagrama de comparación es el siguiente:

Este artículo analiza los parámetros del modelo, la cantidad de cálculo, el valor de activación intermedio y la caché de KV del modelo de transformador marco solo decodificador.

`

Para facilitar el análisis, primero se definen algunos símbolos matemáticos. Tenga en cuenta que el número de capas del modelo de transformador es L, la dimensión de la capa oculta es h y el número de cabezas de atención es a. El tamaño del vocabulario es V, el tamaño del lote de los datos de entrenamiento es b y la longitud de la secuencia es s. 

2. La cantidad de parámetros del modelo.

Puede consultar: [NLP] Parámetros del modelo BERT_Blog-CSDN de Shuke y Beck de Qisi Wenying

mismo método básico

El modelo de transformador consta de L capas idénticas y cada capa se divide en dos partes: un bloque de autoatención y un bloque MLP.

Los parámetros del módulo de autoatención incluyen Q, matriz de peso KV Wq, Wk, salida Wv y sesgo, 4 formas de matriz de peso son [h, h], 4 formas de sesgo son [h], parámetros de autoatención para 4 + h^{2} 4h

El bloque MLP consta de 2 capas lineales. Generalmente, la primera capa lineal asigna primero la dimensión de h a 4h y la segunda capa lineal asigna la dimensión de 4h a h. La matriz de pesos W1 de la primera capa lineal tiene forma [h,4h] y los sesgos tienen forma [4h]. La segunda matriz de peso de capa lineal W2 tiene forma [4h,h] y forma de polarización [h]. La cantidad de parámetros para el bloque MLP es 8 h^{2} + 5h

El bloque de autoatención y el bloque MLP tienen cada uno una normalización de capa, que contiene 2 parámetros de modelo entrenables: el parámetro de escala gaama y el parámetro de traducción beta, ambos con la forma [h]. La cantidad de parámetros de normalización de 2 capas es 4h.

En total, la cantidad de parámetros para cada capa del transformador es 12 h^{2} + 13h.

Además, la matriz de incrustación de palabras tiene una gran cantidad de parámetros, la dimensión del vector de palabras suele ser igual a la dimensión de la capa oculta h y la cantidad de parámetros de la matriz de incrustación de palabras es Vh. La matriz de peso de la capa de salida final suele compartir parámetros con la matriz de incrustación de palabras.

En cuanto a la codificación de posición, si se utiliza una codificación de posición entrenable, habrá algunos parámetros del modelo entrenables y el número es relativamente pequeño. Si se utiliza codificación posicional relativa, como RoPE y ALiBi, no se incluyen parámetros de modelo entrenables. Ignoramos esta parte de los parámetros.

En resumen, los parámetros del modelo entrenable del modelo de transformador de capa L son  L (12 h^{2} + 13h) + Vh. Cuando la dimensión oculta h es grande, el elemento principal se puede ignorar y la cantidad del parámetro del modelo es aproximadamente  12Lh^{2}

A continuación, estimamos las cantidades de parámetros de las diferentes versiones del modelo LLaMA.

Parámetros reales dimensión oculta h Número de capas l 12Lh^{2}
6.7b 4096 32 6.442.450.944
13 mil millones 5120 40 12.582.912.000
32,5 mil millones 6656 60 31.897.681.920
65,2 mil millones 8192 80 64.424.509.440

Por la presente se declara que el cuerpo principal de este artículo se refiere al artículo de Zhihu https://zhuanlan.zhihu.com/p/624740065 (Me gustaría expresar mi gratitud al autor por el arduo trabajo de "Swinging Thomas x" )

referencia

[1] https://arxiv.org/pdf/1706.03762.pdf
[2] https://arxiv.org/pdf/2302.13971.pdf
[3] https://arxiv.org/pdf/2104.04473.pdf
[4 ] https://zhuanlan.zhihu.com/p/624740065

Supongo que te gusta

Origin blog.csdn.net/zwqjoy/article/details/132432446
Recomendado
Clasificación