Conception de l’architecture d’intelligence artificielle (IA)

L’Intelligence artificielle (IA) correspond à la capacité d’un ordinateur à imiter le comportement de l’intelligence humaine. Les machines, par le biais de l’intelligence artificielle, peuvent analyser des images, comprendre la parole, interagir de manière naturelle et faire des prédictions à l’aide de données.

Illustration depicting the relationship of artificial intelligence as a parent concept. Within AI is machine learning. Within machine learning is deep learning.

Concepts de l’intelligence artificielle

Algorithm

Un algorithme est une séquence de calculs et de règles permettant de résoudre un problème ou d’analyser un jeu de données. Il est similaire à un organigramme, avec des instructions pas à pas relatives aux questions à poser, mais écrit en code mathématique et de programmation. Un algorithme peut décrire comment déterminer si un animal de compagnie est un chat, un chien, un poisson, un oiseau ou un lézard. Un autre algorithme bien plus complexe peut décrire comment identifier un langage écrit ou parlé, analyser ses mots, les traduire dans une langue différente, puis vérifier la précision de la traduction.

Apprentissage automatique

Le Machine Learning (ML) est une technique d’intelligence artificielle qui utilise des algorithmes mathématiques pour créer des modèles prédictifs. Un algorithme permet d’analyser les champs de données et d’« apprendre » à partir de ces données à l’aide de modèles trouvés dans celui-ci pour générer des modèles. Ces modèles sont ensuite utilisés pour établir des prédictions ou des décisions informées sur de nouvelles données.

Les modèles prédictifs sont validés par rapport aux données connues, mesurés par des mesures de performances sélectionnées pour des scénarios d’entreprise spécifiques, puis ajustés en fonction des besoins. Ce processus d’apprentissage et de validation est appelé formation. Grâce à la reformation périodique, les modèles ML sont améliorés au fil du temps.

Apprentissage approfondi

Le Deep Learning est un type de ML capable de déterminer pour lui-même la précision de ses prédictions. Il utilise également des algorithmes permettant d’analyser des données, mais sur une échelle plus importante que le ML.

Le Deep Learning utilise des réseaux neuronaux artificiels, constitués de plusieurs couches d’algorithmes. Chaque couche recherche les données entrantes, effectue sa propre analyse spécialisée et produit une sortie compréhensible par les autres couches. Cette sortie est ensuite transmise à la couche suivante, où un algorithme différent effectue sa propre analyse et ainsi de suite.

Avec de nombreuses couches dans chaque réseau neuronal et parfois à l’aide de plusieurs réseaux neuronaux, un ordinateur peut apprendre par le biais de son propre traitement de données. Cela nécessite une plus grande quantité de données et une puissance de calcul supérieure au ML.

Bots

Un bot est un programme logiciel automatisé conçu pour effectuer une tâche particulière. Considérez-le comme un robot sans corps. Les premiers bots étaient comparativement simples et géraient les tâches répétitives et volumineuses avec une logique algorithmique relativement simple. Par exemple, les analyseurs web utilisés par les moteurs de recherche capables d’explorer et de cataloguer automatiquement le contenu web.

Les bots sont devenus bien plus sophistiqués, en utilisant l’intelligence artificielle et d’autres technologies pour imiter l’activité et la prise de décision humaines, souvent en interagissant directement avec les êtres humains via du texte ou même la parole. Des exemples représentent des bots capables de prendre une réservation pour diner, suivre des chatbots (ou une IA conversationnelle) pour simplifier les interactions avec le service client et des bots de réseaux sociaux qui publient des actualités ou des données scientifiques sur des sites de réseaux sociaux.

Microsoft offre Azure Bot Service, un service géré spécialement conçu pour le développement de bots de qualité professionnelle.

Systèmes autonomes

Les systèmes autonomes font partie d’une nouvelle classe en constante évolution qui va au-delà de l’automatisation de base. Au lieu d’effectuer une tâche spécifique de façon répétée avec peu ou pas de variation (comme le font les bots), les systèmes autonomes apportent de l’intelligence aux machines afin qu’elles puissent s’adapter à l’évolution des environnements pour atteindre un objectif souhaité.

