Acumulación de Gradiente

Cómo aprenden realmente los modelos, del descenso por gradiente básico a Adam

La acumulación de gradiente simula un lote más grande cuando la memoria es limitada. En lugar de dar un paso tras cada micro-lote, sumas los gradientes de varios micro-lotes, y luego das un solo paso del optimizador.

El tamaño de lote efectivo es el tamaño del micro-lote multiplicado por el número de pasos de acumulación. Esto permite que una GPU pequeña se comporte más como si hubiera entrenado con un lote más grande.

Un barril de lluvia capta la idea. Una taza pequeña no puede regar todo el jardín de una vez, así que viertes varias tazas en un barril y luego usas la cantidad del barril. La acumulación de gradiente recoge varias contribuciones pequeñas de gradiente antes de una actualización. La figura de abajo es literalmente este proceso: cada término nuevo es una taza, y las barras que suben son el barril llenándose hacia su total. La acumulación de gradiente es una suma parcial de gradientes que cobras de golpe como un solo paso.

Dónde aparece en el MLLa acumulación de gradiente es común en los grandes modelos de lenguaje, las imágenes grandes y la memoria de GPU limitada. Permite a los equipos elegir un tamaño de lote efectivo sin necesitar que ese lote completo quepa de una vez.
▶ Acumulación de Gradiente
← Escalado del Tamaño de LoteInicialización y Escala de la Señal →