Solutions pour la pile de technologies IA

Explorez les couches de la pile technologique de l'IA, ainsi que les technologies, outils et processus utilisés pour développer et déployer des solutions complètes d'intelligence artificielle (IA).

Points essentiels à retenir

  • Les solutions d'IA dépendent d'une pile de technologies comprenant différentes couches : l'application, le modèle, les données et l'infrastructure.

  • Les CPU, GPU, FPGA et accélérateurs d'IA exécutent les applications d'IA et sont des éléments matériels essentiels de la pile de technologies.

  • Les frameworks et bibliothèques d'IA permettent aux développeurs de créer des logiciels d'IA plus rapidement grâce à des échantillons de code et à des outils.

author-image

Par

Qu'est-ce qu'une pile de technologies d'IA ?

Une pile de technologies pour l'intelligence artificielle désigne une solution complète et de bout en bout composée de matériel, de logiciels et d'outils qui facilitent le développement et le déploiement d'applications d'IA. Bien que similaire à la pile utilisée pour créer des applications logicielles à usage général, la pile de technologies d'IA comprend des outils spécialisés qui permettent de créer les modèles d'IA nécessaires au Machine Learning et au Deep Learning.

La pile de technologies d'IA comprend quatre couches fondamentales essentielles : la couche Application, la couche Modèle, la couche Données et la Infrastructure.

La couche Application

La couche Application de la pile de technologies d'IA comprend tous les logiciels, interfaces utilisateur et fonctionnalités d'accessibilité qui permettent aux utilisateurs d'interagir avec les modèles d'IA sous-jacents et les ensembles de données sur lesquels repose une solution d'IA. Par exemple, les interfaces basées sur un navigateur permettent aux utilisateurs d'envoyer des questions à un modèle d'IA générative tel que ChatGPT, tandis qu'une suite d'outils analytiques peut proposer des graphiques et des diagrammes pour aider les utilisateurs à comprendre les résultats du modèle d'IA.

La couche Modèle

La couche Modèle de la pile de technologies d'IA désigne l'endroit où les modèles d'IA sont développés, entraînés et optimisés. Les modèles d'IA sont développés à l'aide d'une combinaison de frameworks, d'outils et de bibliothèques, puis entrainés sur d'énormes quantités de données afin d'affiner leurs processus décisionnels.

La couche Données

Cette couche est axée sur la collecte, le stockage et la gestion des ensembles de données. Elle s'interface avec toutes les autres couches et leur sert de base. Les données de cette couche sont transférées vers la couche Modèle, les nouvelles données provenant de la couche Application sont capturées ici pour une analyse future du modèle, et la couche Infrastructure fournit les ressources nécessaires pour développer, sécuriser et traiter les données de manière fiable.

La couche Infrastructure

La couche Infrastructure de la pile de technologies d'IA comprend toutes les ressources matérielles et de calcul nécessaires pour exécuter les modèles d'IA ainsi que tous les logiciels destinés à l'utilisateur. Il peut s'agir de centres de données d'entreprise, de serveurs Cloud, d'appareils clients tels que des PC portables et PC de bureau avec IA, ou de périphériques à l'Edge, comme des capteurs et caméras intelligents.

Flux de travail de l'IA

Le déploiement réussi d'une pile de technologies d'IA dépend de flux de travail (workflows), à savoir les étapes séquentielles « données, modèle, déploiement » nécessaires pour développer et entraîner un modèle d'IA.

 

  • La première étape comprend tous les processus formels de collecte ou de génération de données, généralement suivis par le prétraitement et le stockage. Elle prépare les données à être utilisées par un modèle d'IA, soit pour l'entraînement soit pour l'inférence.
  • La deuxième étape, la modélisation de l'IA, implique le développement d'un modèle d'IA par la superposition d'algorithmes pour créer un réseau neuronal qui simule les schémas logiques et décisionnels de l'esprit humain.
  • La dernière étape, le déploiement, intervient lorsque le modèle d'IA est déployé dans un cas d'utilisation réel, par exemple pour créer un chatbot personnalisé qui répond aux questions de l'utilisateur avec une intervention humaine minimale ou nulle.

Composants d'une solution d'IA

La plupart des composants sous-jacents d'une pile de technologies d'IA sont généralement connus des professionnels qui les utilisent. Ils comprennent du matériel, des ressources réseau et des logiciels. Cependant, les composants et outils de la pile sont spécialement conçus pour répondre aux exigences uniques des charges de travail d'IA.

Matériel d'IA

Le matériel d'IA comprend toutes les puces et composants sans système d'exploitation (bare metal) qui composent un déploiement d'IA et forment la couche de base de la pile de technologies d'IA.

CPU

Le processeur central (CPU) exécute les instructions logiques qui font fonctionner un ordinateur. Au sein d'une architecture de processeur, un cœur monothread peut exécuter une seule instruction à la fois, tandis qu'un cœur multithreads peut exécuter deux instructions simultanément. Pour les charges de travail d'IA, les cœurs multithreads offrent des performances supérieures à celles des cœurs monothreads et permettent d'entrainer plus efficacement les modèles d'IA.

En savoir plus sur les processeurs pour l'IA.

GPU

