GUIDE Technique

Compromis de recalcul d’activation

Le recalcul des activations (dégradé ou points de contrôle d'activation) économise la mémoire GPU pendant l'entraînement en supprimant les activations intermédiaires lors de la passe avant et en les recalculant lors de la passe arrière.

2 minutes de lectureDernière mise à jour

Aperçu

It trades extra compute for the ability to train larger models or longer sequences on the same hardware.

Plongée profonde

La rétropropagation a besoin des activations de passage direct pour calculer les gradients, donc par défaut les sorties de chaque couche sont stockées – un coût de mémoire énorme qui augmente avec la taille du modèle, la taille du lot et la longueur de la séquence. Le recalcul d'activation ne conserve que quelques tenseurs de « points de contrôle » (souvent juste des limites de couche) et supprime le reste. Pendant le passage en arrière, il réexécute le calcul en avant entre les points de contrôle pour régénérer les activations rejetées à la demande. Le résultat classique est qu'avec des points de contrôle placés à chaque couche sqrt(N), la mémoire tombe à environ O(sqrt(N)) tout en ajoutant environ une passe avant supplémentaire (~ 33 % de calcul en plus). Les variantes sélectives recalculent uniquement les opérations bon marché mais gourmandes en mémoire (comme l'attention ou l'abandon) tout en mettant en cache les opérations coûteuses, obtenant ainsi la plupart des économies de mémoire pour une surcharge de recalcul bien moindre.

Aperçu technique

Le compromis fondamental est la mémoire par rapport aux FLOP. Le recalcul complet ajoute environ une passe supplémentaire par étape (environ 30 à 40 % plus lente), mais peut réduire la mémoire d'activation d'un ordre de grandeur. La solution intelligente est le point de contrôle sélectif : identifiez les opérations qui nécessitent beaucoup de mémoire mais sont peu coûteuses en calcul (softmax, layernorm, GELU, scores d'attention) et recalculez uniquement celles-ci, tout en gardant en cache les résultats des GEMM coûteux, minimisant ainsi le gaspillage de calcul.

Impact stratégique

Coût et budget

Les décisions en matière d'architecture déterminent les performances et les coûts d'exploitation pendant des années.

Décisions plus claires

La formation technique aide les équipes à choisir la bonne pile, pas seulement la plus récente.

Contrôle qualité

De meilleurs choix d’ingénierie réduisent les incidents de fiabilité en production.

L’avenir des compromis de recalcul d’activation

Le recalcul est de plus en plus automatisé et sélectif. Les frameworks profilent désormais la mémoire de chaque opération et le coût FLOP pour choisir les points de contrôle optimaux et combinent le recalcul avec le déchargement d'activation vers CPU/NVMe et avec des stratégies de parallélisme. À mesure que la longueur du contexte et la taille des modèles continuent de croître, attendez-vous à des politiques pilotées par le compilateur (dans PyTorch, JAX/XLA) qui sélectionnent automatiquement les décisions de recalcul par opération, ainsi qu'à un chevauchement plus étroit du recalcul avec la communication afin que les FLOP supplémentaires soient en partie masqués.

Mise en œuvre dans le monde réel

Entraîner un gros transformateur qui ne rentrerait pas autrement en vérifiant chaque bloc de couche

Utilisation de torch.utils.checkpoint de PyTorch pour envelopper les blocs de transformateur et réduire la mémoire d'activation

Recalcul sélectif de l'attention/softmax dans Megatron-LM pour économiser de la mémoire avec un ralentissement minimal

Permettre des séquences plus longues avec un budget GPU fixe en recalculant les activations au lieu de les stocker

Risques et garde-fous

L’optimisation d’un benchmark peut masquer des faiblesses plus larges du système.

Les coûts d’infrastructure et de maintenance sont souvent sous-estimés.

Les lacunes en matière de sécurité et d’observabilité peuvent se creuser à mesure que les systèmes deviennent plus complexes.

Feuille de route de mise en œuvre

1

Définissez les objectifs de latence, de qualité et de coût avant la mise en œuvre.

2

Benchmark dans des conditions de charge et de données réalistes.

3

Surveillance des instruments pour détecter les erreurs, la dérive et l'impact sur l'utilisateur.

4

Préparez les chemins de restauration et de réponse aux incidents avant la mise à l’échelle.

Continuez à explorer

Free newsletter

Get the daily AI briefing

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

Take the Activation Recomputation Tradeoffs quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Démarrer le quiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Guide suivant

SmoothQuant et quantification d’activation

Questions fréquemment posées

What is Activation Recomputation Tradeoffs?

Le recalcul des activations (dégradé ou points de contrôle d'activation) économise la mémoire GPU pendant l'entraînement en supprimant les activations intermédiaires lors de la passe avant et en les recalculant lors de la passe arrière. Il échange des calculs supplémentaires contre la possibilité de former des modèles plus grands ou des séquences plus longues sur le même matériel.

Qu'est-ce que le recalcul d'activation échange pour économiser de la mémoire ?

Le recalcul supprime les activations stockées et les régénère lors de la passe arrière, dépensant ainsi des calculs supplémentaires pour réduire l'utilisation de la mémoire.

Pourquoi les activations de passes avant sont-elles normalement stockées ?

La passe arrière utilise les activations avant pour calculer les dégradés, donc par défaut, ils sont conservés en mémoire jusqu'à l'exécution de la passe arrière.

Environ combien de calcul supplémentaire le recalcul d’activation complète ajoute-t-il généralement ?

Le recalcul complet réexécute le calcul avant pendant la passe arrière, en ajoutant environ une passe avant supplémentaire – de l'ordre de 30 à 40 % de calcul en plus.

Quelle est l’idée derrière le recalcul sélectif (et non complet) ?

Le recalcul sélectif cible les opérations qui utilisent beaucoup de mémoire mais peu de calcul (comme softmax ou layernorm), tout en mettant en cache les résultats GEMM coûteux pour minimiser les FLOP gaspillés.

Quelle technique complémentaire est souvent associée au recalcul pour économiser encore plus de mémoire ?

Le déchargement des activations déplace certaines activations vers le stockage CPU/NVMe et est fréquemment combiné avec le recalcul et le parallélisme pour des économies de mémoire supplémentaires.