L'adoption de CUDA : des premières expériences GPU à la percée d'AlexNet

Les chercheurs en IA ont commencé à reconnaître l'énorme avantage de performance de CUDA pour les réseaux de neurones entre 2006 et 2009, la percée décisive auprès du grand public ayant eu lieu en 2012. Avant ce basculement, les réseaux de neurones étaient largement jugés trop lents et trop coûteux en calcul pour être pratiques.
Principales étapes de l'adoption de CUDA
- 2006 (sortie de CUDA) : NVIDIA a lancé CUDA, qui permet aux chercheurs de programmer les GPU avec du C/C++ standard au lieu de shaders graphiques complexes (comme OpenGL).
- 2007–2008 (premières expériences sur les réseaux de neurones) : les premiers utilisateurs ont commencé à porter des algorithmes de réseaux de neurones vers CUDA. En 2008, le chercheur Rajat Raina et l'équipe d'Andrew Ng à Stanford ont montré que des GPU exécutant CUDA pouvaient entraîner des réseaux de croyance profonds jusqu'à 70 fois plus vite que des CPU multicœurs.
- 2009–2010 (benchmarks record) : le laboratoire de Jürgen Schmidhuber (dont Dan Cireșan) a utilisé des GPU accélérés par CUDA pour entraîner des réseaux de neurones profonds qui ont pulvérisé les records de reconnaissance de l'écriture manuscrite (MNIST), prouvant que des réseaux plus profonds pouvaient être entraînés sans superordinateurs spécialisés.
- 2012 (le tournant AlexNet) : le moment décisif s'est produit lors du concours ImageNet. Alex Krizhevsky, Ilya Sutskever et Geoffrey Hinton ont utilisé des kernels CUDA personnalisés sur deux GPU NVIDIA GTX 580 pour entraîner AlexNet, réduisant presque de moitié le taux d'erreur en classification d'images par rapport aux méthodes traditionnelles. Cette victoire a déclenché la révolution moderne du deep learning.
- 2014 (lancement de cuDNN) : après l'essor d'AlexNet, NVIDIA a publié cuDNN (CUDA Deep Neural Network library), offrant à chaque chercheur en IA des briques GPU optimisées et prêtes à l'emploi pour des frameworks comme Caffe, Theano, TensorFlow et PyTorch.
Pourquoi cela a tout changé
Avant CUDA, l'entraînement d'un réseau de neurones de taille moyenne sur des CPU prenait des semaines ou des mois, ce qui rendait la recherche par essais et erreurs presque impossible. CUDA a ramené ces temps d'entraînement à quelques jours ou quelques heures, permettant aux chercheurs d'agrandir les jeux de données, d'empiler davantage de couches et d'inventer des architectures modernes comme les Transformers et les grands modèles de langage.