← Volver

Scaling Laws for Neural Language Models — Kaplan et al. (2020)

Leyes de escalabilidad para modelos de lenguaje neuronal — Kaplan et al. (2020)

49 min de lecturavisitas

Resumen

Estudiamos leyes de escala empíricas para el rendimiento de modelos de lenguaje en la pérdida de entropía cruzada. La pérdida escala como una power-law con el tamaño del modelo, el tamaño del conjunto de datos y la cantidad de cómputo utilizado para el entrenamiento, con algunas tendencias que abarcan más de siete órdenes de magnitud. Otros detalles arquitectónicos como el ancho de red o la profundidad de red tienen efectos mínimos dentro de un amplio rango. Ecuaciones simples gobiernan la dependencia del sobreajuste con el tamaño del modelo/conjunto de datos y la dependencia de la velocidad de entrenamiento con el tamaño del modelo. Estas relaciones nos permiten determinar la asignación óptima de un presupuesto de cómputo fijo. Los modelos más grandes son significativamente más eficientes en muestras, de modo que el entrenamiento óptimo en términos de eficiencia computacional implica entrenar modelos muy grandes con una cantidad relativamente modesta de datos y detenerse significativamente antes de la convergencia.

1 Introducción

El lenguaje proporciona un dominio natural para el estudio de la inteligencia artificial, ya que la gran mayoría de las tareas de razonamiento pueden expresarse y evaluarse eficientemente en lenguaje, y el texto del mundo ofrece una gran cantidad de datos para el aprendizaje no supervisado mediante el modelado generativo. El deep learning ha experimentado recientemente un rápido progreso en el modelado de lenguaje, con modelos de última generación [RNSS18, DCLT18, YDY+19, LOG+19, RSR+19] acercándose al rendimiento a nivel humano en muchas tareas específicas [WPN+19], incluyendo la composición de muestras de texto coherentes de múltiples párrafos generadas mediante indicaciones [RWC+19]. Uno podría esperar que el rendimiento del modelado de lenguaje dependa de la arquitectura del modelo, el tamaño de los modelos neuronales, el poder de cómputo utilizado para entrenarlos y los datos disponibles para este proceso de entrenamiento. En este trabajo investigaremos empíricamente la dependencia de la pérdida en el modelado de lenguaje respecto a todos estos factores, centrándonos en la arquitectura Transformer [VSP+17, LSP+18]. El alto techo y el bajo piso para el rendimiento en tareas de lenguaje nos permite estudiar tendencias a lo largo de más de siete órdenes de magnitud en escala. A lo largo del estudio observaremos escalas precisas de tipo power-law para el rendimiento en función del tiempo de entrenamiento, la longitud de contexto, el tamaño del conjunto de datos, el tamaño del modelo y el presupuesto de cómputo.

1.1 Resumen

Nuestros hallazgos clave para los modelos de lenguaje basados en la arquitectura Transformer son los siguientes:

Aquí mostramos el cómputo predicho cuando se utiliza un batch size suficientemente pequeño. Consulte la Figura 13 para comparar con los datos puramente empíricos.

Tamaño del conjunto de datos
Tokens
Parámetros (no incrustados)
Cómputo
PF-días (no incrustados)
Pérdida de prueba

Figura 1: El rendimiento en el modelado de lenguaje mejora de manera suave a medida que aumentamos el tamaño del modelo, el tamaño del conjunto de datos y la cantidad de cómputo utilizado para el entrenamiento. Para un rendimiento óptimo, los tres factores deben escalarse en conjunto. El rendimiento empírico tiene una relación de tipo power-law con cada factor individual cuando no está limitado por los otros dos.

El rendimiento depende fuertemente de la escala, débilmente de la forma del modelo: El rendimiento del modelo depende principalmente de la escala, que consiste en tres factores: el número de parámetros del modelo N (excluyendo las incrustaciones), el tamaño del conjunto de datos D y la cantidad de cómputo C utilizado para el entrenamiento. Dentro de límites razonables, el rendimiento depende muy débilmente de otros hiperparámetros arquitectónicos, como la profundidad frente al ancho. (Sección 3)

Leyes de potencia suaves: El rendimiento tiene una relación de tipo power-law con cada uno de los tres factores de escala N, D, C cuando no está limitado por los otros dos, con tendencias que abarcan más de seis órdenes de magnitud (ver Figura 1). No observamos signos de desviación de estas tendencias en el extremo superior, aunque el rendimiento debe aplanarse eventualmente antes de alcanzar una pérdida cero. (Sección 3)

Universalidad del sobreajuste: El rendimiento mejora de manera predecible siempre que escalemos N y D en conjunto, pero entra en un régimen de rendimientos decrecientes si se mantiene fijo N o D mientras el otro aumenta.

La penalización en el rendimiento depende de manera predecible de la relación N^0.74/D, lo que significa que cada vez que aumentamos el tamaño del modelo 8 veces, solo necesitamos aumentar los datos aproximadamente 5 veces para evitar una penalización. (Sección 4)
Universalidad del entrenamiento: Las curvas de entrenamiento siguen power-laws predecibles cuyos parámetros son aproximadamente independientes del tamaño del modelo. Al extrapolar la parte inicial de una curva de entrenamiento, podemos predecir aproximadamente la pérdida que se alcanzaría si entrenáramos durante mucho más tiempo. (Sección 5)
La transferencia mejora con el rendimiento en pruebas: Cuando evaluamos modelos en texto con una distribución diferente a la que fueron entrenados, los resultados están fuertemente correlacionados con los del conjunto de validación de entrenamiento, con un desplazamiento aproximadamente constante en la pérdida; en otras palabras, la transferencia a una distribución diferente incurre en una penalización constante, pero por lo demás mejora aproximadamente en línea con el rendimiento en el conjunto de entrenamiento. (Sección 3.2.2)
Eficiencia en muestras: Los modelos grandes son más eficientes en muestras que los modelos pequeños, alcanzando el mismo nivel de rendimiento con menos pasos de optimización (Figura 2) y utilizando menos puntos de datos (Figura 4). La convergencia es ineficiente: Cuando trabajamos dentro de un presupuesto de cómputo C fijo pero sin otras restricciones en el tamaño del modelo N o los datos disponibles D, alcanzamos un rendimiento óptimo entrenando modelos muy grandes y deteniéndonos significativamente antes de la convergencia (ver Figura 3). Por lo tanto, el entrenamiento maximamente eficiente en cómputo sería mucho más eficiente en muestras de lo que uno podría esperar basándose en entrenar modelos pequeños hasta la convergencia, con los requisitos de datos creciendo muy lentamente como D ∼ C^0.27 con el cómputo de entrenamiento. (Sección 6)
Tamaño de batch óptimo: El tamaño de batch ideal para entrenar estos modelos es aproximadamente una potencia de la pérdida solamente, y sigue siendo determinable midiendo la escala de ruido del gradiente [MKAT18]; es aproximadamente de 1 a 2 millones de tokens en la convergencia para los modelos más grandes que podemos entrenar. (Sección 5.1)

En conjunto, estos resultados muestran que el rendimiento del modelado de lenguaje mejora de manera suave y predecible a medida que escalamos adecuadamente el tamaño del modelo, los datos y el cómputo. Esperamos que los modelos de lenguaje más grandes funcionen mejor y sean más eficientes en muestras que los modelos actuales.

Los modelos más grandes requieren menos muestras para alcanzar el mismo rendimiento.

El tamaño óptimo del modelo crece de manera suave con el objetivo de pérdida y el presupuesto de cómputo.

El entrenamiento eficiente en cómputo se detiene muy antes de la convergencia.

Figura 2: Mostramos una serie de ejecuciones de entrenamiento de modelos de lenguaje, con modelos que van desde 10^3 hasta 10^9 parámetros (excluyendo embeddings).

Tamaño del lote x100

Pasos seriales x10 Tamaño del modelo x1,000,000 Requisitos de datos crecen relativamente lento Tamaño óptimo del modelo aumenta muy rápidamente Pasos seriales mínimos aumentan negligiblemente

Figura 3: A medida que aumenta la disponibilidad de cómputo, podemos elegir cuánto asignar para entrenar modelos más grandes, usar lotes más grandes y entrenar con más pasos. Ilustramos esto para un incremento de mil millones de veces en cómputo. Para un entrenamiento óptimo en eficiencia de cómputo, la mayor parte del incremento debería destinarse a aumentar el tamaño del modelo. Se necesita un aumento relativamente pequeño en datos para evitar reutilización. Del incremento en datos, la mayor parte puede usarse para aumentar el paralelismo mediante tamaños de lote más grandes, requiriendo solo un aumento muy pequeño en el tiempo de entrenamiento serial.

