SNCF Réseau entraîne des algorithmes de reconnaissance d'image dans le cloud

Dans l'objectif de faire de la maintenance prédictive, SNCF Réseau a développé un outil de vision assistée par ordinateur qui analyse des images capturées par les trains. Avec son partenaire Olexya, le gestionnaire du réseau ferroviaire français a porté celui-ci sur le service Amazon SageMaker, afin de profiter du cloud AWS pour entraîner plus efficacement l'algorithme.
PublicitéSociété du groupe SNCF, la SNCF Réseau assure la gestion et le développement de l'infrastructure ferroviaire française, travaillant avec l'État, les régions et l'Europe afin de permettre la circulation des trains de marchandise et de voyageurs. SNCF Réseau dispose d'un important patrimoine de données, avec plus d'une dizaine de filières de données dans l'entreprise. Ces données sont très variées, allant de la description des infrastructures à des données d'usage, en passant par des informations sur l'état ou l'économie du réseau.
La DSI de l'entreprise a mis en place une entité spécifiquement chargée de valoriser ces données, à l'aide de tous les leviers possibles : open data, intelligence artificielle, data sciences... Ce service, qui représente entre 150 et 160 équivalents temps plein, fait appel à de nombreuses compétences externes afin d'aller plus vite sur les nouvelles technologies, comme le cloud. « Notre matière première est la donnée de l'entreprise, même si nous avons également quelques données externes », indique Samuel Descroix - responsable Data Géographique Analytique à la SNCF Réseau. « Notre entité est transverse : notre but est de valoriser au mieux les données, indépendamment de leur usage initial, en fournissant des systèmes de pilotage et d'aide à la décision... »
Basculement massif vers le cloud
Pour adresser cet enjeu, la DSI a souhaité s'orienter vers le cloud, afin de gagner en souplesse au niveau des livraisons et passages en production. « Quand nous avons de nouveaux algorithmes, le passage en production doit être facilité. Nous ne voulons plus nous dire que nous avons créé quelque chose de très bien, mais hors sol, ce n'est plus envisageable. Le défi, une fois qu'un algorithme est conçu, robuste et sécurisé, c'est de le rendre utilisable par toutes les applications de l'entreprise », souligne Samuel Descroix. Mi-2019 a ainsi débuté le transfert du datacenter historique vers AWS, avec l'appui d'Olexya comme partenaire technologique. Au total, pas moins de 85 services décisionnels et 150 plateformes ont été déplacés sur AWS ou sont en cours de migration. En parallèle, SNCF Réseau a profité de cette transition pour repenser et refondre les services de machine learning et d'analytique.
C'est dans ce contexte qu'un projet de vision assistée par ordinateur, entrepris il y a quelques années de cela, a été revisité. L'idée était d'analyser des images capturées par des caméras embarquées sur les trains, afin de détecter d'éventuelles anomalies sur l'infrastructure, dans l'objectif de faire de la maintenance prédictive. « Vers 2017, SNCF Réseau a sollicité des chercheurs pour travailler sur le sujet de l'analyse d'image. Ceux-ci ont commencé à développer des algorithmes en Python 2.7, avec le framework de deep learning Caffe2. Il a fallu beaucoup de temps pour le développement et le déploiement », explique Emeric Chaize, président et co-fondateur d'Olexya. À l'époque, des limites liées à l'infrastructure IT ont conduit à mettre ce code de côté, sans pouvoir l'exploiter en production.
PublicitéUn code exécuté sur des GPU
Lors du passage sur AWS, un travail de refonte et d'industrialisation de ce code a été lancé, avec le passage à Python 3.x et au framework PyTorch. Les experts d'Olexya ont été sollicités pour reprendre le projet. « Quand nous avons récupéré le code, nous avons essayé de regarder ce que nous pouvions faire avec Amazon SageMaker, un service d'AWS pour faciliter la création, l'entraînement le déploiement de modèles de machine learning », raconte Pierre-Yves Bonnefoy, CEO et co-fondateur d'Olexya. « SageMaker offre deux possibilités : quand le code est compatible, il est possible d'utiliser les API fournies par le service. Sinon, la solution permet d'utiliser des images Docker préfabriquées qu'il faut reparamétrer. » Après des échanges réguliers avec Olivier Cruchant, architecte machine learning chez AWS, l'équipe a opté pour la deuxième option. « Le code comportait des éléments obsolètes, avec des librairies qui n'étaient plus compatibles. Il a donc fallu l'adapter pour l'environnement AWS », précise Pierre-Yves Bonnefoy.
Durant l'apprentissage, l'algorithme est alimenté par les images collectées depuis les trains, enrichies par les annotations d'experts humains. Celles-ci indiquent notamment si une anomalie figure ou non sur l'image. À partir de ces images et des informations associées, l'algorithme apprend à reconnaître les anomalies, élaborant un modèle de vision par ordinateur capable d'établir des inférences. Une fois suffisamment entraîné, le code peut ensuite classer les images de façon autonome. « Un entraînement représente environ 200 000 itérations », précise Pierre-Yves Bonnefoy. Grâce à SageMaker, le code est exécuté sur des serveurs dotés de GPU. S'agissant d'analyse d'image, les processeurs graphiques offrent en effet de meilleures performances. Autre avantage de la solution, les librairies CUDA de Nvidia sont déjà préinstallées dans l'environnement. L'équipe a également proposé aux data scientists des notebooks Jupyter préinstallés. Depuis ces environnements de travail adaptés à l'exploration de données, ces derniers peuvent directement mettre leurs images dans un bucket S3. « Ils bénéficient ainsi d'un environnement de développement peu coûteux », souligne Pierre-Yves Bonnefoy. « Quand il faut passer à la phase d'exécution des entraînements, nous sollicitons des machines beaucoup plus puissantes, équipées de processeurs graphiques Nvidia V100. »
De trois jours à 10 heures pour un entraînement
Le travail d'adaptation s'est étalé sur une dizaine de jours, à l'issue desquels l'équipe a pu lancer le premier entraînement. « Pour un entraînement qui prenait auparavant trois jours sur huit machines en parallèle, nous sommes passés à 10 heures », témoigne Pierre-Yves Bonnefoy. Afin d'optimiser les coûts, SCNF Réseau utilise le service Spot d'AWS, un parc de machines partagées. « Concrètement, cela revient à accepter que ces ressources soient par moment allouées à d'autres utilisateurs, nos tâches étant mises en pause. Dans les faits, les pauses sont très brèves, une minute sur un entraînement de 10 heures, c'est négligeable », pointe Pierre-Yves Bonnefoy. Cela permet de faire plus de 70% d'économies par rapport au tarif normal des machines. « Un entraînement de 10h revient ainsi à 40$, avec des machines AWS hébergées en Irlande ».
Grâce à ces gains de performance, liés à la fois au passage au cloud et à l'utilisation de GPU, les data scientists ont pu réaliser l'ensemble des entraînements prévus, sachant qu'il faut un nouvel apprentissage chaque fois que le modèle de locomotive change, en raison des variations sur les images capturées. Afin de tester les modèles, l'équipe a créé une autre image Docker pour effectuer des inférences. Les résultats se sont révélés très concluants, même si les véritables tests interviendront lors du déploiement dans les locomotives. Une réflexion est en cours pour le choix des serveurs destinés à être embarqués dans les trains, dans une architecture de type edge computing. « Nous étudions également la possibilité de paralléliser les traitements, afin de pouvoir aller vers de l'analyse temps réel. Cela nécessite une modification de l'algorithme, dans PyTorch, il y a un paramétrage à faire pour permettre la parallélisation », précise Emeric Chaize.
Le rôle clef de la gouvernance des données
Au sein de SNCF Réseau, le passage au cloud a permis de lever un grand nombre de freins. « Nous pouvons aujourd'hui dire aux métiers que les enjeux d'architecture technique qui existaient on-premise ne sont plus un sujet, avec la quasi-certitude de pouvoir répondre à leurs besoins » apprécie Samuel Descroix. « La frontière entre la zone d'innovation et la production n'existe plus. L'environnement de data science mis en oeuvre sur AWS est le même que l'environnement de production analytique de SNCF Réseau. »
Samuel Descroix pointe également un autre facteur essentiel pour la réussite de ce type d'initiative, la gouvernance des données. Depuis quelques années, SNCF Réseau mène en effet une démarche de data gouvernance poussée : toutes les données ont des responsables, elles font partie de filières, avec des objets bien définis. Il existe une description précise du fonctionnement de l'entreprise, avec un langage commun, dénommé Ariane, qui définit ce qu'est la circulation, la maintenance, le réseau... « Il s'agit d'un modèle global, à l'échelle de l'entreprise. Ainsi, des métiers qui autrement auraient du mal à se parler voient leurs données se croiser, comme les données de circulation avec des données financières », illustre Emeric Chaize. « C'est un travail gigantesque, qui s'est fait sur plusieurs années », souligne Samuel Descroix. « Le sujet est porté au plus haut niveau de l'entreprise, avec une charte data qui a été signée par le Comex. Grâce à cela, nous sommes maintenant capables de faire de la data science et de l'IA. Le socle est là, les données sont accessibles, même s'il reste toujours du travail », ajoute-t-il. Les data scientists de SNCF Réseau ont directement accès aux glossaires de l'entreprise et à la connaissance du métier, ce qui leur évite un travail très chronophage pour comprendre quelles sont les informations qu'ils manipulent. « Ils n'ont pas besoin de passer par la phase d'appropriation et de compréhension des données, à laquelle beaucoup de data scientists sont encore confrontés », conclut Samuel Descroix.
Pour en savoir plus :
How SNCF Réseau and Olexya migrated a Caffe2 vision pipeline to Managed Spot Training in Amazon SageMaker (Blog AWS).
Article rédigé par

Aurélie Chandeze, Rédactrice en chef adjointe de CIO
Suivez l'auteur sur Linked In,
Commentaire
INFORMATION
Vous devez être connecté à votre compte CIO pour poster un commentaire.
Cliquez ici pour vous connecter
Pas encore inscrit ? s'inscrire