Título de la tesis: Redes neuronales sorprendentemente grandes: capas híbridas expertas escasamente cerradas.
Dirección: https://arxiv.org/abs/1701.06538.
Introducción de antecedentes:
Con el desarrollo del aprendizaje profundo, la escala de datos y la capacidad del modelo Conviértete en un factor clave en el aprendizaje profundo. En los modelos tradicionales de aprendizaje profundo, es necesario activar un modelo completo para cada entrada de muestra. Esta sobrecarga es cuadrática a medida que crecen los datos y los modelos. Por lo tanto, se introduce el concepto de cálculo condicional, es decir, al activar dinámicamente ciertas redes neuronales, los parámetros del modelo se pueden aumentar sin aumentar la cantidad de cálculo.
Sin embargo, desde que se propuso la computación condicional, se ha enfrentado a varios dilemas:
1. El hardware informático moderno, especialmente las GPU, es competente en operaciones informáticas y no es bueno para la ramificación. Por lo tanto, se ha realizado una gran cantidad de trabajo previo para controlar grandes porciones de la red a través de cada puerta para reducir la cantidad de sucursales.
2. El cálculo condicional reducirá el tamaño del lote.
3. El ancho de banda de la red es el cuello de botella.
4. Es necesario diseñar una función de pérdidas específica. Bengio diseñó tres tipos de pérdidas en trabajos anteriores, y el diseño de estas pérdidas afectará el rendimiento y el equilibrio de carga del modelo.
5. El trabajo relacionado existente son todos pequeños experimentos de modelos en pequeños conjuntos de datos.
Método:
Se propone una red híbrida de múltiples expertos con puertas dispersas, que selecciona escasamente expertos a través de una red de puertas con capacidad de aprendizaje.
Trabajo relacionado:
Se introdujeron algunas redes de expertos que trabajan en el campo del aprendizaje automático y el aprendizaje profundo, pero estas redes se combinan con expertos de nivel superior, cada red de expertos es en realidad un modelo completo. De hecho, el trabajo de este artículo es hacer de MOE un módulo de red general y un método práctico para controlar la capacidad del modelo.
Estructura del modelo:
Como se muestra en la fórmula anterior, la salida del modelo es dar diferentes pesos a la salida de diferentes expertos E a través de la red cerrada g. Hay demasiados expertos y se pueden construir estructuras MOE multicapa.
A continuación se explica la estructura del MOE. En MOE, la red de expertos es una red neuronal de avance, que es similar a una matriz de peso parametrizada y corresponde a la estructura de eliminación bloque por bloque en el caso de que se activen varios expertos.
Red cerrada:
Red softmax simple:
Red topk ruidosa;
Los expertos de topk son seleccionados por TOPK, otros El coeficiente de expertos es 0. El diseño de puertas dispersas puede ahorrar esfuerzo computacional.
Controle el equilibrio de carga agregando ruido (donde la matriz de peso de ruido se puede aprender).
Solución al problema:
Problema del lote: en pocas palabras, suponiendo que el lote es B, seleccione topK entre N expertos. Debido a la escasa activación, el número de muestras recibidas por cada experto es k * b/n
Los datos sincronizados y el modelo son paralelos: solo se controla una red experta en cada tarjeta y qué red experta tiene los datos. Se distribuye a través de una red cerrada. Este enfoque controla que el consumo de memoria y comunicación en cada tarjeta sea casi el mismo, por lo que el tamaño del lote se puede aumentar proporcionalmente simplemente aumentando el número de tarjetas d.
Convolución: El MOE de la red en cada paso de tiempo es el mismo. Si se separan los pasos múltiples de LSTM, lo que equivale a formar un gran lote de entradas, entonces el lote también se puede aumentar.
Otros métodos para optimizar la memoria de vídeo aumentan el tamaño del lote.
Problema del ancho de banda de la red: aumente la dimensión de la capa oculta o el número de capas ocultas para mejorar la eficiencia informática.
Equilibrio de carga: En concreto, al entrenar un modelo, siempre se activa un pequeño número de expertos. Este es el desequilibrio provocado por el "autorrefuerzo" del modelo. Algunos trabajos previos agregarán algunas restricciones suaves y duras.
Al agregar dos diseños de pérdida a MOE, pérdida de importancia y pérdida de carga, el primero define la importancia y representa la cantidad de muestras entrenadas por un experto, animando así a todos los expertos a participar en la formación. Esto último es para resolver el problema de que algunos expertos reciban una pequeña cantidad de muestras de peso grande y algunos expertos reciban una gran cantidad de muestras de peso pequeño.
Experimentos:
La parte experimental demuestra el desempeño de MOE en tareas de modelado de lenguaje y traducción. Básicamente, MOE tiene parámetros más altos (hasta 65,438+037 millones de parámetros), menor rendimiento de prueba y menos cálculos.
Conclusión:
MOE proporciona una buena idea para mejorar la capacidad del modelo. Idealmente, la cantidad de parámetros del modelo solo se puede aumentar aumentando la cantidad de expertos (dispositivos). Sin embargo, la operación de entrenamiento real es difícil. La red experta en este artículo es solo una simple red neuronal de avance, y es necesario explorar más a fondo otras estructuras de red.
Grabaré una serie de artículos relacionados con el MOE en el futuro, con la esperanza de inspirarme.