1.2 Resumen de las leyes de escala

La pérdida de prueba de un Transformer entrenado para modelar lenguaje de manera autoregresiva puede predecirse usando una power-law cuando el rendimiento está limitado solo por el número de parámetros no embedding N, el tamaño del conjunto de datos D, o el presupuesto de cómputo óptimamente asignado Cmin (ver Figura 1):

  1. Para modelos con un número limitado de parámetros, entrenados hasta convergencia en conjuntos de datos suficientemente grandes: L(N) = (Nc/N)^αN ; αN ∼ 0.076, Nc ∼ 8.8 × 10^13 (parámetros no embedding) (1.1)

  2. Para modelos grandes entrenados con un conjunto de datos limitado y parada temprana: L(D) = (Dc/D)^αD ; αD ∼ 0.095, Dc ∼ 5.4 × 10^13 (tokens) (1.2)

  3. Cuando se entrena con una cantidad limitada de cómputo, un conjunto de datos suficientemente grande, un modelo de tamaño óptimo y un batch size suficientemente pequeño (usando el cómputo de manera óptima): L(Cmin) = (Cmin_c / Cmin)^αmin_C ; αmin_C ∼ 0.050, Cmin_c ∼ 3.1 × 10^8 (días-PF) (1.3)

También observamos una tendencia empírica power-law con el cómputo de entrenamiento C (Figura 1) al entrenar con batch size fijo, pero es la tendencia con Cmin la que debería usarse para hacer predicciones. Estas se relacionan mediante la ecuación (5.5).

Figura 4: Izquierda: La pérdida de prueba con parada temprana L(N, D) varía predeciblemente con el tamaño del conjunto de datos D y el tamaño del modelo N según la Ecuación (1.5). Derecha: Después de un período transitorio inicial, las curvas de aprendizaje para todos los tamaños de modelo N pueden ajustarse con la Ecuación (1.6), parametrizada en términos de Smin, el número de pasos al entrenar con batch size grande (detalles en la Sección 5.1). Estas relaciones se mantienen a lo largo de ocho órdenes de magnitud en Cmin, seis órdenes de magnitud en N y más de dos órdenes de magnitud en D. Dependen muy débilmente de la forma del modelo y otros hiperparámetros del Transformer (profundidad, ancho, número de cabezas de autoatención), con valores numéricos específicos asociados al conjunto de entrenamiento Webtext2 [RWC+19].

Las leyes de potencia αN, αD, αmin C especifican el grado de mejora en el rendimiento esperado al escalar N, D o Cmin; por ejemplo, duplicar el número de parámetros produce una pérdida que es menor por un factor 2−αN = 0.95. Los valores numéricos precisos de Nc, Cmin c y Dc dependen del tamaño del vocabulario y la tokenización y, por lo tanto, no tienen un significado fundamental. El batch size crítico, que determina la compensación velocidad/eficiencia para el paralelismo de datos ([MKAT18]), también sigue aproximadamente una power law en L:

Bcrit(L) = B∗ L1/αB , B∗ ∼ 2 · 108 tokens, αB ∼ 0.21 (1.4)

Las ecuaciones (1.1) y (1.2) sugieren que, a medida que aumentamos el tamaño del modelo, debemos incrementar el tamaño del conjunto de datos de manera sublineal según D ∝ NαN αD ∼ N0.74. De hecho, encontramos que existe una única ecuación que combina (1.1) y (1.2) y gobierna la dependencia simultánea en N y D, así como el grado de sobreajuste:

L(N, D) = " Nc N  αN αD + Dc D #αD (1.5)

con ajustes mostrados a la izquierda en la figura 4. Conjeturamos que esta forma funcional también podría parametrizar el log-verosimilitud entrenado para otras tareas de modelado generativo.

Al entrenar un modelo dado durante un número finito de pasos de actualización de parámetros S en el límite de datos infinitos, después de un período transitorio inicial, las curvas de aprendizaje pueden ajustarse con precisión mediante (ver la derecha de la figura 4):

L(N, S) =  Nc N αN +  Sc Smin(S) αS (1.6)

donde Sc ≈ 2.1 × 103 y αS ≈ 0.76, y Smin(S) es el número mínimo posible de pasos de optimización (actualizaciones de parámetros) estimado usando la ecuación (5.4).

Al entrenar dentro de un presupuesto de cómputo C fijo, pero sin otras restricciones, la ecuación (1.6) lleva a la predicción de que el tamaño óptimo del modelo N, el batch size óptimo B, el número óptimo de pasos S y el tamaño del conjunto de datos D deberían crecer como:

N ∝ Cαmin C /αN , B ∝ Cαmin C /αB , S ∝ Cαmin C /αS , D = B · S (1.7)

con

αmin C = 1/ (1/αS + 1/αB + 1/αN ) (1.8)

lo que coincide estrechamente con los resultados óptimos empíricos N ∝ C0.73min , B ∝ C0.24min y S ∝ C0.03min. A medida que aumenta el presupuesto computacional C, debería gastarse principalmente en modelos más grandes, sin aumentos dramáticos en el tiempo de entrenamiento o el tamaño del conjunto de datos (ver Figura 3). Esto también implica que, a medida que los modelos crecen, se vuelven cada vez más eficientes en muestras. En la práctica, los investigadores suelen entrenar modelos más pequeños durante más tiempo de lo que sería óptimo en términos de eficiencia computacional debido a limitaciones de hardware. El rendimiento óptimo depende del cómputo total como una power law (ver ecuación (1.3)).

Proporcionamos alguna motivación teórica básica para la ecuación (1.5), un análisis de los ajustes de las curvas de aprendizaje y sus implicaciones para el tiempo de entrenamiento, y un desglose de nuestros resultados por token. También hacemos algunas breves comparaciones con LSTMs y Transformers recurrentes [DGV+18].

Notación

Utilizamos la siguiente notación:

  • L – la pérdida de entropía cruzada en nats. Normalmente se promediará sobre los tokens en un contexto, pero en algunos casos reportamos la pérdida para tokens específicos dentro del contexto.

• N – el número de parámetros del modelo, excluyendo todas las incrustaciones de vocabulario y posicionales
• C ≈ 6NBS – una estimación del cómputo total de entrenamiento sin incrustaciones, donde B es el batch size y S es el número de pasos de entrenamiento (es decir, actualizaciones de parámetros). Citamos valores numéricos en PF-días, donde un PF-día = 10^15 × 24 × 3600 = 8.64 × 10^19 operaciones de punto flotante.
• D – el tamaño del conjunto de datos en tokens
• Bcrit – el batch size crítico [MKAT18], definido y discutido en la Sección 5.1. Entrenar con el batch size crítico proporciona un compromiso aproximadamente óptimo entre tiempo y eficiencia de cómputo.
• Cmin – una estimación de la cantidad mínima de cómputo sin incrustaciones para alcanzar un valor dado de la pérdida. Este es el cómputo de entrenamiento que se usaría si el modelo se entrenara con un batch size mucho menor que el batch size crítico.
• Smin – una estimación del número mínimo de pasos de entrenamiento necesarios para alcanzar un valor dado de la pérdida. Este también es el número de pasos de entrenamiento que se usaría si el modelo se entrenara con un batch size mucho mayor que el batch size crítico.
• αX – exponentes de power-law para la escala de la pérdida como L(X) ∝ 1/X^αX, donde X puede ser cualquiera de N, D, C, S, B, Cmin.

2 Antecedentes y Métodos

Entrenamos modelos de lenguaje en WebText2, una versión extendida del conjunto de datos WebText [RWC+19], tokenizado usando codificación de pares de bytes [SHB15] con un tamaño de vocabulario nvocab = 50257. Optimizamos la log-verosimilitud autorregresiva (es decir, la pérdida de entropía cruzada) promediada sobre un contexto de 1024 tokens, que también es nuestra métrica principal de rendimiento. Registramos la pérdida en la distribución de prueba de WebText2 y en una selección de otras distribuciones de texto. Principalmente entrenamos modelos Transformer [VSP+17] solo de decodificador [LSP+18, RNSS18], aunque también entrenamos modelos LSTM y Transformers Universales [DGV+18] para comparación.

