XYZNOT

Artículos · arXiv 1701.06538

Redes neuronales descomunalmente grandes: la capa Mixture-of-Experts con compuertas dispersas

Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer

Publicado cs.LGcs.CLcs.NEstat.ML arXivPDF

Leer con traducción e IA

Resumen en tres líneas

  1. 🎯 Las redes neuronales densas sufren explosiones de costo cuadrático al expandir la capacidad del modelo para absorber conjuntos de datos masivos.
  2. 🔧 Introduce una capa Sparsely-Gated Mixture-of-Experts (MoE) que utiliza gating Noisy Top-K y pérdidas auxiliares de balanceo de carga entre particiones distribuidas de GPU.
  3. 📈 Escala modelos de lenguaje y traducción hasta 137 mil millones de parámetros, superando la mejor perplejidad de LM publicada entre un 24% y un 39% con un menor costo computacional.

Resumen

La capacidad de una red neuronal para absorber información está limitada por su número de parámetros. El cómputo condicional, donde partes de la red se activan por cada ejemplo, se ha propuesto en teoría como una forma de aumentar drásticamente la capacidad del modelo sin un incremento proporcional en el cómputo. En la práctica, sin embargo, existen importantes desafíos algorítmicos y de rendimiento. En este trabajo, abordamos estos desafíos y finalmente hacemos realidad la promesa del cómputo condicional, logrando mejoras de más de 1000x en la capacidad del modelo con solo pérdidas menores en la eficiencia computacional sobre clústeres modernos de GPU. Presentamos una capa Sparsely-Gated Mixture-of-Experts layer (MoE), que consta de hasta miles de subredes feed-forward. Una red de compuertas entrenable determina una combinación dispersa de estos expertos a utilizar para cada ejemplo. Aplicamos MoE a las tareas de modelado de lenguaje y traducción automática, donde la capacidad del modelo es crítica para absorber las vastas cantidades de conocimiento disponibles en los corpus de entrenamiento. Presentamos arquitecturas de modelos en las que una MoE con hasta 137 mil millones de parámetros se aplica de forma convolucional entre capas LSTM apiladas. En grandes benchmarks de modelado de lenguaje y traducción automática, estos modelos logran resultados significativamente mejores que el estado del arte con un menor costo computacional.

Resumen original (inglés)

The capacity of a neural network to absorb information is limited by its number of parameters. Conditional computation, where parts of the network are active on a per-example basis, has been proposed in theory as a way of dramatically increasing model capacity without a proportional increase in computation. In practice, however, there are significant algorithmic and performance challenges. In this work, we address these challenges and finally realize the promise of conditional computation, achieving greater than 1000x improvements in model capacity with only minor losses in computational efficiency on modern GPU clusters. We introduce a Sparsely-Gated Mixture-of-Experts layer (MoE), consisting of up to thousands of feed-forward sub-networks. A trainable gating network determines a sparse combination of these experts to use for each example. We apply the MoE to the tasks of language modeling and machine translation, where model capacity is critical for absorbing the vast quantities of knowledge available in the training corpora. We present model architectures in which a MoE with up to 137 billion parameters is applied convolutionally between stacked LSTM layers. On large language modeling and machine translation benchmarks, these models achieve significantly better results than state-of-the-art at lower computational cost.

Guía de lectura

Problema y motivación

Los modelos de aprendizaje profundo se benefician enormemente de la capacidad de parámetros cuando se entrenan en grandes conjuntos de datos. Sin embargo, las arquitecturas estándar activan toda la red para cada token o ejemplo de entrada. Esto conduce a un aumento inviable en el costo computacional a medida que escalan tanto el tamaño de la red como el volumen de datos.

Aunque el cómputo condicional (activar solo subconjuntos de un modelo por ejemplo) se propuso teóricamente, las implementaciones anteriores tuvieron dificultades en los aceleradores modernos debido a:

  • Las GPU favorecen la aritmética uniforme sobre la bifurcación condicional.
  • El "problema de reducción del batch" (shrinking batch problem), donde enrutar subconjuntos de ejemplos deja a las subredes individuales con tamaños de batch diminutos e ineficientes.
  • Cuellos de botella en el ancho de banda de red entre dispositivos.
  • Enrutamiento desbalanceado, donde unas pocas subredes dominan mientras que otras quedan desatendidas.

Ideas clave

  • Capa MoE con compuertas dispersas: Las subredes feed-forward ("expertos") se colocan entre capas recurrentes (como LSTMs apiladas). Solo se evalúa una selección dispersa top- de expertos por posición.
  • Noisy Top-K Gating: Se agrega ruido gaussiano ajustable a los logits de compuerta antes de la selección top- y la función softmax para proporcionar gradientes continuos y retropropagables, y fomentar una exploración equilibrada entre los expertos.
  • Paralelismo combinado de datos y modelos: Las capas estándar y las compuertas se ejecutan con paralelismo de datos entre dispositivos, mientras que los expertos se particionan con paralelismo de modelo entre GPU. Los lotes de todos los dispositivos se combinan para que los expertos reciban minilotes agregados lo suficientemente grandes.
  • Restricciones de balanceo: Pérdidas auxiliares explícitas sobre la importancia y la carga de los expertos evitan que la red de compuertas colapse en soluciones degeneradas que sobreutilizan un puñado de expertos.

Método (con las ecuaciones clave)

Una capa MoE consta de redes expertas feed-forward y una red de compuertas . La salida de la capa es: El cómputo se evita siempre que .

Noisy Top-K Gating

Para combinar la dispersión con compuertas diferenciables, se inyecta ruido en las proyecciones lineales:

