A la suite du Microsoft Learn Cloud Skills Challenge de 2023, Microsoft a continué les évènements liés à l’apprentissage avec le Microsoft Learn AI Skills Challenge, qui vient juste de se terminer il y a quelques jours.
L’un comme pour l’autre, leur but est de vous plonger dans l’apprentissage de produits Microsoft mais aussi de nouvelles thématiques IT innovantes.
IBM, Google, Amazon, NVIDIA, DataRobot, H2O.ai, OpenAI, Clarifai … ou encore Microsoft sont sur l’IA depuis plusieurs années, alors … pourquoi pas vous/moi ?
J’ai justement décidé de profiter de cet été pour m’y intéresser afin de me faire ma propre expérience.
Quelques termes fréquemment employés « à toutes les sauces » :
Certains termes liés à l’IA sont souvent employés à tout va. Prenons en exemple ces 3 là pour mieux les comprendre :
Source : Microsoft Learn :
- Le Deep Learning, ou apprentissage profond, est un sous-ensemble du Machine Learning, ou apprentissage automatique, basé sur des réseaux neuronaux artificiels. Le processus d’apprentissage est qualifié de profond parce que la structure des réseaux neuronaux artificiels se compose de plusieurs couches d’entrée, de sortie et masquées.
- Le Machine Learning est un sous-ensemble de l’intelligence artificielle utilisant des techniques (telles que le Deep Learning), qui permettent aux machines de tirer des enseignements de leur expérience pour améliorer la manière dont elles exécutent leurs tâches.
- L’intelligence artificielle est une technique qui permet aux ordinateurs d’imiter l’intelligence humaine. Cette technique inclut donc le Machine Learning.
Sommes-nous vraiment face à une intelligence créative ou simplement générative ?
Alors pourquoi apprendre à utiliser des IAs ?
Comme le dirait très bien une IA :
Il y a plusieurs raisons pour lesquelles apprendre l’intelligence artificielle (IA) peut être bénéfique. L’IA occupe une place grandissante au sein des entreprises soucieuses d’innover et d’opérer leur transformation numérique. Les besoins en compétences relatives à cette technologie se font ainsi de plus en plus ressentir, créant de nombreuses opportunités professionnelles …
Microsoft Copilot
Bref vous l’aurez compris, l’IA est même capable de s’autojustifier elle-même 🤣.
Les IAs restent une formidable boite à outils qui peuvent nous faire gagner un temps précieux dans certaines tâches.
D’ailleurs, les secteurs où les IAs œuvrent déjà ne manquent pas : marketing, santé, administratif, transport, …
Blog : doit-on encore écrire des articles « à la main » ?
Avec l’arrivée des agents conversationnels comme ChatGPT, cela devient une question légitime.
Ecrire un article sur un sujet technique est un travail long, et cela avant même le début de son écriture.
Mais la rédaction d’articles repose sur de la créativité : le sujet, les arguments, les contre-arguments, les exemples et les démonstrations.
Comment une IA générative ( et non créative) pourrait écrire et documenter quelque chose qui n’existe pas encore ou est encore insuffisamment documenté dans sa base de données ?
Bref IAs, ou pas IAs, ce sujet reste passionnant 😉
Petite vidéo intéressante sur ChatGPT :
Par où commencer ?
Le contenu d’apprentissage sur les IA est déjà vaste et conséquent. Avant de partir sur Azure, il est important de commencer avec certaines bases sur l’IA.
J’ai beaucoup apprécié les vidéos faites par IBM, disponibles ici sur YouTube et dont en voici certaines :
Microsoft a mis également à disposition plusieurs parcours d’apprentissage liés à l’IA juste ici :
Enfin et même si le Machine Learning Challenge est maintenant terminé, il est encore possible de suivre son contenu sur Microsoft Learn par ce lien :
Peut-on tester l’IA avec Azure ?
C’est justement le but de ce premier article sur le sujet, tester ensemble un premier service d’IA disponible sur Azure. Comme bien souvent, je trouve très intéressant d’utiliser les exercices Azure liés aux certifications. Microsoft les met à disposition sur sa plate-forme GitHub.
Voici donc la liste des exercices créés par Microsoft et en relation avec la première certification dédiée à l’AI : AI-900 :
Aussi je vous propose dans cet article de réaliser un premier exercice appelé Explorer la détection d’objets :
- Etape 0 – Rappel des prérequis
- Etape I – Création de la ressource Azure Cognitive Services
- Etape II – Ajouts d’images étiquetées
- Etape III – Entrainement de notre modèle d’IA
- Etape IV – Test rapide de notre modèle d’IA
- Etape V – Publication et test réel de notre modèle d’IA
Etape 0 – Rappel des prérequis :
Pour réaliser cet exercice proposé par Microsoft et basé sur une IA d’Azure, il vous faudra disposer de :
- Un tenant Microsoft
- Une souscription Azure valide
Etape I – Création de la ressource Azure Cognitive Services :
Nous allons utiliser ici un service central d’IA disponible sur Azure : Cognitive Services.
Mais pour la reconnaissance d’objets, nous aurions pu utiliser Custom Vision. En effet, beaucoup de services dédiés à un type d’IA sont également disponibles sous Azure.
Pour cela, rendez-vous dans le portail d’Azure et utilisez la barre de recherche :
Renseignez tous les champs suivants, puis lancez la validation Azure :
Une fois la validation Azure réussie, lancez la création des ressources puis attendez environ une minute :
Une fois le déploiement terminé, cliquez-ici pour voir votre Cognitive Services :
Le menu ci-dessous contient deux éléments importants : Clés et Point de terminaison de votre ressource Cognitive Services :
Gardez votre onglet Azure ouvert, rendez vous à la page suivante pour vous connectez au service Custom Vision, puis authentifiez avec votre compte Azure :
Acceptez les conditions d’utilisation de Custom Vision :
Cliquez-ici pour démarrer un nouveau projet Custom Vision :
Nommez projet en le configurant comme ceci, puis cliquez sur Créer :
Notre environnement IA est maintenant en place. Mais nous avons besoin de lui dire quoi faire (quoi identifier) pour que celui-ci soit à mesure de reproduire la tâche par la suite.
Etape II – Ajouts d’images étiquetées :
Pour que votre IA soit en mesure d’effectuer de la détection d’objet, elle a besoin d’être aidée lors de la phase d’identification.
En effet, l’identification IA repose avant tout sur un entrainement préalable.
Pour cela, il vous faut :
- Télécharger des images contenant les classes que vous souhaitez que le modèle identifie.
- Etiquetez des objets en délimitant les zones de chacun d’eux.
Une fois l’archive ZIP téléchargée, décompressez les fichiers JPG présents sur un dossier local :
Ajoutez les images d’entrainement en cliquant ici :
Validez l’envoi des 33 fichiers dans votre service Custom Vision en cliquant ici :
Attendez quelques minutes que le traitement d’envoi se termine :
Environ 2 minutes plus tard, fermez le traitement d’importation :
Cliquez sur la première image afin d’y rajoutez une ou plusieurs étiquettes Cycliste ou Piéton, selon les cas :
Sur chaque personne, choisissez le rectangle proposé par défaut ou dessinez-le avant de mettre l’étiquette appropriée (Cycliste / Piéton), puis cliquez ici pour passer sur l’image suivante :
Effectuez la même opération sur la totalité des photos téléversées (33) :
Une fois toutes les images étiquetées, retrouvez les deux classifications juste ici :
On a donné les informations de départ pour l’identification d’objets. Notre IA a maintenant besoin d’analyser les photos étiquetées pour comprendre les traits communs afin de créer la meilleure formulation possible.
Etape III – Entrainement de notre modèle d’IA :
Afin de familiariser notre IA aux photos étiquetées, Microsoft propose une fonction d’entrainement. A la différence de la phase de test qui suivra, cette étape permet de comprendre et formuler la détection et l’identification des objets.
Pour cela, cliquez sur Entrainer :
Sélectionnez l’option Formation rapide, puis cliquez sur Entrainer :
Attendez quelques minutes que le traitement se termine.
Pendant l’entrainement, il est possible de faire varier le curseur dédié au Seuil de probabilité. Comme son nom l’indique, le Seuil de probabilité correspond au minimum pour considérer la prédiction comme étant valide dans les calculs de Precision et de Recall :
A la fin du traitement, 3 indicateurs font leur apparition suite à l’entrainement :
- Précision : Quelle est la proportion d’identifications positives réellement correctes ?
- Recall : Quelle est la proportion de positifs réels qui a été identifiée correctement ?
- mAP : Précision moyenne calculée comme la moyenne pondérée des précisions à chaque seuil
Notre modèle d’IA est maintenant entrainé. Un petit test s’impose avant sa publication afin d’être sûr que les systèmes fonctionnent bien.
Etape IV – Test rapide de notre modèle d’IA :
Avant de publier les API pour exploiter notre IA dans l’application, il est encore possible d’effectuer de test avec un ou plusieurs images entièrement nouvelles donc inconnues pour notre IA.
Pour cela, cliquez-ici :
Renseignez l’URL suivante, puis lancez le traitement d’analyse :
https://raw.githubusercontent.com/jlou07/ai/6071c0170056f5159aff1c6a4f612d809c8af5f5/cyclistes.jpg
L’image de test s’affiche alors et encadre en rouge les cyclistes ou piétons identifiés dans votre image. Un score de probabilité est aussi calculé pour chaque objet identifié :
Fermez la fenêtre de test rapide. Il nous est maintenant possible de publier notre modèle de détection des cyclistes et des piétons.
La publication active et autorise l’utilisation de notre modèle via le couple URL / clef.
Etape V – Publication et test réel de notre modèle d’IA :
Cliquez sur Publier pour rendre accessible notre model d’IA via son URL :
Définissez la ressource Cognitive Services créée précédemment, puis cliquez sur Publier :
Quelques secondes plus tard, notre model d’IA est enfin publié, l’URL que nous allons utiliser se trouve juste ici :
Retournez sur le portail Azure, puis ouvrez Azure Cloud Shell :
Si cela n’était pas déjà le cas, Azure Cloud Shell a besoin d’un compte de stockage Azure.
Cliquez-ici pour configurer le compte de stockage Azure pour le Cloud Shell :
Renseignez les différents champs selon vos souhaits, puis cliquez sur Créer :
Environ une minute plus tard, le message suivant apparaît. Choisissez PowerShell :
Saisissez les deux commandes suivantes pour nettoyer l’Azure Cloud Shell, et télécharger depuis GitHub les scripts utilisés pour les exercices présents dans l’AI-900 :
rm -r ai-900 -f
git clone https://github.com/MicrosoftLearning/AI-900-AIFundamentals ai-900
Lancez la commande suivante pour ouvrir le script detect-objects.ps1 dans l’éditeur Code :
cd ai-900
code detect-objects.ps1
Le script suivant apparaît alors, nous allons devoir modifier deux variables :
Pour que le script utilise bien votre model publié, identifiez champs suivants situés en haut du script :
Retournez sur la page de Custom Vision afin de copier / coller vos deux valeurs :
Cela doit donner la chose suivante :
Ensuite, lancez les deux commandes claviers suivantes :
- CTRL + S : pour sauvegarder le script detect-objects.ps1 modifié.
- CTRL + Q : pour quitter l’éditeur Code.
L’éditeur Code doit se fermer, gardez la fenêtre d’Azure Cloud Shell encore ouverte :
Testons l’image suivante au travers de notre modèle d’IA :
Pour cela, lancez le script suivant depuis votre fenêtre Azure Cloud Shell :
./detect-objects.ps1 1
Constatez les résultats de probabilité calculé par votre modèle :
Effectuez à nouveau l’exercice avec cette seconde image :
Pour cela, lancez ce second script depuis votre fenêtre Azure Cloud Shell :
./detect-objects.ps1 2
Constatez à nouveau les résultats de probabilité calculé par votre modèle :
Bien évidemment, votre modèle d’IA est encore imprécis et nécessitera beaucoup plus d’images pour améliorer sa précision de classification et sa probabilité de détection.
Mais c’est déjà un bon début pour comprendre comment un service d’IA, disponible sur étagère, peut faire gagner un temps précieux dans la conception d’applications.
Conclusion
Je ne peux que vous encourage qu’à tester l’IA d’Azure au travers des autres exercices disponibles sur cette liste.
A mon sens, Azure Cognitives Services et Azure Machine Learning sont de formidables outils simples d’utilisation et vous donneront une meilleure compréhension des systèmes d’IA.
Enfin, n’oubliez pas de prendre le temps de regarder des vidéos, d’assister à des trainings et de lire des articles provenant de différentes sources pour vous faire une meilleure idée de toutes les IAs passées, présentes et futures 😎.
Un commentaire sur “Premiers pas dans l’IA”