2.1 Escalado de Parámetros y Cómputo en Transformers

Parametrizamos la arquitectura Transformer usando los hiperparámetros nlayer (número de capas), dmodel (dimensión del flujo residual), dff (dimensión de la capa intermedia de alimentación directa), dattn (dimensión de la salida de atención) y nheads (número de cabezas de atención por capa). Incluimos nctx tokens en el contexto de entrada, con nctx = 1024 excepto donde se indique lo contrario. Usamos N para denotar el tamaño del modelo, que definimos como el número de parámetros no incrustados:

N ≈ 2dmodelnlayer (2dattn + dff)
= 12nlayerd^2model con el estándar dattn = dff/4 = dmodel (2.1)

donde hemos excluido los sesgos y otros términos subdominantes. Nuestros modelos también tienen nvocabdmodel parámetros en una matriz de incrustación y usan nctxdmodel parámetros para incrustaciones posicionales, pero no los incluimos al discutir el "tamaño del modelo" N; veremos que esto produce leyes de escala significativamente más claras. Evaluar un paso hacia adelante del Transformer implica aproximadamente:

Cforward ≈ 2N + 2nlayernctxdmodel (2.2)

operaciones de suma-multiplicación, donde el factor de dos proviene de la operación de multiplicación-acumulación utilizada en la multiplicación de matrices.

Un conteo más detallado por operación de parámetros y cómputo se incluye en la Tabla 1.
6
Operación Parámetros FLOPs por Token
Embed (nvocab + nctx) dmodel 4dmodel
Attention: QKV nlayerdmodel3dattn 2nlayerdmodel3dattn
Attention: Mask — 2nlayernctxdattn
Attention: Project nlayerdattndmodel 2nlayerdattndembd
Feedforward nlayer2dmodeldff 2nlayer2dmodeldff
De-embed — 2dmodelnvocab
Total (No Embedding) N = 2dmodelnlayer (2dattn + dff) Cforward = 2N + 2nlayernctxdattn

Tabla 1: Conteo de parámetros y estimaciones de cómputo (paso forward) para un modelo Transformer. Se omiten términos secundarios como no linealidades, biases y normalización de capas. Para contextos y modelos con dmodel > nctx/12, el costo computacional dependiente del contexto por token es una fracción relativamente pequeña del cómputo total. Como estudiamos principalmente modelos donde dmodel ≫ nctx/12, no incluimos términos dependientes del contexto en nuestra estimación de cómputo de entrenamiento.

Considerando el paso backward (aproximadamente el doble de cómputo que el paso forward), definimos el cómputo estimado sin embedding como C ≈ 6N operaciones de punto flotante por token de entrenamiento.

2.2 Procedimientos de Entrenamiento

A menos que se indique lo contrario, entrenamos modelos con el optimizador Adam [KB14] durante 2.5 × 10^5 pasos fijos con un batch size de 512 secuencias de 1024 tokens. Debido a limitaciones de memoria, nuestros modelos más grandes (más de 1B parámetros) se entrenaron con Adafactor [SS18]. Experimentamos con varias tasas de aprendizaje y schedulers, como se discute en el Apéndice D.6. Encontramos que los resultados en convergencia eran en gran medida independientes del scheduler de tasa de aprendizaje.

A menos que se indique lo contrario, todas las ejecuciones de entrenamiento incluidas en nuestros datos utilizaron un scheduler de tasa de aprendizaje con un calentamiento lineal de 3000 pasos seguido de un decaimiento coseno a cero.

2.3 Conjuntos de Datos

Entrenamos nuestros modelos en una versión extendida del conjunto de datos WebText descrito en [RWC+19]. El conjunto de datos WebText original era un scrapeo web de enlaces salientes de Reddit hasta diciembre de 2017 que recibieron al menos 3 karma. En la segunda versión, WebText2, agregamos enlaces salientes de Reddit del período de enero a octubre de 2018, también con un mínimo de 3 karma. El umbral de karma sirvió como heurística para determinar si las personas encontraban el enlace interesante o útil. El texto de los nuevos enlaces se extrajo con la biblioteca Python Newspaper3k.

En total, el conjunto de datos consta de 20.3M documentos que contienen 96 GB de texto y 1.62 × 10^10 palabras (según la definición de wc). Luego aplicamos el tokenizer reversible descrito en [RWC+19], que produce 2.29 × 10^10 tokens. Reservamos 6.6 × 10^8 de estos tokens para usar como conjunto de prueba, y también probamos en muestras preparadas de manera similar de Books Corpus [ZKZ+15], Common Crawl [Fou], Wikipedia en inglés y una colección de libros de Internet disponibles públicamente.

3 Resultados empíricos y leyes de escala básicas

Para caracterizar el escalado de modelos de lenguaje, entrenamos una amplia variedad de modelos, variando varios factores que incluyen:

  • Tamaño del modelo (rango de 768 a 1500 millones de parámetros no embebidos)
  • Tamaño del conjunto de datos (rango de 22 millones a 23 mil millones de tokens)
  • Forma (incluyendo profundidad, ancho, cabezas de atención y dimensión feed-forward)
  • Longitud de contexto (1024 para la mayoría de ejecuciones, aunque también experimentamos con contextos más cortos)
  • Batch size (2^19 para la mayoría de ejecuciones, pero también lo variamos para medir el batch size crítico)

Relación Feed-Forward (dff / dmodel)

50M Parámetros
Relación de aspecto (dmodel / nlayer)
Dimensión de cabeza de atención (dmodel / nhead)

25M Parámetros
10%
8%
6%
4%
2%
0%
Aumento de pérdida

Una amplia gama de arquitecturas logran rendimiento similar
22% de cómputo adicional compensa un 1% de aumento de pérdida

Figura 5: El rendimiento depende muy levemente de la forma del modelo cuando se mantiene fijo el número total de parámetros no embebidos N. La pérdida varía solo unos pocos puntos porcentuales en un amplio rango de formas. Pequeñas diferencias en el conteo de parámetros se compensan utilizando el ajuste a L(N) como línea base. La relación de aspecto en particular puede variar en un factor de 40 mientras afecta mínimamente el rendimiento; un modelo con (nlayer, dmodel) = (6, 4288) alcanza una pérdida dentro del 3% del modelo (48, 1600) utilizado en [RWC+19].

10^6 10^7 10^8 10^9
Parámetros (con embebidos)
2
3
4
5
6
7
Pérdida de prueba

0 capas
1 capa
2 capas
3 capas
6 capas

6 capas

10^3 10^4 10^5 10^6 10^7 10^8 10^9
Parámetros (no embebidos)
2
3
4
5
6
7
Pérdida de prueba

1 capa
2 capas
3 capas
6 capas

6 capas

Figura 6: Izquierda: Cuando incluimos parámetros embebidos, el rendimiento parece depender fuertemente del número de capas además del número de parámetros. Derecha: Cuando excluimos parámetros embebidos, el rendimiento de modelos con diferentes profundidades converge a una sola tendencia. Solo modelos con menos de 2 capas o con relaciones profundidad-ancho extremas se desvían significativamente de la tendencia.

En esta sección mostraremos datos junto con ajustes empíricamente motivados, dejando el análisis teórico para secciones posteriores.

3.1 Independencia aproximada de la forma y los hiperparámetros en Transformers

El rendimiento de los Transformers depende muy débilmente de los parámetros de forma nlayer, nheads y dff cuando mantenemos fijo el conteo total de parámetros no embebidos N. Para establecer estos resultados, entrenamos modelos con tamaño fijo mientras variábamos un solo hiperparámetro. Esto fue más simple para el caso de nheads. Al variar nlayer, simultáneamente variamos dmodel manteniendo N ≈ 12nlayerd^2_model fijo. De manera similar, para variar dff con tamaño de modelo fijo, también variamos el parámetro dmodel, como lo requieren los conteos de parámetros en la Tabla 1. La independencia de nlayers seguiría si los Transformers más profundos se comportan efectivamente como conjuntos de modelos más superficiales, como se ha sugerido para ResNets [VWB16]. Los resultados se muestran en la Figura 5.

3.2 Rendimiento según el conteo de parámetros no embebidos N

