Si vous lisez sur l'apprentissage automatique, vous entendez probablement beaucoup parler de l'utilisation d'unités de traitement graphique ou de GPU dans les projets d'apprentissage automatique, souvent comme alternative aux unités centrales de traitement ou aux processeurs. Les GPU sont utilisés pour l'apprentissage automatique en raison de propriétés spécifiques qui les rendent mieux adaptés aux projets d'apprentissage automatique, en particulier ceux qui nécessitent beaucoup de traitement parallèle, ou en d'autres termes, le traitement simultané de plusieurs threads.
Il existe de nombreuses façons d’expliquer pourquoi les GPU sont devenus souhaitables pour l’apprentissage automatique. L’un des moyens les plus simples consiste à comparer le petit nombre de cœurs d’un processeur traditionnel avec un nombre beaucoup plus grand de cœurs dans un GPU classique. Les GPU ont été développés pour améliorer les graphiques et les animations, mais sont également utiles pour d’autres types de traitement parallèle, parmi lesquels l’apprentissage automatique. Les experts soulignent que même si les nombreux cœurs (parfois des dizaines) d'un GPU classique ont tendance à être plus simples que le nombre réduit de cœurs d'un CPU, avoir un plus grand nombre de cœurs conduit à une meilleure capacité de traitement parallèle. Cela rejoint l'idée similaire de « l'apprentissage d'ensemble » qui diversifie l'apprentissage réel qui se déroule dans un projet ML : l'idée de base est qu'un plus grand nombre d'opérateurs plus faibles surpasseront un plus petit nombre d'opérateurs plus forts.
Certains experts expliqueront comment les GPU améliorent le débit en virgule flottante ou utilisent efficacement les surfaces des puces, ou comment ils prennent en charge des centaines de threads simultanés lors du traitement. Ils peuvent parler de références pour le parallélisme des données et la divergence des branches, ainsi que d'autres types de travaux effectués par les algorithmes, soutenus par les résultats du traitement parallèle.
Une autre façon d’examiner l’utilisation populaire des GPU dans l’apprentissage automatique consiste à examiner des tâches spécifiques d’apprentissage automatique.
Fondamentalement, le traitement d’images est devenu un élément majeur de l’industrie actuelle de l’apprentissage automatique. En effet, l'apprentissage automatique est bien adapté au traitement des nombreux types de caractéristiques et de combinaisons de pixels qui composent les ensembles de données de classification d'images et aide la machine à s'entraîner à reconnaître des personnes, des animaux (par exemple des chats) ou des objets dans un champ visuel. Ce n'est pas une coïncidence si les processeurs ont été conçus pour le traitement d'animations et sont désormais couramment utilisés pour le traitement d'images. Au lieu de restituer des graphiques et des animations, les mêmes microprocesseurs multithread de haute capacité sont utilisés pour évaluer ces graphiques et ces animations afin d'obtenir des résultats utiles. Autrement dit, au lieu de simplement afficher des images, l’ordinateur « voit des images » – mais ces deux tâches fonctionnent sur les mêmes champs visuels et des ensembles de données très similaires.
Dans cet esprit, il est facile de comprendre pourquoi les entreprises utilisent les GPU (et des outils de niveau supérieur comme les GPGPU) pour faire davantage avec l'apprentissage automatique et l'intelligence artificielle.