A continuaciónSiguiente guía
Acumulación de gradiente
Técnico
GUÍA Técnica
El punto de control de gradiente (también llamado punto de control de activación) es un truco para ahorrar memoria que descarta la mayoría de las activaciones intermedias durante el pase hacia adelante y las recalcula sobre la marcha durante la propagación hacia atrás.
Escuche esta guíaNarrado por IA · ~2 min
Le permite entrenar redes más grandes y profundas intercambiando computación adicional por un uso de memoria mucho menor.
Training normally retains intermediate activations needed for backpropagation. Activation checkpointing saves selected boundary tensors and recomputes internal activations during backward. This trades additional computation for a lower activation-memory footprint; the actual savings and runtime overhead depend on checkpoint placement, operations, model graph, and hardware. In a simplified chain of N similarly sized layers, a textbook schedule with checkpoint boundaries spaced about sqrt(N) layers apart can reduce activation storage to order sqrt(N) checkpoints, with recomputation cost governed by that schedule. This asymptotic example is not a universal prediction for framework implementations. PyTorch exposes activation-checkpointing utilities, and its current guidance also describes selective rematerialization and compiler-assisted choices. It can combine with FSDP and mixed precision, but benchmark the full training workload.
Entrenar un transformador profundo con un tamaño de lote mayor en una sola GPU descartando y recalculando las activaciones de capa.
Ajuste de modelos de visión en imágenes de alta resolución donde, de otro modo, los mapas de activación desbordarían la memoria de la GPU.
Hugging Face Transformers permite que gradient_checkpointing=True se ajuste a modelos de mil millones de parámetros durante el ajuste fino.
Combinar puntos de control con FSDP para que tanto los parámetros como las activaciones se mantengan pequeños, lo que permite el entrenamiento de modelos de lenguaje muy grandes.
Los puntos de control de gradiente ahora son estándar en el entrenamiento de modelos grandes y están cada vez más automatizados, con bibliotecas que seleccionan las ubicaciones óptimas de los puntos de control para usted. Se combina naturalmente con FSDP, precisión mixta y descarga para aumentar el tamaño de los modelos. Espere puntos de control 'selectivos' que recalculen solo operaciones baratas mientras mantienen en caché las costosas (como matrices de atención), además de enfoques impulsados por compiladores en herramientas como torch.compile de PyTorch que deciden automáticamente qué guardar versus recalcular para obtener el mejor equilibrio entre velocidad y memoria.
Boletín gratuito
Tres noticias verificadas sobre IA cada mañana de lunes a viernes, explicadas con claridad. Gratis para siempre y sin anuncios.
Un correo cada día laborable. Date de baja con un clic. Nunca vendemos ni compartimos tu dirección.
Ponte a prueba
Corrección inmediata en cada respuesta y un certificado para compartir, con un ID verificable, cuando apruebas un curso.
Apoya la educación gratuita sobre IA. AI Understanding es una organización sin fines de lucro 501(c)(3): sin anuncios ni muros de pago, nunca. Hacer una donación
El punto de control de gradiente (también llamado punto de control de activación) es un truco para ahorrar memoria que descarta la mayoría de las activaciones intermedias durante el pase hacia adelante y las recalcula sobre la marcha durante la propagación hacia atrás. Le permite entrenar redes más grandes y profundas intercambiando computación adicional por un uso de memoria mucho menor.
El punto de control de gradiente vuelve a calcular las activaciones descartadas durante el paso hacia atrás, gastando cómputo adicional a cambio de una memoria sustancialmente reducida.
Backprop calcula los gradientes utilizando las activaciones intermedias del pase hacia adelante, por lo que deben estar disponibles a menos que se vuelvan a calcular.
The square-root schedule is a theoretical result for a simplified sequential computation graph, not a universal implementation guarantee.
Recomputation overhead varies with checkpoint policy and the cost of operations selected for recomputation.
torch.utils.checkpoint envuelve un módulo para que sus activaciones internas se vuelvan a calcular hacia atrás en lugar de almacenarse.
sigue aprendiendo
Más guías seleccionadas para este tema.
A continuaciónSiguiente guía
Acumulación de gradiente
Técnico