Les bâtiments intelligents utilisent des systèmes autonomes pour contrôler automatiquement les opérations telles que l’éclairage, la ventilation, l’air conditionné et la sécurité. Un exemple plus sophistiqué serait un robot auto-dirigé qui explore un puits de mine réduit pour mieux en mapper l’intérieur, déterminer quelles parties sont structurellement saines, analyser la respirabilité de l’air et détecter des signes de mineurs captifs ayant besoin d’être rescapés, le tout sans surveillance humaine en temps réel et à distance.

Informations générales sur l’intelligence artificielle de Microsoft

Apprenez-en davantage sur l’intelligence artificielle de Microsoft et restez informé des nouveautés associées :

Types d’architectures de haut niveau

IA prédéfinie

L’intelligence artificielle prédéfinie correspond exactement à un système standard de modèles, de services et d’API d’intelligence artificielle prêts à l’emploi. Ces systèmes vous permettent d’ajouter de l’intelligence aux applications, sites web et flux sans avoir à collecter des données, puis à générer, effectuer l'apprentissage et publier vos propres modèles.

Par exemple, une IA prédéfinie pourrait correspondre à un modèle préformé, incorporé tel quel ou utilisé pour fournir une ligne de base pour une formation personnalisée plus poussée. Ou encore, elle pourrait correspondre à un service d’API basé sur le cloud, appelé à volonté pour traiter le langage naturel de la manière souhaitée.

Azure Cognitive Services

Les Cognitive Services offrent aux développeurs la possibilité d’utiliser des API prédéfinies et des kits d’outils d’intégration pour créer des applications qui peuvent voir, entendre, parler, comprendre et même commencer à raisonner. Le catalogue des services disponibles dans Cognitive Services s’articule autour de cinq parties principales : la vision, la parole, la langue, la recherche sur le web et la décision/recommandation.

Modèles d’IA prédéfinis dans AI Builder

AI Builder est une nouvelle fonctionnalité de la Microsoft Power Platform qui fournit une interface par pointer-cliquer pour ajouter de l’intelligence artificielle à vos applications, même si vous n’avez pas de compétences en matière de codage ni de science des données. (Certaines fonctionnalités d’AI Builder n’ont pas encore été publiées pour la disponibilité générale et restent en préversion. Pour plus d’informations, reportez-vous à la page Disponibilité des fonctionnalités par région.)

Vous pouvez générer et former vos propres modèles, mais AI Builder fournit également des modèles d’IA prédéfinis prêts à être utilisés immédiatement. Par exemple, vous pouvez ajouter un composant dans Microsoft Power Apps basé sur un modèle prédéfini qui reconnaît les coordonnées à partir de cartes de visite.

IA personnalisée

Bien que l’intelligence artificielle prédéfinie soit utile (et de plus en plus flexible), la meilleure façon d’obtenir ce dont vous avez besoin en matière d’intelligence artificielle est probablement de générer vous-même un système. Il s’agit évidemment d’un sujet très profond et complexe, mais examinons quelques concepts de base au-delà de ce que nous venons de voir.

Langages de code

Le concept fondamental de l’intelligence artificielle est l’utilisation d’algorithmes pour analyser des données et générer des modèles pour décrire (ou score) de façon utile. Les algorithmes sont écrits par les développeurs et les chercheurs de données (et parfois par d’autres algorithmes) à l’aide de codes de programmation. Deux des langages de programmation les plus populaires pour le développement de l’intelligence artificielle sont actuellement Python et R.

Python est un langage de programmation de haut niveau et à usage général. Elle a une syntaxe simple et facile à apprendre qui met l’accent sur la lisibilité. Il n’y a pas d’étape de compilation. Python dispose d’une grande bibliothèque standard, mais elle prend également en charge la possibilité d’ajouter des modules et des packages. Cela encourage la modularité et vous permet d’étendre les capacités si nécessaire. Il existe un écosystème étendu et en constante évolution des bibliothèques IA et ML pour Python, dont beaucoup sont déjà disponibles dans Azure.