En la Figura 6 mostramos el rendimiento de una amplia variedad de modelos, desde modelos pequeños con configuración (nlayer, dmodel) = (2, 128) hasta modelos con miles de millones de parámetros, con configuraciones que van desde (6, 4288) hasta (207, 768). Aquí hemos entrenado hasta alcanzar una convergencia cercana en el conjunto de datos completo WebText2 y no observamos sobreajuste (excepto posiblemente en los modelos más grandes). Como se muestra en la Figura 1, encontramos una tendencia constante con el conteo de parámetros no embebidos N, que puede ajustarse al primer término de la Ecuación (1.5), de modo que:

L(N) ≈ (Nc/N)^αN (3.1)

8
LSTM se estabiliza después de <100 tokens
Transformer mejora a lo largo de todo el contexto
2M
200M
3M
300M
5
4
3
2
6
Índice del token en el contexto
101 102 103
Los Transformers superan asintóticamente a los LSTMs
debido a un mejor uso de contextos largos
3.6
4.2
3.0
2.4
4.8
5.4
105 106 107 108 109
Parámetros (no embebidos)
Transformers
LSTMs
1 Capa
2 Capas
4 Capas
Pérdida de prueba por token
Pérdida de prueba
Parámetros:
400K
400K
Figura 7

Para observar estas tendencias es crucial estudiar el rendimiento en función de N; si en cambio usamos el conteo total de parámetros (incluyendo los parámetros embebidos), la tendencia se oscurece ligeramente (ver Figura 6). Esto sugiere que la matriz de embebido puede hacerse más pequeña sin afectar el rendimiento, como se ha visto en trabajos recientes [LCG+19]. Aunque estos modelos han sido entrenados en el conjunto de datos WebText2, su pérdida de prueba en otros conjuntos de datos también sigue una power-law en N con un exponente casi idéntico, como se muestra en la Figura 8.

3.2.1 Comparación con LSTMs y Transformers Universales

En la Figura 7 comparamos el rendimiento de LSTMs y Transformers en función del conteo de parámetros no embebidos N. Los LSTMs fueron entrenados con el mismo conjunto de datos y longitud de contexto. Vemos en estas figuras que los LSTMs tienen un rendimiento similar al de los Transformers para tokens que aparecen al inicio del contexto, pero no pueden igualar el rendimiento de los Transformers para tokens posteriores. Presentamos relaciones power-law entre el rendimiento y la posición en el contexto en el Apéndice D.5, donde exponentes cada vez mayores para modelos más grandes sugieren una mayor capacidad para reconocer patrones rápidamente. También comparamos el rendimiento de Transformers estándar con Transformers recurrentes [DGV+18] en la Figura 17 del apéndice. Estos modelos reutilizan parámetros, por lo que tienen un rendimiento ligeramente mejor en función de N, a costa de un cómputo adicional por parámetro.

3.2.2 Generalización entre distribuciones de datos

También hemos probado nuestros modelos en un conjunto de distribuciones de datos de texto adicionales. La pérdida de prueba en estos conjuntos de datos en función del tamaño del modelo se muestra en la Figura 8; en todos los casos los modelos fueron entrenados únicamente en el conjunto de datos WebText2. Vemos que la pérdida en estas otras distribuciones de datos mejora suavemente con el tamaño del modelo, en paralelo directo con la mejora en WebText2. Encontramos que la generalización depende casi exclusivamente de la pérdida de validación dentro de la distribución, y no depende de la duración del entrenamiento ni de la proximidad a la convergencia.

También observamos que no hay dependencia de la profundidad del modelo (ver Apéndice D.8).

3.3 Rendimiento con el tamaño del conjunto de datos y el cómputo

Mostramos tendencias empíricas para la pérdida de prueba en función del tamaño del conjunto de datos D (en tokens) y el cómputo de entrenamiento C en la Figura 1. Para la tendencia con D, entrenamos un modelo con (n_layer, n_embd) = (36, 1280) en subconjuntos fijos del conjunto de datos WebText2. Detuvimos el entrenamiento una vez que la pérdida de prueba dejó de disminuir. Vemos que las pérdidas de prueba resultantes pueden ajustarse con una simple power-law:

L(D)(DcD)αDL(D) \approx \left( \frac{D_c}{D} \right)^{\alpha_D}

en el tamaño del conjunto de datos. Los datos y el ajuste aparecen en la Figura 1.

La cantidad total de cómputo no relacionado con embeddings utilizado durante el entrenamiento puede estimarse como C = 6NBS, donde B es el batch size, S es el número de actualizaciones de parámetros, y el factor de 6 considera los pases hacia adelante y hacia atrás. Por lo tanto, para un valor dado de C, podemos analizar todos los modelos con distintos N para encontrar el modelo con el mejor rendimiento en el paso S = C/(6BS).

Nótese que en estos resultados el batch size B se mantiene fijo para todos los modelos, lo que significa que estos resultados empíricos no son verdaderamente óptimos. Corregiremos esto en secciones posteriores utilizando un C_min ajustado para obtener tendencias más claras.

El resultado aparece como la línea negra gruesa en el gráfico izquierdo de la Figura 1. Puede ajustarse con:

L(C)(CcC)αCL(C) \approx \left( \frac{C_c}{C} \right)^{\alpha_C}

La figura también incluye imágenes de curvas de aprendizaje individuales para aclarar cuándo los modelos individuales son óptimos. Estudiaremos la asignación óptima de cómputo con más detalle más adelante.

Los datos sugieren fuertemente que la eficiencia en muestras mejora con el tamaño del modelo, y también ilustramos esto directamente en la Figura 19 del apéndice.

4 Explorando el límite de datos infinitos y el sobreajuste

En la Sección 3 encontramos varias leyes de escala básicas para el rendimiento del modelado de lenguaje. Aquí estudiaremos el rendimiento de un modelo de tamaño N entrenado en un conjunto de datos con D tokens, variando N y D simultáneamente. Demostraremos empíricamente que la pérdida de prueba en entrenamiento óptimo se ajusta a la ley de escala de la Ecuación (1.5). Esto proporciona orientación sobre cuántos datos necesitaríamos para entrenar modelos de tamaño creciente mientras mantenemos el sobreajuste bajo control.

4.1 Ecuación propuesta L(N, D)

Hemos elegido la parametrización (1.5) (repetida aquí por conveniencia):

L(N,D)=(NcN)αN+(DcD)αDL(N, D) = \left( \frac{N_c}{N} \right)^{\alpha_N} + \left( \frac{D_c}{D} \right)^{\alpha_D}

(4.1)

utilizando tres principios:

  1. Los cambios en el tamaño del vocabulario o la tokenización se espera que reescalen la pérdida por un factor general. La parametrización de L(N, D) (y todos los modelos de la pérdida) debe permitir naturalmente tal reescalamiento.

  2. Al fijar D y hacer que N → ∞, la pérdida total debería aproximarse a L(D). Por el contrario, al fijar N y hacer que D → ∞, la pérdida debe aproximarse a L(N).

  3. L(N, D) debe ser analítica en D = ∞, de modo que tenga una expansión en serie en 1/D con potencias enteras. El apoyo teórico para este principio es significativamente más débil que para los dos primeros.

Nuestra elección de L(N, D) satisface el primer requisito porque podemos reescalar Nc, Dc con cambios en el vocabulario. Esto también implica que los valores de Nc, Dc no tienen un significado fundamental.

Figura 9: La pérdida de prueba detenida tempranamente L(N, D) depende de manera predecible del tamaño del conjunto de datos D y del tamaño del modelo N según la Ecuación (1.5). Izquierda: Para D grande, el rendimiento sigue una ley de potencia en N. Para un D fijo más pequeño, el rendimiento deja de mejorar a medida que N aumenta y el modelo comienza a sobreajustarse. (Lo contrario también es cierto, véase la Figura 4). Derecha: El grado de sobreajuste depende predominantemente de la relación N αN αD /D, como se predice en la ecuación (4.3). La línea es nuestro ajuste a esa ecuación.

Dado que detenemos el entrenamiento temprano cuando la pérdida de prueba deja de mejorar y optimizamos todos los modelos de la misma manera, esperamos que los modelos más grandes siempre tengan un mejor rendimiento que los modelos más pequeños. Pero con un D finito fijo, tampoco esperamos que ningún modelo sea capaz de aproximarse a la mejor pérdida posible (es decir, la entropía del texto). De manera similar, un modelo con un tamaño fijo estará limitado por su capacidad. Estas consideraciones motivan nuestro segundo principio.

Tenga en cuenta que el conocimiento de L(N) en D infinito y L(D) en N infinito determina completamente todos los parámetros en L(N, D).