Les processeurs graphiques (GPU) sont des composants spécialisés conçus pour gérer les charges de travail graphiques à l'aide d'un grand nombre d'unités d'exécution qui fonctionnent en parallèle. Les charges de travail graphiques et d'IA dépendent du même type d'opérations. C'est pourquoi les processeurs graphiques sont couramment utilisés dans les déploiements d'IA. Les processeurs graphiques sont disponibles sous forme de GPU dédiés (dGPU) enfichables ou de GPU intégrés (iGPU) présents à l'intérieur de l'architecture d'un processeur. Les dGPU sont plus courants dans les serveurs d'IA, tandis que les iGPU sont plus courants dans les ordinateurs clients ou les périphériques à l'Edge.

En savoir plus sur les GPU pour l'IA.

Les FPGA

Les FPGA (Field Programmable Gate arrays) sont des cartes enfichables distinctes pour le traitement des données dont la fonctionnalité peut être personnalisée après la fabrication. Ils sont donc très flexibles pour accélérer le déplacement, le chiffrement ou le traitement des données pour une variété de charges de travail, notamment l'IA.

En savoir plus sur les FPGA pour l'IA.

Accélérateurs d'IA

Les accélérateurs d'IA dédiés sont des composants matériels spécialisés conçus pour traiter les charges de travail d'IA. Ils conviennent parfaitement aux déploiements à grande échelle dans les centres de données. Certains accélérateurs d'IA dédiés offrent des fonctionnalités telles que la connectivité réseau intégrée, afin de réduire les coûts d'infrastructure tout en offrant des performances d'entraînement et d'inférence de l'IA comparables à celles des processeurs graphiques.

En savoir plus sur les accélérateurs d'IA.

IA à l'Edge

L'IA à l'Edge utilise la plupart des composants matériels de l'IA énumérés précédemment, notamment les CPU, les GPU, les FPGA et les accélérateurs d'IA. La principale différence réside dans l'emplacement où les systèmes sont déployés. Si de nombreuses entreprises déploient l'IA dans leurs centres de données, l'IA à l'Edge décrit les systèmes d'IA déployés dans des environnements à l'Edge, tels que les intersections en ville, les magasins de vente au détail ou les usines de production.

L'IA à l'Edge inférence les données au point de génération, pour une analyse et une prise d'action en temps quasi réel. C'est pourquoi l'IA à l'Edge peut parfois être plus rentable que d'envoyer des données vers le Cloud pour l'inférence, avant de les récupérer : elle nécessite moins d'infrastructure réseau et moins de ressources basées sur le Cloud.

En savoir plus sur l'IA à l'Edge.

Serveurs d'IA

Les serveurs d'IA sont des ordinateurs conçus pour répondre aux exigences des charges de travail d'IA. Ils fournissent des services, des applications et des données à d'autres systèmes utilisés par les entreprises et les utilisateurs. Ils combinent des processeurs, des accélérateurs et du matériel réseau conçus pour l'IA afin de pouvoir stocker et préparer les données, entrainer les modèles d'IA et pour l'inférence. Les centres de données d'entreprise sont composés de plusieurs serveurs d'IA, tandis que les déploiements d'IA à l'Edge s'appuient sur un ou plusieurs serveurs d'IA à l'Edge pour remplir leurs objectifs.

En savoir plus sur les serveurs d'IA.

Réseaux pour l'IA

Les réseaux hautes performances constituent un composant essentiel de l'infrastructure technologique qui permet aux applications d'IA de fonctionner efficacement et en toute sécurité. Dans le cas de l'IA, les réseaux doivent fournir des connexions fiables, robustes, efficaces, sécurisées et flexibles. Étant donné que l'IA peut être implémentée n'importe où, les solutions réseau peuvent inclure des connexions filaires, sans fil et virtualisées entre des systèmes et des appareils disparates dans le centre de données, le poste client, le Cloud et l'Edge. Des capacités de sécurité réseau robustes sont également essentielles pour protéger les énormes ensembles de données (notamment les informations personnelles des utilisateurs) qui alimentent les algorithmes de Machine Learning et d'autres programmes d'IA.

En savoir plus sur les réseaux pour l'IA.

Logiciels d'IA

Comme tous les autres logiciels, l'IA est en fait du code qui s'exécute sur du matériel. Les logiciels d'IA peuvent utiliser de nombreux langages de programmation différents, notamment Python, Java ou C++. Les développeurs utilisent des frameworks d'IA pour créer, entraîner et déployer des modèles d'IA, tandis que ces frameworks s'appuient sur des bibliothèques et des kits d'outils pour faciliter le développement de l'IA via des éléments pré-assemblés et des échantillons de code. Les logiciels d'IA contribuent au développement des couches Modèle et Application de la pile de technologies d'IA.

Frameworks d'IA

Un framework d'IA est une plateforme. Il est aussi considéré comme une application. Les développeurs utilisent des frameworks d'IA pour créer, entraîner et déployer des solutions d'IA. Les frameworks d'IA combinent différentes méthodologies, prennent en charge un ou plusieurs langages de programmation et peuvent également fournir une interface qui facilite la navigation et la modification du code. PyTorch et TensorFlow sont des exemples de frameworks d'IA.

Bibliothèques d'IA

Les bibliothèques d'IA sont des collections de fonctions d'IA modulaires et préassemblées et d'échantillons de code que les développeurs peuvent utiliser pour développer leurs propres modèles d'IA sans devoir partir de zéro. Les frameworks d'IA utilisent des bibliothèques d'IA pour accélérer le processus de développement de l'IA. Keras et Scikit-learn sont des exemples de bibliothèques d'IA.