Sous-jacent à la plupart des applications d’intelligence artificielle (IA), l’apprentissage profond est un sous-ensemble du machine learning qui fait appel à des réseaux neuronaux multicouches pour simuler la capacité de prise de décision complexe du cerveau humain. Au-delà de l’intelligence artificielle (IA), l’apprentissage profond est à l’origine de nombreuses applications qui améliorent l’automatisation, y compris les produits et services quotidiens tels que les assistants digitaux, l’électronique grand public à commande vocale, la détection des fraudes à la carte bancaire et bien d’autres encore. Il est principalement employé pour des tâches telles que la reconnaissance vocale, le traitement d’images et la prise de décisions complexes, où il peut « lire » et traiter un grand volume de données afin d’effectuer des calculs complexes de manière efficace.
Le deep learning demande une puissance de calcul considérable. En règle générale, des unités de traitement graphique (GPU) hautes performances sont idéales, car elles peuvent gérer un grand volume de calculs dans plusieurs cœurs avec une mémoire disponible généreuse. Cependant, la gestion de plusieurs GPU sur site peut créer une forte demande en ressources internes et être extrêmement coûteuse à dimensionner. Les réseaux de portes programmables in situ (FPGA) constituent également une solution polyvalente qui, bien que potentiellement coûteuse elle aussi, offre à la fois des performances adéquates et des possibilités de reprogrammabilité pour les applications émergentes.
Le choix du matériel influence considérablement l’efficacité, la vitesse et l’évolutivité des applications d’apprentissage profond. Lors de la conception d’un système d’apprentissage profond, il faut tenir compte des exigences opérationnelles, du budget et des objectifs pour faire le choix entre GPU et FPGA. En ce qui concerne les circuits, les GPU et les FPGA constituent tous deux des processeurs (CPU) efficaces, avec de nombreuses options disponibles auprès de fabricants tels que NVIDIA ou Xilinx, conçues pour être compatibles avec les normes PCIe (Peripheral Component Interconnect Express) modernes.
Pour comparer les cadres de conception matérielle, il est essentiel de tenir compte des éléments suivants :
Les GPU sont des types de circuits spécialisés conçus pour manipuler rapidement la mémoire afin d’accélérer la création d’images. Conçus pour un débit élevé, ils sont particulièrement efficaces pour les tâches de traitement parallèle, telles que l’entraînement d’applications de deep learning à grande échelle. Même s'ils sont généralement utilisés dans des applications exigeantes comme les jeux et le traitement vidéo, leurs capacités de performance haut débit font des GPU un excellent choix pour les calculs intensifs, tels que le traitement des grands jeux de données, les algorithmes complexes et le minage de cryptomonnaies.
Dans le domaine de l’intelligence artificielle, les GPU sont choisis pour leur capacité à effectuer les milliers d’opérations simultanées nécessaires à l’entraînement et à l’inférence des réseaux neuronaux.
Si les GPU offrent une puissance de calcul exceptionnelle, leur impressionnante capacité de traitement se fait au détriment de l’efficacité énergétique et de la consommation d’énergie. Pour des tâches spécifiques telles que le traitement d’images, de signaux ou d’autres applications d’IA, les fournisseurs de GPU sur le cloud peuvent proposer une solution plus rentable grâce à des modèles de tarification par abonnement ou par paiement à l’usage.
Pour en savoir plus sur les GPU, regardez cette vidéo :
Les FPGA sont des puces de silicium programmables qui peuvent être configurées (et reconfigurées) pour s’adapter à de multiples applications. Contrairement aux circuits intégrés spécifiques à une application (ASIC), qui sont conçus à des fins précises, les FPGA sont connus pour leur grande polyvalence, en particulier dans les applications personnalisées à faible latence. Dans les cas d’utilisation de l’apprentissage profond, les FPGA sont appréciés pour leur polyvalence, leur efficacité énergétique et leur adaptabilité.
Bien que les GPU à usage générique ne puissent pas être reprogrammés, la reconfigurabilité des FPGA permet des optimisations d’applications spécifiques, ce qui se traduit par une réduction de la latence et de la consommation d’énergie. Cette différence clé rend les FPGA particulièrement utiles pour le traitement en temps réel dans les applications d’IA et le prototypage de nouveaux projets.
Bien que les FPGA ne soient pas aussi puissants que les autres processeurs, ils sont généralement plus efficaces. Pour les applications de deep learning, telles que le traitement de grands jeux de données, les GPU sont privilégiés. Cependant, les cœurs reconfigurables des FPGA permettent des optimisations personnalisées qui peuvent être mieux adaptées à des applications et à des workloads spécifiques.
Par définition, les applications d’apprentissage profond impliquent la création d’un réseau neuronal profond (DNN), un type de réseau neuronal comportant au moins trois couches (mais souvent beaucoup plus). Les réseaux neuronaux prennent des décisions par le biais de processus qui imitent la façon dont les neurones biologiques collaborent pour identifier les phénomènes, évaluer les options et parvenir à une conclusion.
Avant qu’un DNN puisse apprendre à identifier des phénomènes, à reconnaître des modèles, à évaluer des possibilités et à faire des prédictions et prendre des décisions, il doit être entraîné sur de vastes volumes de données. Or, le traitement de ces données exige une grande puissance de calcul. Les FPGA et les GPU peuvent fournir cette puissance, mais chacun présente des avantages et des inconvénients.
Les FPGA sont mieux adaptés aux applications personnalisées, à faible latence, qui requièrent une personnalisation pour des tâches spécifiques d’apprentissage profond, telles que les applications d’IA sur mesure. Les FPGA sont également adaptés aux tâches qui privilégient l’efficacité énergétique par rapport à la vitesse de traitement.
Les GPU plus puissants, en revanche, sont généralement préférés pour les tâches plus lourdes comme l’entraînement et l’exécution de grands modèles complexes. La puissance de traitement supérieure du GPU le rend mieux adapté à une gestion efficace des jeux de données plus conséquents.
Bénéficiant d’une programmabilité polyvalente, d’une efficacité énergétique et d’une faible latence, les FPGA sont souvent employés pour les tâches suivantes :
Les GPU à usage général disposent généralement d’une puissance de calcul plus élevée et de fonctionnalités préprogrammées, ce qui les rend particulièrement adaptés aux applications suivantes :
Lorsque vous comparez les FPGA et les GPU, prenez en compte la puissance de l’infrastructure cloud pour vos projets d’apprentissage profond. Avec les GPU IBM sur cloud, vous pouvez provisionner les GPU NVIDIA pour les cas d’utilisation de l’IA générative, de l’IA traditionnelle, des calculs hautes performances et de la visualisation sur l’infrastructure IBM Cloud fiable, sécurisée et rentable. Accélérez votre parcours IA et HPC avec le cloud d’entreprise évolutif d’IBM.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com, openliberty.io