Optimiser l'apprentissage profond : calcul, mémoire, overhead
Original : Making deep learning go brrrr from first principles (2022)
Pourquoi c'est important
Méthodologie structurée pour l'optimisation GPU en deep learning
Horace He explique comment améliorer les performances des modèles d'apprentissage profond en identifiant trois composants clés : le calcul GPU (FLOPS), la bande passante mémoire, et les surcoûts système. L'objectif est de maximiser l'utilisation du calcul.
L'auteur présente une approche systématique pour optimiser les performances en deep learning, décomposant le système en trois régimes : compute-bound (calcul GPU), memory-bound (transferts mémoire), et overhead (tout le reste). Il souligne que maximiser l'utilisation du calcul est crucial car la puissance de calcul croît plus vite que la bande passante mémoire. Contrairement aux optimisations ad-hoc courantes, cette méthode permet d'identifier le véritable goulot d'étranglement. L'analogie d'une usine illustre le concept : les instructions (overhead) et matériaux (mémoire) doivent alimenter efficacement l'usine (calcul) pour atteindre les performances maximales. Cette approche systématique remplace les techniques empiriques souvent utilisées.