R se compose d'un langage et d'un environnement destinés à l’informatique et aux graphiques statistiques. Il peut être utilisé pour tout, du mappage de grandes tendances sociales et marketing en ligne au développement de modèles financiers et climatiques.

Microsoft a entièrement adopté le langage de programmation R et propose de nombreuses options différentes permettant aux développeurs R d’exécuter leur code dans Azure.

Entrainement

La formation est essentielle à l’apprentissage automatique. Il s’agit du processus itératif « d’apprentissage » d’un algorithme pour créer des modèles, utilisés pour analyser des données et effectuer des prédictions précises. Dans la pratique, ce processus comporte trois phases générales : la formation, la validation et les tests.

Au cours de la phase de formation, un ensemble de qualité des données connues est balisé de sorte que les champs individuels soient identifiables. Les données étiquetées sont chargées dans un algorithme configuré pour effectuer une prédiction particulière. Lorsque vous avez terminé, l’algorithme génère un modèle qui décrit les modèles qu’il a trouvés sous la forme d’un ensemble de paramètres. Pendant la validation, les données actualisées sont étiquetées et utilisées pour tester le modèle. L’algorithme est ajusté en fonction des besoins et peut éventuellement introduire une formation supplémentaire. Enfin, la phase de tests utilise des données réelles sans balises ni cibles présélectionnées. En supposant que les résultats du modèle sont exacts, ils sont considérés comme prêts à l’emploi et peuvent être déployés.

Optimisation des hyperparamètres

Les hyperparamètres sont des variables de données qui régissent le processus de formation lui-même. Il s’agit de variables de configuration qui contrôlent le fonctionnement de l’algorithme. Les hyperparamètres sont donc généralement définis avant le début de la formation du modèle et ne sont pas modifiés au cours du processus de formation de la même façon que les paramètres. Le réglage de l’hyperparamètre implique l’exécution d’essais au cours de la tâche de formation, l’évaluation de la façon dont le travail est effectué, puis l’ajustement en fonction des besoins. Ce processus génère plusieurs modèles, chacun formé à l’aide de différentes familles d’hyperparamètres.

La sélection des modèles

Le processus de formation et le réglage des hyperparamètres produit de nombreux modèles candidats. Il peut y avoir de nombreuses variances différentes, notamment l’effort nécessaire à la préparation des données, la flexibilité du modèle, la durée du traitement et, bien sûr, le degré de précision de ses résultats. Le choix du modèle le mieux adapté à vos besoins et contraintes est appelé séléction du modèle, mais il s’agit davantage d’une préplanification avant la formation, car vous devez choisir celui qui convient le mieux.

Machine Learning automatisé (AutoML)

Le Machine Learning automatisé, également appelé autoML, est le processus d’automatisation des tâches fastidieuses et itératives de développement du modèle de Machine Learning.  Cela peut réduire considérablement le temps nécessaire à l’obtention de modèles ML prêts pour la production. Les ML automatisés peuvent faciliter la sélection du modèle, le réglage des hyperparamètres, la formation du modèle et d’autres tâches, sans nécessiter une connaissance approfondie de la programmation ni du domaine.

Notation

Le scoring est également appelé prédiction et représente le processus de génération de valeurs basé sur un modèle de Machine Learning formé, en fonction de nouvelles données d’entrée. Les valeurs, ou scores, créées peuvent représenter des prédictions de valeurs futures, mais elles peuvent également représenter une catégorie ou un résultat probable. Le processus de scoring peut générer de nombreux types de valeurs différents :

  • Liste des éléments recommandés et score de similarité

  • Valeurs numériques, pour les modèles de série chronologique et les modèles de régression

  • Valeur de probabilité indiquant la probabilité qu’une nouvelle entrée appartienne à une catégorie existante

  • Nom d’une catégorie ou d’un cluster pour lequel un nouvel élément est le plus similaire

  • une classe ou un résultat prédit (pour les modèles de classification) ;

Scoring par lots quand des données sont collectées pendant une période de temps fixe, puis traitées dans un lot. Cela peut inclure la génération de rapports d’entreprise ou l’analyse de la fidélisation des clients.