El tercer principio es más especulativo. Existe una razón simple y general por la que uno podría esperar que el sobreajuste escale ∝ 1/D para D muy grande. El sobreajuste debería estar relacionado con la varianza o la relación señal-ruido del conjunto de datos [AS17], y esto escala como 1/D. Esta expectativa debería mantenerse para cualquier función de pérdida suave, ya que esperamos poder expandir la pérdida alrededor del límite D → ∞. Sin embargo, este argumento asume que las correcciones de 1/D dominan sobre otras fuentes de varianza, como el batch size finito y otros límites en la eficacia de la optimización. Sin confirmación empírica, no estaríamos muy seguros de su aplicabilidad.

Nuestro tercer principio explica la asimetría entre los roles de N y D en la Ecuación (1.5).

Son posibles expresiones simétricas muy similares, pero no tendrían una expansión en 1/D con potencias enteras y requerirían la introducción de un parámetro adicional. En cualquier caso, veremos que nuestra ecuación para L(N, D) se ajusta bien a los datos, lo cual es la justificación más importante para nuestro ansatz L(N, D).

4.2 Resultados

Regularizamos todos nuestros modelos con un 10% de dropout, y monitoreamos la pérdida de prueba deteniendo el entrenamiento una vez que ya no disminuye. Los resultados se muestran en la Figura 9, incluyendo un ajuste a los cuatro parámetros αN, αD, Nc, Dc en la Ecuación (1.5):

Tabla
ParámetroαNαDNcDc
Valor0.0760.1036.4 × 10¹³1.8 × 10¹³

Tabla 2: Ajustes para L(N, D)

Obtenemos un excelente ajuste, con la excepción de las ejecuciones donde el conjunto de datos se redujo por un factor de 1024, a aproximadamente 2 × 10⁷ tokens. Con un conjunto de datos tan pequeño, una época consiste en solo 40 actualizaciones de parámetros. Quizás un conjunto de datos tan minúsculo representa un régimen diferente para el modelado de lenguaje, ya que el sobreajuste ocurre muy temprano en el entrenamiento (ver Figura 16). También cabe señalar que los parámetros difieren muy ligeramente de los obtenidos en la Sección 3, ya que aquí estamos ajustando el L(N, D) completo en lugar de solo L(N, ∞) o L(∞, D).

Para trazar los límites del régimen de datos infinitos, podemos estudiar directamente el alcance del sobreajuste. Para todos los modelos excepto los más grandes, no vemos signos de sobreajuste al entrenar con el conjunto completo de 22B tokens de WebText2, por lo que podemos tomarlo como representativo de D = ∞. Así, podemos comparar D finito con el límite de datos infinitos definiendo:

δL(N,D)L(N,D)/L(N,)1(4.2)δL(N, D) ≡ L(N, D)/L(N, ∞) − 1 (4.2)

y estudiándolo como función de N, D. De hecho, vemos empíricamente que δL depende solo de una combinación específica de N y D, como se muestra en la Figura 16. Esto se deduce de la ley de escala de la Ecuación (1.5), que implica:

δL ≈

Por ejemplo, se podría haber usado L(N, D) = (Nc/N)^αN + (Dc/D)^αD^β, pero esto no tiene una expansión en 1/D.

Figura 10: El tamaño crítico de batch Bcrit sigue una power-law en la pérdida a medida que aumenta el rendimiento, y no depende directamente del tamaño del modelo. Encontramos que el tamaño crítico de batch aproximadamente se duplica por cada 13% de disminución en la pérdida. Bcrit se mide empíricamente a partir de los datos mostrados en la Figura 18, pero también se predice aproximadamente por la escala de ruido del gradiente, como en [MKAT18].


1 +  N Nc  αN αD Dc D !αD − 1 (4.3) Nótese que para valores grandes de D, esta fórmula también tiene una expansión en serie en potencias de 1/D. Estimamos que la variación en la pérdida con diferentes semillas aleatorias es aproximadamente 0.02, lo que significa que para evitar el sobreajuste al entrenar dentro de ese umbral de convergencia, requerimos D & (5 × 103 ) N 0.74 (4.4) Con esta relación, los modelos más pequeños que 109 parámetros pueden entrenarse con un sobreajuste mínimo en el conjunto de datos WebText2 de 22B tokens, pero nuestros modelos más grandes encontrarán un sobreajuste leve. Más generalmente, esta relación muestra que el tamaño del conjunto de datos puede crecer de manera sublineal con respecto al tamaño del modelo mientras se evita el sobreajuste. Sin embargo, nótese que esto no representa típicamente un entrenamiento maximamente eficiente en cómputo. También debemos enfatizar que no hemos optimizado la regularización (por ejemplo, la probabilidad de dropout) mientras variábamos el tamaño del conjunto de datos y del modelo.

5 Leyes de Escala con el Tamaño del Modelo y el Tiempo de Entrenamiento

En esta sección demostraremos que una simple ley de escala proporciona una buena descripción de la pérdida como función del tamaño del modelo N y del tiempo de entrenamiento. Primero explicaremos cómo usar los resultados de [MKAT18] para definir un paso de entrenamiento universal Smin, que tiene en cuenta el hecho de que la mayoría de nuestros modelos no han sido entrenados con un batch size óptimo. Luego demostraremos que podemos ajustar la dependencia de la pérdida con respecto al tamaño del modelo y al tiempo de entrenamiento usando la Ecuación (1.6). Posteriormente, usaremos estos resultados para predecir la asignación óptima de cómputo de entrenamiento entre el tamaño del modelo y el tiempo de entrenamiento, y luego confirmaremos esa predicción.

5.1 Ajuste para el Entrenamiento en Bcrit(L)

Se desarrolló una teoría empírica simple para la dependencia del batch size en el entrenamiento en [MKAT18] (ver también [SLA+18, ZLN+19]). Se argumentó que existe un batch size crítico Bcrit para el entrenamiento; para B hasta Bcrit, el batch size puede aumentarse con una degradación mínima en la eficiencia de cómputo, mientras que para B > Bcrit, los aumentos en B resultan en rendimientos decrecientes. También se argumentó que la escala de ruido del gradiente proporciona una predicción simple para Bcrit, y que ninguno depende directamente del tamaño del modelo, excepto a través del valor de la pérdida alcanzada. Estos resultados pueden usarse para predecir cómo variarán el tiempo de entrenamiento y el cómputo con el batch size. Para utilizar tanto el tiempo de entrenamiento como el cómputo de la manera más efectiva posible, es mejor entrenar con un batch size B ≈ Bcrit. Entrenar con B  Bcrit minimiza el número de pasos de entrenamiento, mientras que B  Bcrit minimiza el uso de cómputo. Más específicamente, se demostró que para una amplia variedad de tareas de redes neuronales, el número de pasos de entrenamiento S y el número de ejemplos de datos procesados E = BS satisfacen la relación simple

(SSmin1)(EEmin1)=1\left( \frac{S}{S_{\min}} - 1 \right) \left( \frac{E}{E_{\min}} - 1 \right) = 1

(5.1) al entrenar para cualquier valor fijo de la pérdida L. Aquí, Smin es el número mínimo de pasos necesarios para alcanzar L, mientras que Emin es el número mínimo de ejemplos de datos que deben procesarse. Demostramos la relación (5.1) para Transformers en la Figura 18 del apéndice.

Esta relación define el
tamaño crítico del batch

Bcrit(L)EminSminBcrit(L) ≡ Emin Smin

(5.2)

que es una función del valor objetivo de la pérdida. Entrenar con el tamaño crítico del batch representa un equilibrio aproximadamente óptimo entre tiempo y cómputo, requiriendo 2Smin pasos de entrenamiento y procesando E = 2Emin ejemplos de datos. En la Figura 10 hemos graficado el tamaño crítico del batch y la escala de ruido del gradiente5 como función de la pérdida de entrenamiento para dos modelos diferentes. Observamos que Bcrit(L) es independiente del tamaño del modelo y solo depende de la pérdida L. Por lo tanto, las predicciones de [MKAT18] siguen siendo válidas para modelos de lenguaje basados en la arquitectura Transformer. El tamaño crítico del batch puede ajustarse con una power-law en la pérdida:

Bcrit(L)BL1/αBBcrit(L) ≈ B∗ L1/αB

(5.3)

