Gráfico de Conceptos & Resumen usando Claude 3.5 Sonnet | Chat GPT4o | Llama 3:
Resumen:
1.- Entrenar grandes modelos de lenguaje es desafiante debido a las limitaciones de memoria de los aceleradores actuales.
2.- Los modelos con cientos de miles de millones de parámetros no caben en la memoria de la GPU.
3.- El entrenamiento es computacionalmente costoso, tomando años en una sola GPU para modelos como GPT-
4.- Escalar a través de múltiples aceleradores es necesario para hacer viable el entrenamiento.
5.- Los tamaños de lotes grandes pueden requerir más tokens para lograr la misma pérdida, limitando la escalabilidad del paralelismo de datos.
6.- Combinar diferentes dimensiones de paralelismo es crucial para un entrenamiento eficiente a gran escala.
7.- El paralelismo de datos implica replicar el modelo a través de dispositivos y dividir los datos de entrada.
8.- El paralelismo de modelo divide una copia única del modelo a través de múltiples dispositivos.
9.- El paralelismo de tensor del modelo particiona capas individuales u operadores a través de dispositivos.
10.- El paralelismo de tubería del modelo divide las capas del modelo a través de diferentes dispositivos.
11.- El paralelismo de datos requiere operaciones all-reduce costosas para los gradientes de peso después de cada iteración.
12.- El paralelismo de tensor del modelo implica multiplicaciones de matrices distribuidas, requiriendo comunicación entre dispositivos.
13.- El paralelismo de tubería puede llevar a periodos inactivos (burbuja de tubería) si no se gestiona cuidadosamente.
14.- La micro-loteo en el paralelismo de tubería reduce el tiempo inactivo al procesar lotes más pequeños.
15.- Combinar dimensiones de paralelismo (paralelismo PTD) requiere una consideración cuidadosa de las interacciones entre modos.
16.- Aumentar el tamaño del paralelismo de tensor del modelo disminuye el tamaño de la burbuja de tubería pero puede aumentar la comunicación entre servidores.
17.- La estrategia de paralelismo óptima depende de la configuración del hardware, como GPUs por servidor y velocidad de comunicación entre servidores.
18.- Diferentes horarios de tubería pueden intercambiar el tamaño de la burbuja de tubería por más comunicación.
19.- Factores como el tamaño global del lote y el tamaño del micro-lote afectan la comunicación, la burbuja de tubería y la huella de memoria.
20.- Las optimizaciones de bajo nivel son necesarias para un buen rendimiento listo para usar.
21.- Los kernels personalizados y PyTorch JIT ayudan a mantener los operadores limitados por cálculo en lugar de por memoria.
22.- Escalado eficiente logrado para grandes modelos y conteos de GPU, con el 52% del rendimiento teórico para un modelo de un billón de parámetros.
23.- Los modelos de Mezcla de Expertos (MoE) tienen diferentes proporciones de peso-activación, requiriendo diferentes estrategias óptimas de paralelismo.
24.- Automatizar el descubrimiento de estrategias óptimas de paralelización para modelos y hardware arbitrarios es una cuestión abierta.
25.- Implementación de código abierto (Megatron) disponible en GitHub con características como Flash Attention.
26.- Los modelos MoE tienen más parámetros de peso, trasladando la huella de memoria de las activaciones a los pesos.
27.- El paralelismo de expertos en modelos MoE introduce nuevos patrones de comunicación.
28.- Los fallos de nodo son un problema a gran escala, actualmente abordado mediante puntos de control periódicos.
29.- El intervalo óptimo de puntos de control basado en las tasas de fallo del clúster es importante.
30.- Estrategias más eficientes de recuperación de fallos son un área para futuros trabajos.
Bóveda del Conocimiento construida porDavid Vivancos 2024