Scoring en temps réel effectué le plus rapidement possible. L’exemple classique est la détection des fraudes par carte de crédit, mais le scoring en temps réel peut également être utilisé dans la reconnaissance vocale, les diagnostics médicaux, les analyses de marché et de nombreuses autres applications.

Informations générales sur l’IA personnalisée sur Azure

Offres de plateformes Azure AI

Vous trouverez ci-dessous une décomposition des technologies, des plateformes et des services Azure que vous pouvez utiliser pour développer des solutions d’intelligence artificielle adaptées à vos besoins.

Azure Machine Learning

Il s’agit d’un service de Machine Learning de qualité professionnelle pour générer et déployer des modèles plus rapidement. Azure Machine Learning offre des interfaces web et des kits de développement logiciel (SDK) qui vous permettent d’effectuer l'apprentissage et de déployer rapidement vos modèles et pipelines Machine Learning à grande échelle. Utilisez ces fonctionnalités avec des frameworks Python open source comme PyTorch, TensorFlow et scikit-learn.

Architectures de référence du Machine Learning pour Azure

Machine Learning automatisé Azure

Azure fournit un support complet du Machine Learning automatisé. Les développeurs peuvent générer des modèles à l’aide d’une interface utilisateur sans code ou par le biais d’un bloc-notes de code First.

Azure Cognitive Services

Il s’agit d’une famille complète de services d’intelligence artificielle et d’API cognitives pour vous aider à générer des applications intelligentes. Ces modèles d’IA préformés spécifiques à un domaine peuvent être personnalisés avec vos données.

Il s’agit d’un service de recherche cloud alimenté par l’IA pour développer des applications mobiles et web. Le service peut rechercher du contenu hétérogène privé, avec des options d’utilisation de l’enrichissement par IA si votre contenu n’est pas structuré ou qu’il ne peut pas faire l’objet de recherche sous une forme brute.

Azure Bot Service

Il s’agit d’un environnement de développement de bots conçus spécialement pour les modèles prêts à l’emploi, pour un démarrage rapide.

Apache Spark sur Azure

Apache Spark est une infrastructure de traitement parallèle qui prend en charge le traitement en mémoire pour améliorer les performances des applications d’analytique du Big Data. Spark fournit des primitives pour le calcul de cluster en mémoire. Un travail Spark peut charger et mettre en cache des données en mémoire et les interroger à plusieurs reprises, ce qui est beaucoup plus rapide que les applications basées sur un disque, telles que Hadoop.

Apache Spark dans Azure HDInsight est l’implémentation Microsoft d’Apache Spark dans le cloud.  Les clusters Spark dans HDInsight étant compatibles avec le stockage Azure et Azure Data Lake Storage, vous pouvez utiliser des clusters HDInsight Spark pour traiter vos données stockées dans Azure.

La bibliothèque Microsoft Machine Learning pour Apache Spark est MMLSpark (Microsoft ML pour Apache Spark).  Il s’agit d’une bibliothèque open source qui ajoute de nombreux outils de Deep Learning et de science des données, des fonctionnalités de mise en réseau et des performances de qualité production à l’écosystème Spark. En savoir plus sur les fonctionnalités et capacités MMLSpark.

Azure Databricks Runtime pour le Machine Learning

Azure Databricks est une plateforme d’analytique basée sur Apache Spark installée en un seul clic qui offre des workflows rationalisés et un espace de travail interactif de collaboration entre scientifiques des données, ingénieurs et analystes métier.

Databricks Runtime pour le Machine Learning (Databricks Runtime ML) vous permet de démarrer un cluster Databricks avec toutes les bibliothèques requises pour la formation distribuée.  Il fournit un environnement prêt à l’emploi pour le Machine Learning et la science des données. En outre, il contient plusieurs bibliothèques connues, notamment TensorFlow, PyTorch, Keras et XGBoost. Il prend également en charge l’entraînement distribué avec Horovod.

Témoignages client

Les différents secteurs appliquent l’intelligence artificielle de manière novatrice et inspirée. Voici quelques-unes des études de cas client et des témoignages de réussites :

Parcourir d’autres récits de clients de l’IA

Étapes suivantes