donde B∗ ≈ 2 × 10^8 y αB ≈ 0.21. Hemos elegido esta parametrización para Bcrit(L) porque, a medida que la pérdida se acerca a su valor mínimo Lmin, se espera que la escala de ruido del gradiente diverja, y esperamos que Bcrit siga esta escala de ruido. No conocemos Lmin, ya que no observamos indicios de que nuestros modelos se acerquen a él, pero Lmin > 0 dado que la entropía del lenguaje natural es distinta de cero. Dado que aparentemente Lmin es mucho menor que los valores de L que hemos alcanzado, utilizamos una parametrización donde Bcrit diverge cuando L → 0.

Utilizaremos Bcrit(L) para estimar la relación entre el número de pasos de entrenamiento S al entrenar con un batch size B = 2^19 tokens y el número de pasos de entrenamiento al entrenar con B ≫ Bcrit. Esto se expresa simplemente como:

Smin(S)S1+Bcrit(L)/BSmin(S) ≡ S 1 + Bcrit(L)/B

(pasos mínimos, con B ≫ Bcrit) (5.4)

para cualquier valor objetivo L de la pérdida. Esto también define un valor crítico del cómputo necesario para entrenar hasta L con un modelo de tamaño N si entrenáramos con B ≪ Bcrit(L). Esto es:

Cmin(C)C1+B/Bcrit(L)Cmin(C) ≡ C 1 + B/Bcrit(L)

(cómputo mínimo, con B ≪ Bcrit) (5.5)

donde C = 6NBS estima el cómputo (sin embeddings) utilizado con un batch size B.

5.2 Resultados para L(N, Smin) y rendimiento con tamaño del modelo y cómputo

Ahora utilizaremos Smin, definido en la Ecuación (5.4), para obtener un ajuste simple y universal de la dependencia de la pérdida con el tamaño del modelo y el tiempo de entrenamiento en el límite de datos infinitos. Ajustaremos las ejecuciones de entrenamiento estables optimizadas con Adam utilizando la Ecuación (1.6), repetida aquí por conveniencia:

L(N,Smin)=NcNαN+ScSminαSL(N, Smin) = Nc N αN + Sc Smin αS

(5.6)

para la pérdida. Incluimos todos los pasos de entrenamiento posteriores al período de calentamiento del planificador de tasa de aprendizaje y encontramos un ajuste a los datos con los parámetros:

Aunque el tamaño crítico del batch coincide aproximadamente con la escala de ruido del gradiente, utilizamos mediciones directas de Bcrit de las Figuras 18 y 10 para todos nuestros análisis posteriores.

Figura 11 Cuando mantenemos fijo el cómputo total o el número de pasos de entrenamiento, el rendimiento sigue L(N, S) de la Ecuación (5.6). Cada valor del presupuesto de cómputo tiene asociado un tamaño óptimo del modelo que maximiza el rendimiento.

Los ajustes mediocres en valores pequeños de S no son sorprendentes, ya que la ecuación power-law para las curvas de aprendizaje se descompone muy temprano en el entrenamiento. Parámetro αN αS Nc Sc
Valor 0.077 0.76 6.5 × 10¹³ 2.1 × 10³
Tabla 3 Ajustes para L(N, S)

Con estos parámetros, obtenemos los ajustes de las curvas de aprendizaje en la Figura 4. Aunque los ajustes no son perfectos, creemos que son bastante convincentes dada la simplicidad de la Ecuación (5.6). Los datos y ajustes pueden visualizarse de una manera diferente y más interesante, como se muestra en la Figura 11. Allí estudiamos la pérdida de prueba como función del tamaño del modelo mientras mantenemos fijo el cómputo total no embebido C utilizado en el entrenamiento, o el número de pasos S. Para los ajustes utilizamos las Ecuaciones (5.5) y (5.4) junto con los parámetros anteriores y la Ecuación (5.6).

La dependencia power-law de la pérdida en Smin refleja la interacción de las dinámicas del optimizador y el panorama de la pérdida. Dado que los ajustes son mejores hacia el final del entrenamiento, cuando la pérdida puede ser aproximadamente cuadrática, la power-law debería proporcionar información sobre el espectro del Hessiano de la pérdida. Su universalidad sugiere que la densidad de valores propios del Hessiano es aproximadamente independiente del tamaño del modelo.

5.3 Límite inferior para el paso de parada temprana

Los resultados para L(N, Smin) pueden usarse para derivar un límite inferior (y una estimación aproximada) del paso en el que debería ocurrir la parada temprana cuando el entrenamiento está limitado por los datos. Se motiva por la idea de que las curvas de aprendizaje para un modelo dado con datos finitos e infinitos serán muy similares hasta que alcancemos Smin ≈ Sstop. Por lo tanto, el sobreajuste debería ser proporcional a la corrección de simplemente terminar el entrenamiento en Sstop. Esto subestimará Sstop, porque en realidad la pérdida de prueba disminuirá más lentamente cuando tengamos un D finito, y por lo tanto requeriremos más pasos de entrenamiento para alcanzar la pérdida de prueba óptima con D finito.

Esta línea de razonamiento conduce a la desigualdad:

Sstop(N, D) & Sc [L(N, D) − L(N, ∞)]¹/αS

(5.7)

donde L(N, ∞) es la pérdida convergida, evaluada con datos infinitos disponibles. Esta desigualdad y su comparación con los datos empíricos se muestran en la Figura 16 del apéndice. En esa figura, los valores de Sstop y L(N, D) son empíricos (aunque Sstop se ajusta para imitar el entrenamiento en B ≥ Bcrit), mientras que L(N, ∞) se calcula a partir del ajuste a L(N, D) evaluado en D = ∞.

6 Asignación óptima del presupuesto de cómputo

Mostramos la tendencia empírica del rendimiento como función del cómputo utilizado durante el entrenamiento en la parte superior derecha de la Figura 1. Sin embargo, este resultado involucró entrenar con un batch size fijo B, mientras que sabemos que:

Modelos entre 0.6x y 2.2x el
tamaño óptimo pueden entrenarse con un
presupuesto de cómputo un 20% mayor

Los modelos más pequeños requieren
más pasos para entrenar, mientras que
los modelos más grandes requieren menos

Nuestro marco no captura
las dinámicas tempranas del entrenamiento

Figura 12 Izquierda: Dado un presupuesto de cómputo fijo, un tamaño de modelo particular es óptimo, aunque modelos algo más grandes o más pequeños pueden entrenarse con un cómputo adicional mínimo.

Derecha: Los modelos más grandes que el tamaño eficiente en cómputo requieren menos pasos para entrenarse, lo que permite un entrenamiento potencialmente más rápido si es posible suficiente paralelismo adicional. Cabe señalar que esta ecuación no debe considerarse confiable para modelos muy grandes, ya que solo es válida en la región power-law de la curva de aprendizaje, después de los efectos transitorios iniciales.

Figura 13: Al ajustar el rendimiento para simular el entrenamiento muy por debajo del batch size crítico, encontramos una ley de potencia algo alterada para L(Cmin) en comparación con los resultados completamente empíricos. El bulto conspicuo en 10−5 PF-días marca la transición de redes de 1 capa a 2 capas; excluimos las redes de 1 capa en los ajustes power-law. Es la tendencia L(Cmin) la que esperamos que proporcione una extrapolación confiable para cómputos mayores. De hecho, podríamos entrenar de manera más eficiente utilizando el batch size Bcrit discutido en la Sección 5.1. Valores grandes y pequeños de la pérdida podrían haberse logrado con menos muestras o menos pasos, respectivamente, y corregir esta ineficiencia estandarizando al batch size crítico resulta en tendencias más limpias y predecibles. En esta sección corregiremos este descuido. Más importante aún, utilizaremos los resultados de la Sección 5 para determinar la asignación óptima de cómputo entre el tamaño del modelo N y la cantidad de datos procesados durante el entrenamiento, es decir, 2BcritSmin. Determinaremos esta asignación tanto empírica como teóricamente, utilizando la ecuación para L(N, Smin), y demostraremos que estos métodos coinciden.

6.1 Rendimiento óptimo y asignaciones

Primero estudiemos la pérdida como función del cómputo asignado óptimamente según la Ecuación (5.5). El resultado se grafica en la Figura 13, junto con un ajuste power-law. Vemos que, en comparación con el gráfico de cómputo de la Figura 1, el nuevo ajuste con Cmin está algo mejorado. Dado L(Cmin), es natural preguntar por el tamaño óptimo del modelo N(Cmin) que proporciona la pérdida mínima con una cantidad dada de cómputo de entrenamiento. El tamaño óptimo del modelo se muestra en la Figura 14. Observamos que N(Cmin) crece muy rápidamente con Cmin, aumentando 5x por cada aumento de 10x en el cómputo. El número de ejemplos de datos procesados constituye el resto del aumento, creciendo relativamente modestamente solo 2x.

