A continuaciónSiguiente guía
SmoothQuant y cuantización de activación
Técnico
GUÍA Técnica
El recálculo de activación (gradiente o punto de control de activación) ahorra memoria de la GPU durante el entrenamiento al descartar activaciones intermedias en el paso hacia adelante y recalcularlas durante el paso hacia atrás.
Sacrifica computación extra por la capacidad de entrenar modelos más grandes o secuencias más largas en el mismo hardware.
La retropropagación necesita activaciones de paso directo para calcular los gradientes, por lo que, de forma predeterminada, se almacenan las salidas de cada capa, un costo de memoria enorme que crece con el tamaño del modelo, el tamaño del lote y la longitud de la secuencia. El recálculo de activación mantiene solo unos pocos tensores de 'puntos de control' (a menudo solo límites de capas) y descarta el resto. Durante el paso hacia atrás, vuelve a ejecutar el cálculo hacia adelante entre puntos de control para regenerar las activaciones descartadas a pedido. El resultado clásico es que con puntos de control colocados en cada capa sqrt(N), la memoria cae a aproximadamente O(sqrt(N)) mientras se agrega aproximadamente un paso hacia adelante adicional (~33% más de cómputo). Las variantes selectivas recalculan sólo operaciones baratas pero que consumen mucha memoria (como atención o abandono) mientras almacenan en caché las costosas, obteniendo la mayor parte del ahorro de memoria con una sobrecarga de recalculo mucho menor.
Las decisiones de arquitectura impulsan el rendimiento y los costos operativos durante años.
La educación técnica ayuda a los equipos a elegir la pila adecuada, no sólo la más nueva.
Mejores opciones de ingeniería reducen los incidentes de confiabilidad en la producción.
El recálculo es cada vez más automatizado y selectivo. Los marcos ahora perfilan la memoria de cada operación y el costo FLOP para elegir puntos de control óptimos y combinan el recálculo con la descarga de activación a CPU/NVMe y con estrategias de paralelismo. A medida que la longitud del contexto y los tamaños de los modelos siguen creciendo, espere políticas impulsadas por el compilador (en PyTorch, JAX/XLA) que seleccionen automáticamente las decisiones de recálculo por operación, además de una mayor superposición del recálculo con la comunicación, de modo que los FLOP adicionales queden parcialmente ocultos.
Entrenar un transformador grande que de otro modo no encajaría mediante el control de cada bloque de capa
Uso de torch.utils.checkpoint de PyTorch para envolver bloques de transformadores y cortar la memoria de activación
Recálculo selectivo de atención/softmax en Megatron-LM para ahorrar memoria con una desaceleración mínima
Permitir longitudes de secuencia más largas con un presupuesto de GPU fijo recalculando las activaciones en lugar de almacenarlas
La optimización de un punto de referencia puede ocultar debilidades más amplias del sistema.
Los costos de infraestructura y mantenimiento a menudo se subestiman.
Las brechas de seguridad y observabilidad pueden crecer a medida que los sistemas se vuelven más complejos.
Defina objetivos de latencia, calidad y costos antes de la implementación.
Comparación en condiciones realistas de carga y datos.
Monitoreo de instrumentos para detectar errores, deriva e impacto para el usuario.
Prepare rutas de reversión y respuesta a incidentes antes de escalar.
Free newsletter
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
El recálculo de activación (gradiente o punto de control de activación) ahorra memoria de la GPU durante el entrenamiento al descartar activaciones intermedias en el paso hacia adelante y recalcularlas durante el paso hacia atrás. Cambia la computación adicional por la capacidad de entrenar modelos más grandes o secuencias más largas en el mismo hardware.
El recálculo descarta las activaciones almacenadas y las regenera en el paso hacia atrás, gastando cómputo adicional para reducir el uso de memoria.
El paso hacia atrás utiliza las activaciones hacia adelante para calcular los gradientes, por lo que, de forma predeterminada, se mantienen en la memoria hasta que se ejecuta el paso hacia atrás.
El recálculo completo vuelve a ejecutar el cálculo hacia adelante durante el paso hacia atrás, agregando aproximadamente un paso hacia adelante adicional, del orden de un 30 a un 40 % más de cálculo.
El recálculo selectivo se dirige a operaciones que utilizan mucha memoria pero poca computación (como softmax o Layernorm), mientras almacena en caché los costosos resultados de GEMM para minimizar los FLOP desperdiciados.
La descarga de activaciones mueve algunas activaciones al almacenamiento de CPU/NVMe y, con frecuencia, se combina con recálculo y paralelismo para ahorrar más memoria.
sigue aprendiendo
Más guías seleccionadas para este tema.
A continuaciónSiguiente guía
SmoothQuant y cuantización de activación
Técnico