Pérdidas de balanceo de carga

Para imponer pesos de compuerta totales iguales, se define una pérdida de importancia sobre un lote utilizando el coeficiente de variación (): Para asegurar una cantidad equitativa de ejemplos por experto, el estimador suave de carga utiliza la CDF normal :

Resultados (con los números más importantes)

  • 1 Billion Word Benchmark: Un modelo MoE-4096-h computacionalmente equivalente logró una perplejidad de prueba de 34.1 (una reducción del 24% en comparación con los LSTM de referencia equiparables en cómputo). Un modelo MoE de alto presupuesto alcanzó una perplejidad de prueba de 28.0 en 47 horas sobre 32 GPU K40, superando el resultado de última generación previo de 34.7 (que requirió 59 horas sobre 32 GPU K40).
  • Corpus de 100 mil millones de palabras: Escalar hasta 65,536 expertos (68 mil millones de parámetros) redujo la perplejidad de prueba en un 39% en comparación con la referencia densa (28.9 frente a 47.0), manteniendo 0.72 TFLOPS/GPU.
  • Traducción automática: GNMT aumentada con MoE logró 40.56 BLEU en WMT'14 EnFr (+1.34 BLEU sobre GNMT sin RL) y 26.03 BLEU en WMT'14 EnDe (+1.12 BLEU) requiriendo a la vez menos de la mitad de las operaciones por paso de tiempo.
  • Traducción multilingüe: Un único modelo multilingüe MoE superó a una referencia multilingüe de GNMT en 11 de 12 pares de idiomas (hasta +5.84 BLEU en coreanoinglés) y redujo la perplejidad de validación en un 19%.

Limitaciones y preguntas abiertas

  • La dispersión extrema puede conducir a rendimientos decrecientes o regresiones en el rendimiento; la perplejidad empeoró al escalar de 65,536 a 131,072 expertos en el conjunto de datos de 100B palabras.
  • La sobrecarga de comunicación distribuida sigue dependiendo de la relación entre dimensiones ocultas y de entrada/salida, lo que hace que capacidades de expertos pequeñas sean menos eficientes en el uso del ancho de banda.
  • Aplicar MoE de forma recurrente dentro de los pasos de recurrencia de una RNN rompe la optimización de desenrollado de lotes a lo largo de las posiciones de la secuencia, requiriendo esquemas de recomputación de activaciones.

Términos clave

Sparsely-Gated Mixture-of-Experts Layer (MoE) (capa Mixture-of-Experts con compuertas dispersas)
Capa de red neuronal que contiene múltiples subredes expertas paralelas donde una red de compuertas entrenable selecciona solo un subconjunto disperso de expertos para cada ejemplo de entrada.
Conditional Computation (cómputo condicional)
Paradigma arquitectónico en el que partes de la red neuronal se activan o desactivan dinámicamente según cada ejemplo para aumentar la capacidad de parámetros sin un incremento proporcional del cómputo.
Noisy Top-K Gating
Mecanismo de compuerta que agrega ruido gaussiano ajustable a los logits antes de conservar solo los k valores principales y aplicar un softmax, lo que permite la retropropagación y evita el colapso del enrutamiento.
Shrinking Batch Problem (problema de reducción del batch)
La reducción en el tamaño de batch efectivo recibido por subredes individuales cuando las entradas se particionan de forma dispersa entre muchos expertos, lo que reduce la eficiencia aritmética del hardware.
Importance Loss (pérdida de importancia)
Pérdida auxiliar que penaliza el coeficiente de variación al cuadrado de la suma de los valores de compuerta por experto a través de un lote para fomentar una asignación equilibrada de expertos.
Load Loss (pérdida de carga)
Objetivo auxiliar que minimiza la varianza en el conteo estimado de asignación de tokens ponderado por probabilidad entre expertos para equilibrar la carga del hardware.
Hierarchical Mixture of Experts (mezcla jerárquica de expertos)
Estructura MoE de dos niveles donde una red de compuertas primaria enruta las entradas a clústeres secundarios de MoE para reducir el factor de ramificación y la sobrecarga de comunicación distribuida.

Preguntas

¿Cómo permite la red de compuertas la retropropagación a través del enrutamiento top-k discreto?

Dado que la selección top-k se aplica antes de la función softmax, los valores de compuerta no nulos para los expertos seleccionados conservan derivadas continuas con respecto a los pesos de entrada, permitiendo que los gradientes fluyan hacia atrás a través de la red de compuertas.

¿Cómo se resuelve el problema de reducción del batch en dispositivos distribuidos?

El modelo combina paralelismo de datos y de modelos: las capas estándar procesan minilotes independientes entre dispositivos, pero los tokens de todos los dispositivos se agregan juntos antes de enrutarse a los expertos estacionarios alojados en diferentes GPU.

¿Por qué es necesario el ruido en la red de compuertas?

El ruido gaussiano inyectado promueve la exploración entre expertos en las primeras etapas del entrenamiento y proporciona un estimador suave para la pérdida de balanceo de carga, evitando el colapso autorreforzado de los expertos.

¿Qué sucede cuando el modelo se escala a 131,072 expertos?

La perplejidad empeoró ligeramente de 28.9 (con 65,536 expertos) a 29.2 (con 131,072 expertos), y la eficiencia computacional se redujo a 0.30 TFLOPS/GPU, probablemente debido a la dispersión extrema y a los tamaños fijos de lote no escalados.

La explicación de esta página la escribió una IA a partir del artículo y puede contener errores. Consulte el artículo para los detalles.

Leer con traducción e IA