Figura 14: Izquierda: Cada valor del presupuesto de cómputo Cmin tiene un tamaño de modelo óptimo asociado N. El tamaño óptimo del modelo crece muy rápidamente con Cmin. La cantidad de ejemplos de datos procesados constituye el resto del aumento, creciendo relativamente modestamente.

Derecha: El número ajustado por batch de pasos de optimización también crece muy lentamente, si es que lo hace, lo que significa que la mayor parte del crecimiento en los ejemplos de datos procesados puede utilizarse para aumentar los batch sizes. Puede ajustarse muy bien con una power-law:

N(Cmin) ∝ (Cmin)^0.73. (6.1)

En la Figura 12, mostramos el efecto de entrenar modelos de tamaños subóptimos (ver Apéndice B.4). Por definición, Cmin ≡ 6NBcritS, por lo que podemos usar N(Cmin) para extraer resultados adicionales. En particular, dado que ajustes previos muestran que B ∝ L^−4.8 y L ∝ C^−0.05 min, podemos concluir que Bcrit ∝ C^0.24 min. Esto nos lleva a concluir que el número óptimo de pasos solo crecerá muy lentamente con el cómputo, como:

Smin(Cmin)0.03,(6.2)Smin ∝ (Cmin)^0.03, (6.2)

lo que coincide con los resultados empíricos de la Figura 14. De hecho, el exponente medido es lo suficientemente pequeño que nuestros resultados podrían incluso ser consistentes con un exponente de cero. Por lo tanto, concluimos que, al escalar el modelado de lenguaje con una asignación óptima de cómputo, deberíamos aumentar predominantemente el tamaño del modelo N, mientras escalamos simultáneamente el batch size mediante B ∝ Bcrit con un aumento insignificante en el número de pasos seriales. Dado que el entrenamiento eficiente en cómputo utiliza relativamente pocos pasos de optimización, podría justificarse trabajo adicional para acelerar la dinámica del entrenamiento inicial.

6.2 Predicciones a partir de L(N, Smin)

Los resultados para L(Cmin) y las asignaciones pueden predecirse a partir de la ecuación L(N, Smin) obtenida en la Sección 5. Dada nuestra ecuación para L(N, Smin), podemos sustituir Smin = Cmin / 6NB y luego encontrar el mínimo de la pérdida como función de N, mientras fijamos el cómputo de entrenamiento. Realizamos este procedimiento en detalle en el Apéndice B, donde también proporcionamos algunas predicciones adicionales. Para la pérdida como función del cómputo de entrenamiento, predecimos que:

L(Cmin)=(Cmin/cCmin)αminC(6.3)L(Cmin) = (Cmin / cCmin)^αmin_C (6.3)

donde:

αminC1/(1/αS+1/αB+1/αN)0.054(6.4)αmin_C ≡ 1 / (1/αS + 1/αB + 1/αN) ≈ 0.054 (6.4)

en excelente acuerdo con el exponente de la Figura 13. También predecimos que:

N(Cmin)(Cmin)(αminC/αN)(Cmin)0.71(6.5)N(Cmin) ∝ (Cmin)^(αmin_C / αN) ≈ (Cmin)^0.71 (6.5)

lo que también coincide con el escalado de la Figura 14 dentro de un margen de unos pocos puntos porcentuales. Nuestras leyes de escala proporcionan un marco predictivo para el rendimiento del modelado de lenguaje.

El punto de intersección es sensible a los parámetros precisos de la power-law.

Figura 15: Mucho más allá de los tamaños de modelo que estudiamos empíricamente, encontramos una contradicción entre nuestras ecuaciones para L(Cmin) y L(D) debido al lento crecimiento de los datos necesarios para el entrenamiento eficiente en cómputo. La intersección marca el punto antes del cual esperamos que nuestras predicciones fallen. La ubicación de este punto es altamente sensible a los exponentes precisos de nuestros ajustes de power-law.

6.3 Contradicciones y una conjetura

No observamos señales de desviación de las tendencias de power-law rectas en valores grandes de cómputo, datos o tamaño del modelo. Sin embargo, nuestras tendencias eventualmente deben nivelarse, ya que el lenguaje natural tiene entropía distinta de cero. De hecho, las tendencias para el entrenamiento eficiente en cómputo descritas en esta sección ya contienen una contradicción aparente.

A escalas varios órdenes de magnitud superiores a las documentadas aquí, el rendimiento predicho por la ley de escala L(Cmin) disminuye por debajo de lo que debería ser posible dado el lento crecimiento en los datos de entrenamiento con cómputo. Esto implica que nuestras leyes de escala deben romperse antes de este punto, pero conjeturamos que el punto de intersección tiene un significado más profundo: proporciona una estimación del punto en el que los modelos de lenguaje Transformer alcanzan el rendimiento máximo.

Dado que la cantidad de datos utilizados por el entrenamiento eficiente en cómputo crece lentamente con el presupuesto de cómputo, el rendimiento predicho por L(Cmin) eventualmente alcanza un límite inferior establecido por la power-law L(D) (ver Figura 15).

Analicemos esto con más detalle. Para mantener el sobreajuste bajo control, los resultados de la Sección 4 implican que debemos escalar el tamaño del conjunto de datos como:

DN0.74C0.54min(6.6)D ∝ N 0.74 ∝ C 0.54 min (6.6)

donde hemos utilizado el N(Cmin) eficiente en cómputo de la Figura 14. Comparemos esto con los requisitos de datos del entrenamiento eficiente en cómputo. Si entrenamos con el batch size crítico (es decir, C = 2Cmin) y nunca reutilizamos datos durante el entrenamiento, encontramos que el uso de datos crece con el cómputo como:

D(Cmin)=2Cmin6N(Cmin)D(Cmin) = 2Cmin 6N(Cmin) ≈ 4×1010tokens(Cmin/PFDay)0.26(6.7)4 × 10^10 tokens (Cmin/PF-Day)^0.26 (6.7)

Esta es la tasa máxima a la que el tamaño del conjunto de datos puede crecer productivamente con el cómputo, ya que significa que solo estamos entrenando durante una única época. Pero crece el conjunto de datos mucho más lentamente que en la Ecuación (6.6). Parece implicar que el entrenamiento eficiente en cómputo eventualmente encontrará un problema con el sobreajuste, incluso si el proceso de entrenamiento nunca reutiliza ningún dato. Según la Figura 1, esperamos que cuando estemos limitados por el tamaño del conjunto de datos (es decir, por el sobreajuste), la pérdida debería escalar como L(D) ∝ D^−0.095. Esto implica que la pérdida escalaría con el cómputo como L(D(Cmin)) ∝ Cmin^−0.03 una vez que estemos limitados por los datos. Una vez más, tenemos una contradicción, ya que esto eventualmente se intersectará con nuestra predicción para L(Cmin) de la Figura 13, donde encontramos un escalado L(Cmin) ∝ Cmin^−0.050. El punto de intersección de L(D(Cmin)) y L(Cmin) ocurre en:

C104PFDaysN1012paraˊmetros,D1012tokens,L1.7nats/token(6.8)C* ∼ 10^4 PF-Days N* ∼ 10^12 parámetros, D* ∼ 10^12 tokens, L* ∼ 1.7 nats/token (6.8)

aunque los valores numéricos son altamente inciertos, variando en un orden de magnitud en cualquier dirección dependiendo de los valores precisos de los exponentes de los ajustes power-law. La interpretación más obvia es que nuestras leyes de escala se rompen en o antes de llegar a este punto, que todavía está a muchos órdenes de magnitud de distancia tanto en cómputo como en tamaño del modelo.

También se podría conjeturar que este punto de intersección tiene un significado más profundo. Si no podemos aumentar el tamaño del modelo más allá de N* sin requisitos de datos cualitativamente diferentes, quizás esto signifique que una vez que alcancemos Cmin y N, hemos extraído toda la información confiable disponible en los datos de lenguaje natural. En esta interpretación, L* proporcionaría una estimación aproximada de la entropía por token del lenguaje natural. En este escenario, esperaríamos que la tendencia de pérdida se nivele en o antes de L*.

