Speaker #0Bonjour, je suis Michel Médic, je travaille à l'Institut Paris Région, je suis administrateur SIG et je suis en charge de plusieurs projets sur l'intelligence artificielle. On va vous montrer comment à l'Institut on produit de la donnée à travers différents cas d'usage. Donc nous aujourd'hui à l'Institut, on produit de la donnée de deux manières différentes. D'une part en exploitant l'imagerie comme le fait l'IGN. C'est quelque chose qu'on fait déjà depuis plusieurs années. Et donc on utilise des méthodes de reconnaissance d'objets pour extraire de l'information depuis les photographies aériennes ou des photos satellites. On utilise aussi un certain nombre d'outils pour faire ça, que je vais vous montrer après. Et puis, je ferai un petit point sur l'infrastructure qu'on a mis en place pour utiliser ces modèles d'intelligence artificielle. Parce que l'IA, c'est vraiment super bien, mais si on n'a pas les machines qui vont avec, on ne fait pas grand chose. Et puis, dans une deuxième partie, c'est quelque chose qui est assez nouveau à l'Institut, c'est produire de la donnée avec les LLM. les Large Language Models. On va voir comment nous allons mettre en place une petite infra pour interroger des grandes bases de documents, parce qu'on produit beaucoup de documents à l'Institut, comme vous le savez. Et puis, on a aussi un projet en parallèle, c'est un projet de veille automatique de ressources en ligne. Alors, comment on exploite l'imagerie à l'Institut ? On utilise deux méthodes différentes, une par apprentissage supervisé. c'est-à-dire qu'on utilise des images qu'on a étiquetées. Par exemple, vous voyez là, vous avez un exemple avec des photos de piscines, c'est-à-dire que si on veut faire de la reconnaissance de piscines, par exemple, ce qu'il faut, c'est qu'on prend des grands volumes de données de piscines, et puis on étiquette ces images. Et donc, on a quatre méthodes pour identifier ces objets. La première méthode c'est l'identification, c'est à dire que vous donnez à l'IA une image et l'IA va vous dire ce que vous allez trouver sur l'image. Ensuite vous avez ce qu'on appelle la détection. La détection c'est une IA qui va être capable de vous dire ce qu'il y a sur une image mais en plus elle va être très sympa, elle va vous encadrer l'objet avec un petit rectangle ce qui est très pratique pour ensuite le réinjecter dans un SIG. On a aussi la segmentation, qui va un peu plus loin que la détection et ça permet d'entourer l'objet qui nous intéresse. Et pour finir, on a la segmentation d'instance, qui permet, si vous avez deux fois le même objet sur une même image, ça va vous entourer l'objet de deux couleurs différentes. Bien sûr, quand vous allez de votre gauche vers votre droite, il faut des volumes de données de plus en plus importants. Et à part ça, on utilise aussi, je ne vais pas trop en parler, des apprentissages non supervisés qui permettent de reconstruire et d'améliorer les images. Par exemple, vous avez un modèle ici qui permet de passer d'une image noire et blanc à une image couleur. C'est très pratique, notamment avec les images satellites. Parce qu'à chaque fois qu'on prend une nouvelle image satellite, le profil colorimétrique des images est différent. Et donc pour réappliquer un modèle d'intelligence artificielle, c'est compliqué. Il faut toujours réentraîner. reprendre des nouvelles données, donc c'est un peu galère. Et du coup, on a commencé à travailler sur ces sujets-là, c'est-à-dire qu'on essaye d'entraîner des modèles pour passer d'une image noire et blanc à une photo couleur. Mais l'histoire, c'est que ces modèles-là nécessitent beaucoup de données, et puis des machines qui sont adaptées, qu'on n'a pas encore. Donc c'est quelque chose qu'on suit de loin, qu'on teste, et puis qu'on va essayer d'utiliser à l'avenir. Donc le premier usage que je vous propose, c'est le repérage des parkings. Alors ça c'est quelque chose qu'on a fait, je crois que ça devait être en 2020, dans le cadre de l'estimation du potentiel solaire au sol. L'objectif du projet c'était de repérer tous les parkings de plus de 1500 m², simuler une pose d'ombrière avec des panneaux solaires, et puis d'essayer d'estimer le potentiel solaire. que pourrait nous apporter la pose de panneaux photovoltaïques sur tous les parkings de la région Île-de-France. Alors en 2020, on a utilisé une méthode d'identification, c'est-à-dire une méthode de reconnaissance d'images, qui nous a permis de récupérer à peu près 7500 parkings. Et puis l'année dernière, on a dû refaire cet exercice. pour mettre à jour la donnée et on est parti de notre ancienne base de données qui comptait 7500 parkings pour créer ce qu'on appelle un modèle de segmentation. Ici on a utilisé ce qu'on appelle un réseau UNET et on a pu compléter notre base avec plus de 10 000 parkings. Donc, comme vous voyez sur l'image, la partie en jaune, c'est vraiment l'emprise réelle du parking. Par contre, la partie en rouge, c'est ce que va vous donner la détection. Donc, ce n'est pas quelque chose de parfait, mais c'est suffisant pour localiser nos parkings et surtout pour avoir une première estimation de la superficie du parking. Si on tombe sur une détection de 200 m², on s'en fiche complètement. nous on cherche des parkings de plus de 1500 m² donc à partir de 1000-1100 m² ça devient intéressant alors comment on construit ce genre de modèle d'intelligence artificielle ? alors on part généralement de photos aériennes on essaye de récupérer déjà des bases de parking existantes parce que sinon il faut numériser un petit peu à la main c'est pas agréable on utilise des données soit qui sont disponibles dans notre ESIG, soit qu'on peut récupérer sur les open data divers. Et donc on va extraire des imagettes de parking et on va extraire ce qu'on appelle l'emprise au sol du parking, c'est-à-dire une imagette noire et blanc qui vous dit dire que la partie noire, ce n'est pas du parking. Par contre, la partie qui est en rouge ici, normalement, c'est en sang blanc, ça correspond à l'emprise qu'on cherche à identifier. Et ensuite, ce qu'on va faire, c'est qu'on va diviser en deux ce paquet d'images. On va prendre 75% des images pour dire que ça, c'est de la donnée d'entraînement. Et puis, on va prendre 25% des images pour dire que c'est de la donnée de validation. Ensuite, on fait ce qu'on appelle un réseau de neurones. On va passer ces 75% d'images dans le réseau, et on va le faire plusieurs fois. Pour être précis, on l'a fait plus de 100 fois pour obtenir un modèle. Et à chaque fois que les 75% d'images vont passer une fois dans le modèle, on va créer un modèle intermédiaire qui va se tester sur les données de validation. Et donc... ça va permettre de paramétrer le modèle afin de réaliser l'identification. C'est-à-dire que... C'est un peu technique, je suis désolé, mais on passe beaucoup d'images dans le modèle et on lui dit débrouille-toi comme tu veux, mais essaye de me représenter la zone qui est en rouge ici. Et donc on va le faire plein de fois, et puis à la fin, le modèle va être capable de repérer des parkings sur des images qu'il ne connaît pas. Voilà. Et donc le résultat de cette segmentation, là je vous ai affiché quelques exemples à l'écran. On a presque finalement, pas les contours des parkings, mais au moins on a les zones qui correspondent à les parkings. Alors pour info, un parking c'est quoi ? C'est un endroit où il y a plein de voitures qui sont les unes à côté des autres, ou bien ce sont des parkings qui ont un beau marquage au sol qui est bien visible. Quand on a choisi notre jeu de données, bien sûr, on a pris les images les plus jolies. On n'a pas pris les parkings tout moches. Avec plein d'arbres et tout. Parce que sinon, ça ne marche pas bien. Alors d'autres exemples où on a utilisé ces modèles de reconnaissance, dans le cadre du plan de prévention des risques d'inondation, on a utilisé des modèles de détection pour repérer les péniches sur la Seine, sur l'Oise et sur la Marne. Dans le cadre du plan de prévention du risque incendie, on a utilisé des modèles pour détecter les piscines. Ce n'est pas pour les impôts, c'est vraiment pour... Oui, c'est ce qu'on dit, bien sûr. De toute façon, je les balance en open data. Pour les piscines, on a utilisé deux modèles de détection différents. Parce que c'est bien d'utiliser plusieurs modèles pour un petit peu valider ce que dit le premier. C'est-à-dire qu'on met en concurrence des modèles pour avoir le plus de détections possibles. Et puis plus récemment, cette année, on a dû mettre... Alors on a aussi produit un modèle pour détecter des chantiers. Alors en fait, ce n'est pas vraiment des chantiers, c'est des zones de sable afin de repérer justement toutes ces zones qui sont en construction en région Île-de-France. Et puis plus récemment, on a fait un double modèle qui permettait de repérer toutes les places de parc. à proximité des passages piétons alors pourquoi on a fait ça l'idée c'est de retirer ces places de parking afin d'installer des parcs à vélo donc à proximité des passages piétons et donc ça s'est fait en deux temps déjà on a dû repérer nos passages piétons parce qu'on n'avait pas de base de passage piéton et ensuite en s'appuyant sur les passages piétons on a repéré en fait les places qui étaient à proximité de ces passages piétons alors bien sûr tout ce travail là après il fallait On a dû le vérifier à la main, parce qu'il suffit qu'une voiture soit à proximité du passage piéton pour se dire, voilà, c'est une place de parking. Donc, il y a quelqu'un qui est repassé derrière et qui a vérifié l'intégralité des données. Et on a effectué ce calcul sur toute la métropole. Alors concernant les outils qu'on utilise à l'Institut, on a un certain nombre d'outils, on utilise les librairies TensorFlow et PyTorch qui sont un peu les bibliothèques de référence. Ce sont des outils pour développeurs. On utilise aussi ce qu'on appelle des réseaux UNET pour effectuer nos segmentations. Alors des outils qui sont un peu plus user friendly, j'ai envie de dire, des modèles comme YOLO. YOLO c'est très intéressant parce que vous pouvez le télécharger chez vous, et puis quand vous l'installez, vous avez un répertoire, alors c'est marrant parce que dedans il y a un répertoire d'images avec des... des hamsters. Et donc, par défaut, on peut lancer la commande et puis ça va vous faire un détecteur de hamster. Ce qui est marrant avec YOLO, c'est qu'il suffit de prendre ces données et puis de les remplacer dans le répertoire de destination et puis le relancer et puis ça fait exactement ce que vous voulez. vous voulez. Donc c'est vraiment très sympa comme outil à utiliser. Et puis on utilise un outil qui est un peu moins connu, qui s'appelle FasterCNN, qui permet également de faire de la détection. Il est vraiment dans le même esprit que YOLO. Il est moins connu, parce que YOLO est quand même très diffusé. Mais il fait exactement la même chose que YOLO. Vous avez un répertoire de tests, et puis vous remplacez vos données par celles qui sont déjà dans l'installeur de FasterCNN, et puis ça marche tout seul. Et puis vous en avez un dernier, alors qu'on l'utilise un petit peu moins, qui s'appelle SamGeo. Alors ça c'est un modèle tout prêt, vraiment qui est prêt à l'emploi. Vous allez lui donner une image, quelle qu'elle soit, et puis il va essayer de vous dessiner tout ce qu'il voit sur l'image. Et donc SamGeo a été réadapté pour l'information géographique, et quand vous lui donnez une image satellite, une image aérienne, il va essayer de dessiner le maximum de formes qu'il voit sur l'image. Alors ça peut être assez intéressant quand on n'a pas de données du tout pour produire une première base de données d'entraînement. C'est comme ça qu'on l'a utilisé. Et puis en 2025, cette année, on devrait s'équiper avec l'extension Image Analyst. Pour ceux qui travaillent avec ESRI, on devrait mettre ça à disposition de toutes les personnes qui font du SIG à l'Institut Paris Région. L'état actuel aujourd'hui, il y a 2 ou 3 ans en arrière, on a acheté un serveur physique. Pour faire marcher l'IA, on a besoin de GPU, c'est impératif. Il ne faut pas essayer de faire tourner ça sur des machines uniquement équipées de CPU, sinon vous allez vraiment beaucoup souffrir. Vu qu'on a déménagé, on a mis en place une nouvelle infrastructure. à l'IPR qui est hébergé dans un data center et aujourd'hui chacune de nos stations SIG qui sont des stations virtuelles sont équipées de 4 gigas de GPU donc c'est de la GPU partagée et donc moi j'ai pu commencer à utiliser ces GPU et donc ça permet de construire des petits modèles d'intelligence artificielle. Alors c'est vraiment des petits modèles ça sert seulement à tester parce que 4 gigas de GPU c'est pas suffisant aujourd'hui pour... pour monter des gros modèles, mais pour faire du test, c'est parfait. Et donc aujourd'hui, avec ce serveur physique qu'on a au-dessus, on a la possibilité de produire des modèles d'IA de reconnaissance, et puis on est capable surtout de traiter une orthophoto à 15 cm sur toute la région. Alors pour entraîner un modèle d'IA, par exemple sur la base des parkings que je vous ai montré tout à l'heure, Sur ce modèle-là, on avait à peu près 1200 photos. Un entraînement, ça dure à peu près une heure et demie. Et lancer ça sur une photographie aérienne, sur toute la région Île-de-France, à une résolution de 15 cm, ça doit prendre à peu près 36 heures. Donc, ça va relativement vite. En 2025, cette année, avec notre déménagement, il s'est passé qu'on s'est payé... nouvelle infrastructure dans un data center, et mon collègue de bureau, qui est très sympa, il m'a proposé de recycler l'ancienne infra de l'IPR qui était hébergée à l'époque dans le 15ème. Et donc je me retrouve aujourd'hui avec une grosse machine, avec une... avec un gros GPU, alors que je n'ai pas encore eu l'occasion de trop tester, mais j'ai quand même pu récupérer une belle infra. Donc je recycle l'infrastructure de l'IVR. Donc cette infra, ce qu'on s'était dit, c'est que ce serait bien de proposer des services IA en interne, et puis poser quelques modèles dédiés au SIG et à l'intelligence artificielle. Et puis, je pense qu'en fin 2025, fin 2026, on va peut-être investir dans ce qu'on appelle un supercalculateur équipé de pas mal de GPU si possible, afin d'entraîner des modèles avec des plus gros volumes de données. Aujourd'hui, un serveur qui a 3-4 ans, on va l'entraîner sur, je ne sais pas, 1000-10 000 images, mais on ne peut pas aller au-delà. On va aussi utiliser ce serveur pour faire ce qu'on appelle des géotraitements lourds. Et puis, parce qu'en fait, on ne fait pas que de liens à l'Institut, on traite aussi de la donnée de manière classique dans le SIG. Et donc, vu les volumes de données qu'on traite aujourd'hui, on a vraiment besoin de machines qui soient capables de faire des calculs très rapidement. Et puis, la dernière chose qu'on avait prévue, c'était d'exploiter des LLM larges. Ce qu'on va montrer maintenant. Et donc les LLM c'est quoi ? C'est les Large Language Model. Donc vous en connaissez un certain nombre, il y a les LLM star comme ChatGPT, Copilot, Gemini, DeepSeek, MetaAI qui n'est pas encore disponible en France, et puis vous avez Mistral, le français. Donc ce sont des LLM qui sont accessibles en ligne, mais si on souhaite faire de l'automatisation de... De l'automatisation de tâches, j'ai mis un exemple de tarif que j'ai récupéré la semaine dernière, je crois. Quand vous utilisez un modèle GPT 4.5, c'est quand même 75 dollars le million de tokens en entrée. Un token, c'est trois quarts de mots français. Parce qu'en fait, les anglo-saxons ont des mots qui sont plus courts que les mots français. Et vous avez 150 dollars pour le million de tokens en sortie. Alors un million de tokens, ça fait quand même un million de mots. Ça peut paraître beaucoup, mais quand on fait quelque chose d'automatique, le million de mots, on y arrive très rapidement. Et sinon, vous avez aussi les petits modèles d'intelligence artificielle qui sont... Alors là, c'est le GPT-4O mini qui coûte un petit peu moins cher. qui est à 15 cents pour le million de tokens et 60 cents pour le million de tokens en sortie. En parallèle, ce qu'on a aujourd'hui, ce qui est super, ce sont les LLM libres. Donc tout à l'heure, il y avait une question là-dessus. Il est possible aujourd'hui d'aller télécharger des LLM, les installer sur votre machine, si vous avez une grosse machine, bien sûr, sinon ça ne sert à rien. Et puis on en a quelques-uns qui sont disponibles. Il y a le modèle libre de chez Facebook qui s'appelle Lama. Vous avez les modèles libres de la boîte française qui s'appelle Mistral AI, vous avez DeepSeek, vous avez GMA2 de Google, vous avez le modèle Phi4 de chez Microsoft, et puis vous avez tous les modèles qui sont disponibles sur la plateforme GingPace, ce qui est vraiment hyper intéressant. Ce qui est intéressant, en revenant sur les modèles libres, c'est que quand vous installez un modèle libre chez vous, et que vous intégrez de la donnée, vous ne risquez pas d'avoir de fuite de données, c'est hébergé chez vous, c'est gratuit. Qu'est-ce qu'on va faire avec CLLM ? C'est quelque chose qu'on a commencé à mettre en place. La première chose qu'on va faire, c'est qu'on va créer des... des intelligences artificielles qui sont capables d'interroger des bases de documents et produire des réponses formatées. C'est-à-dire qu'un utilisateur va pouvoir à l'avenir poser une question et plutôt que de demander à l'intelligence artificielle de répondre, l'intelligence artificielle va être capable d'aller récupérer un certain nombre de documents qui sont stockés chez nous et il va pouvoir répondre aux questions de l'utilisateur en s'appuyant sur ces documents. On a aussi un autre projet de veille web intelligente, donc c'est de l'IA au service de l'analyse de contenu. Là, cette fois, ce n'est pas un utilisateur qui pose des questions à une intelligence artificielle, c'est plutôt un certain nombre de questions qu'on se pose, qu'on va mettre dans un fichier texte par exemple. Et puis, c'est un programme qui va aller récupérer toutes ces questions, qui va aller les poser à l'IA, et l'IA va aller récupérer des informations sur Internet pour proposer des bases de données et des réponses formatées. Donc voilà, par exemple, comment ça fonctionne, comment on interroge les documents avec l'aide de l'IA. Donc vous avez ici votre base de données de documents. Donc généralement, ça peut être des fichiers PDF, des fichiers Word, ce que vous voulez. Vous allez ce qu'on appelle utiliser un... Je ne sais pas comment ça se dit en français, c'est un modèle embeddings, qui va chiffrer les données et qui va les intégrer en base de données vectorielle. Ça veut dire que tous vos textes vont être transformés en vecteurs. Donc les vecteurs, ce sont des chiffres. On va chiffrer vraiment les données. Ensuite, quand l'utilisateur va poser une question, sa question va être chiffrée, elle va être transmise à la base de données vectorielle, et via une requête de similarité, la base de données vectorielle va récupérer tous les documents, ou tous les paragraphes de documents, qui sont très similaires à la question posée par l'utilisateur. Toutes ces données vont être renvoyées au Large Language Model via une variable de contexte. Je vais l'expliquer juste après. En s'appuyant sur le contexte, l'intelligence artificielle va être capable de répondre à la question de l'utilisateur. C'est-à-dire que vous ne demandez pas à l'intelligence artificielle de faire appel à sa culture générale, mais plutôt de faire appel à vos stocks de données. Alors, est-ce que tout le monde est au point sur ce qu'on appelle le contexte en intelligence artificielle ? Je ne sais pas. De toute façon, j'ai préparé un slide, donc je vais le dire. Donc, c'est un prompt, en fait, le contexte, c'est les données que vous allez passer à l'intelligence artificielle. Mais en fait, aujourd'hui, un prompt, quand vous essayez de faire des choses automatiques, ça se présente en trois parties. La première chose, c'est ce qu'on appelle le contexte initial. En fait, l'idée, c'est de... Dire à l'intelligence artificielle à quoi elle sert. Tu es une intelligence artificielle qui produit des synthèses à partir de documents qu'on te propose. A quoi ça sert cette phase de contexte initial ? Elle sert à guider le LLM dans les réponses qu'elle va vous faire. Ça évite de produire des réponses erronées et des réponses incohérentes. Et surtout, ça va optimiser un petit peu votre système. Je veux dire au niveau ressources. Ensuite vous avez la question, peux-tu me synthétiser le texte suivant en structurant ta réponse en plusieurs parties ? Et ensuite ce qu'on a c'est le contexte spécifique. Ça c'est ce qui va remonter de la base de données. Une fois que ce contenu est remonté de la base de données, le LLM va prendre tout ça en compte, son contexte initial, la question et ce qu'on appelle le contexte spécifique, et puis il va vous produire une réponse formatée et structurée, comme ça a été défini dans le contexte initial. Donc un exemple concret, ce sont les notes rapides de l'Institut. Récemment, j'ai eu l'occasion de prendre pas mal de notes rapides, de les chiffrer, de les intégrer dans une base de données vectorielle, et puis je me suis posé la question, elle était un peu ciblée ma question quand même, c'était pas quelque chose qui avait rien à voir avec le contenu des notes rapides, mais je me suis posé la question, comment la logistique est-elle organisée en région Île-de-France ? Et donc, ça a été passé à l'intelligence artificielle, qui est partie faire une requête en bases de données vectorielles, et la base de données vectorielles m'a renvoyé la Notrapid 992, qui parle justement de la logistique en région Île-de-France. Et donc, ça m'a permis de créer une réponse formatée et synthétique, et surtout, ce qui est intéressant avec ces bases de données vectorielles, c'est que ça ne sort pas d'un chapeau. Vu qu'on requête un certain nombre de documents, on est capable de sourcer notre source d'informations. On sait d'où vient la réponse. La dernière partie, c'est la possibilité d'analyser des sites internet avec de l'IA. On a vu tout à l'heure qu'on pouvait interroger des bases de données sur un sujet spécifique, remonter les informations au LLM, qui lui va s'appuyer sur ces informations pour produire une réponse adaptée. Dans le cadre de l'analyse des sites internet, on va plutôt proposer un ensemble de questions. Ce qu'on va faire, c'est qu'on va utiliser un programme qui va questionner automatiquement l'intelligence artificielle à intervalles de temps réguliers, par exemple tous les soirs à minuit. Ce modèle d'intelligence artificielle va être capable d'exécuter un script, c'est-à-dire qu'on va associer une intelligence artificielle à un script qui lui va être capable d'analyser un certain nombre de sites web, que ce soit des API, que ce soit des documents, que ce soit des pages internet dédiées. Il va collecter toutes les informations sur ces sites internet, et il va remonter ça dans le script dans un premier temps, et ensuite le script va le remonter sous forme de contexte. à l'intelligence artificielle qui va être capable de s'appuyer sur ce contexte pour créer des réponses à chacune des questions qu'on s'est posées au départ. Et par exemple, on peut enquêter sur des sites de presse professionnels, on peut requêter des documents juridiques en ligne, on peut faire de la veille sur des sites institutionnels, des sites web autorisés. Aujourd'hui, la loi n'est pas très claire sur tout ce qui concerne le web scrapping sur internet, parce que ce qu'on est en train de faire ici, c'est du web scrapping. Donc aujourd'hui, ce n'est pas très clair. Donc l'idéal, c'est d'avant de mettre en place ce genre de procédure, il vaut mieux demander l'autorisation au site en question pour savoir si on a le droit de web scrapper quelques pages. Comme ça, au moins, on n'a pas de soucis avec le juge après. On a aussi des API en ligne pour récupérer de la donnée, pour collecter de la donnée, ou bien encore, il y a souvent des newsletters accessibles en ligne qu'on peut analyser via de l'intelligence artificielle et puis produire des données. Pour terminer, ce qu'on a vu, c'est qu'aujourd'hui à l'Institut, on peut faire de la reconnaissance d'images pour produire de la donnée. On est capable, assez simplement aujourd'hui, d'extraire de la donnée brute pour transformer ça en couche d'informations géographiques. Et puis, ce qui est intéressant, c'est qu'on a de plus en plus d'outils user-friendly pour faire ça. Parce qu'avant, il y a 3-4 ans en arrière, il fallait s'approcher pour faire un modèle d'intelligence artificielle capable de reconnaître des images. Mais aujourd'hui, c'est quand même beaucoup plus accessible. Et puis, on a aussi tous ces LLM qui sont vraiment super bien et qui permettent d'interroger de manière intelligente de vastes ensembles de données, de vastes ensembles de documents. Et puis, on a tous ces projets de veille automatique de sites Internet qui nous offrent aujourd'hui des nouvelles capacités à extraire de l'information et puis des données.