Podemos intuir la forma funcional de L(Cmin) a medida que se nivela considerando una versión de nuestro conjunto de datos de entrenamiento con ruido añadido. Por ejemplo, podríamos añadir una cadena aleatoria de tokens a cada contexto mostrado al modelo para aumentar artificialmente la pérdida por un factor aditivo constante. Entonces, la distancia desde el piso de ruido L−Lnoise sería una métrica de rendimiento más significativa, donde incluso una pequeña disminución en esta distancia podría representar un aumento significativo en el rendimiento cualitativo. Dado que el ruido artificial afectaría todas nuestras tendencias por igual, el punto crítico de 6.8 no cambiaría (aparte del valor absoluto de L*), y podría ser significativo incluso si ocurre después del nivelamiento.

7 Trabajo relacionado

Las power-laws pueden surgir de una amplia variedad de fuentes [THK18]. Los escalamientos power-law con el tamaño del modelo y del conjunto de datos en estimación de densidad [Was06] y en modelos de bosques aleatorios [Bia12] pueden estar conectados con nuestros resultados. Estos modelos sugieren que los exponentes power-law pueden tener una interpretación muy aproximada como el inverso del número de características relevantes en los datos.

Algunos trabajos iniciales [BB01, Goo01] encontraron escalamientos power-law entre el rendimiento y el tamaño del conjunto de datos. Trabajos más recientes [HNA+17, HAD19] también investigaron el escalamiento entre el tamaño del modelo y el tamaño de los datos; su trabajo es quizás el más cercano al nuestro en la literatura. Sin embargo, cabe señalar que [HNA+17] encontró un escalamiento superlineal del tamaño del conjunto de datos con respecto al tamaño del modelo, mientras que nosotros encontramos un escalamiento sublineal. Existen algunos paralelismos entre nuestros hallazgos sobre la asignación óptima de cómputo y [Kom19], incluyendo curvas de aprendizaje power-law. EfficientNets [TL19] también parecen obedecer una relación power-law aproximada entre la precisión y el tamaño del modelo. Un trabajo muy reciente [RRBS19b] estudia el escalamiento tanto con el tamaño del conjunto de datos como con el tamaño del modelo para una variedad de conjuntos de datos, y ajusta un ansatz similar al nuestro. EfficientNet [TL19] propone escalar la profundidad y el ancho exponencialmente (con diferentes coeficientes) para un rendimiento óptimo de los modelos de imagen, lo que resulta en un escalamiento power-law del ancho en función de la profundidad. Encontramos que para los modelos de lenguaje, esta potencia debería ser aproximadamente uno al escalar (ya que el ancho/profundidad debería mantenerse fijo). Pero más importante aún, encontramos que los hiperparámetros arquitectónicos precisos son menos importantes en comparación con la escala general del modelo de lenguaje. En [VWB16] se argumentó que los modelos profundos pueden funcionar como conjuntos de modelos más superficiales, lo que podría explicar potencialmente este hallazgo. Trabajos anteriores [ZK16] han comparado el ancho y la profundidad, y encontraron que los ResNets anchos pueden superar a los ResNets profundos en la clasificación de imágenes. Algunos estudios fijan el cómputo por ejemplo de datos, lo que tiende a escalar en proporción al número de parámetros del modelo, mientras que nosotros investigamos el escalamiento tanto con el tamaño del modelo como con la cantidad de cómputo de entrenamiento. Varios trabajos [AS17, BHMM18] han investigado la generalización en modelos altamente sobreparametrizados, encontrando una "transición de atasco" [GJS+19] cuando el tamaño del modelo alcanza el tamaño del conjunto de datos (esto puede requerir entrenar muchos órdenes de magnitud más allá de la práctica típica, y en particular no utiliza parada temprana). No observamos tal transición y encontramos que los datos de entrenamiento necesarios escalan sublinealmente con el tamaño del modelo. Las expansiones en el tamaño del modelo, particularmente a gran ancho [JGH18, LXS+19], pueden proporcionar un marco útil para pensar en algunas de nuestras relaciones de escalamiento. Nuestros resultados sobre optimización, como la forma de las curvas de aprendizaje, probablemente puedan explicarse utilizando un modelo cuadrático ruidoso, que puede proporcionar predicciones bastante precisas [ZLN+19] en entornos realistas. Hacer cuantitativa esta conexión requerirá una caracterización del espectro de Hessian [Pap18, GKX19, GARD18].

Hemos observado escalamientos consistentes de la pérdida de log-verosimilitud del modelo de lenguaje con el recuento de parámetros no incrustados N, el tamaño del conjunto de datos D y el cómputo de entrenamiento optimizado Cmin, como se encapsula en las Ecuaciones (1.5) y (1.6). Por el contrario, encontramos una dependencia muy débil de muchos hiperparámetros arquitectónicos y de optimización.

Dado que los escalamientos con N, D y Cmin son power-laws, existen rendimientos decrecientes al aumentar la escala. Al definir palabras utilizando la utilidad wc, el conjunto de datos WebText2 tiene 1.4 tokens por palabra y 4.3 caracteres por token. Tras completar este trabajo, [RRBS19a] también apareció, haciendo predicciones similares sobre la dependencia de la pérdida tanto con el tamaño del modelo como con el del conjunto de datos.

Logramos modelar con precisión la dependencia de la pérdida respecto a N y D, y alternativamente respecto a N y S, cuando estos parámetros se variaban simultáneamente. Utilizamos estas relaciones para derivar el escalamiento computacional, la magnitud del sobreajuste, el paso de parada temprana y los requisitos de datos al entrenar modelos de lenguaje grandes. Por lo tanto, nuestras relaciones de escalamiento van más allá de la mera observación para proporcionar un marco predictivo. Estas relaciones podrían interpretarse como análogas a la ley de los gases ideales, que relaciona las propiedades macroscópicas de un gas de manera universal, independientemente de la mayoría de los detalles de sus constituyentes microscópicos.

Es natural conjeturar que las relaciones de escalamiento se aplicarán a otras tareas de modelado generativo con una pérdida de máxima verosimilitud, y quizás también en otros contextos. Con este fin, será interesante probar estas relaciones en otros dominios, como modelos de imágenes, audio y video, y quizás también para la destilación de redes aleatorias. En este punto no sabemos cuáles de nuestros resultados dependen de la estructura de los datos de lenguaje natural y cuáles son universales. También sería emocionante encontrar un marco teórico del cual puedan derivarse las relaciones de escalamiento: una "mecánica estadística" subyacente a la "termodinámica" que hemos observado. Tal teoría podría permitir derivar otras predicciones más precisas y proporcionar una comprensión sistemática de las limitaciones de las leyes de escala.

En el dominio del lenguaje natural, será importante investigar si la mejora continua en la pérdida se traduce en una mejora en las tareas lingüísticas relevantes. El cambio cuantitativo suave puede ocultar mejoras cualitativas importantes: "más es diferente". Por ejemplo, el crecimiento agregado suave de la economía no proporciona indicación de los desarrollos tecnológicos específicos que lo sustentan. Del mismo modo, las mejoras suaves en la pérdida del modelo de lenguaje pueden ocultar cambios aparentemente cualitativos en la capacidad.

Nuestros resultados sugieren fuertemente que los modelos más grandes continuarán teniendo un mejor rendimiento y también serán mucho más eficientes en muestras de lo que se había apreciado anteriormente. Los modelos grandes pueden ser más importantes que los datos grandes. En este contexto, se justifica una mayor investigación sobre el paralelismo de modelos. Los modelos profundos pueden entrenarse mediante canalización [HCC+18], que divide los parámetros en profundidad entre dispositivos, pero eventualmente requiere tamaños de batch más grandes a medida que se utilizan más dispositivos. Por otro lado, las redes anchas son más susceptibles de paralelización [SCP+18], ya que las capas grandes pueden dividirse entre múltiples trabajadores con menos dependencia serial. La dispersión [CGRS19, GRK17] o la ramificación (por ejemplo.

[KSH12]) pueden permitir un entrenamiento aún más rápido de redes grandes mediante un mayor paralelismo del modelo. Y utilizando métodos como [WRH17, WYL19], que hacen crecer las redes a medida que se entrenan, podría ser posible mantenerse en la frontera de eficiencia computacional durante todo el proceso de entrenamiento.

Newsletter

Subscribite al Newsletter

Un email semanal con un resumen de los últimos artículos.

También en Magacín