
A l’occasion de la conférence AWS Summit Paris du 2 avril, Virginie Mathivet Directrice R&D au sein de Teamwork, Mohamed Aït El Kamel Solution Architect chez Corexpert et Xavier Michallet Head of Data Department chez Soitec (spin-off du CEA) nous ont partagé un retour d’expérience sur le développement et le déploiement d’un modèle de Machine Learning sur AWS pour de la reconnaissance d’image.
À propos de SOITEC, il s’agit d’une entreprise industrielle internationale qui conçoit et produit des matériaux semi-conducteurs. Ces matériaux sont utilisés pour la fabrication des puces qui équipent les smartphones, les tablettes, les ordinateurs, les serveurs informatiques ou les data centers. A priori nous sommes tous confrontés dans notre quotidien à un appareil équipé de composants SOITEC.
L’enjeu du projet consistait à fournir une solution de détection de défauts sur les plaques de semi-conducteurs lors de leur production, grâce à des photos réalisées en fin de fabrication par des caméras infrarouges fixées nativement sur ces machines. L’objectif étant de détecter des défauts d’une taille très petite, quasiment invisible à l’œil nu, tout en limitant le nombre de faux positifs mais surtout en ne laissant passer aucun défaut. Cela implique donc une tolérance importante à ces faux-positifs dès lors qu’on ne laisse pas passer un seul défaut, ce qui pourrait être dramatique suivant l’utilisation qui est faite derrière des semi-conducteurs.
Une métrique intéressante relevée est que 70% du temps du projet a été utilisée pour préparer les données avec un bénéfice accélérateur lié au fait que le dataset constitué était déjà labellisé par SOITEC, avec des photos contenant des défauts déjà identifiés et avérés. Un des problèmes rencontrés concernait le fait que les techniques traditionnelles de reconnaissance et d’analyse d’images ne pouvaient pas s’appliquer. En effet, les défauts étant trop petits, d’autres approches ont dû être utilisées pour développer le modèle.
En termes d’approche, AWS SageMaker a été utilisé pour développer les notebook Jupyter qui permettent le développement, les tests, le partage et la publication de résultat d’analyses Machine Learning et de visualisation de données. L’entraînement quant à lui s’est fait sur des instances Amazon EC2 P3, ce sont des machines très puissantes qui offrent des calculs hautes performances dans le cloud avec jusqu’à 8 GPU NVIDIA® Tensor Core V100 et un débit réseau allant jusqu’à 100 Gb/s pour les applications HPC et de Machine Learning.
Le résultat avec les travaux réalisés est assez impressionnant puisque le modèle développé permet une performance de 98% de reconnaissance des images avec défauts tout en limitant au maximum le nombre de faux positifs notamment sur les photos sans défaut grâce à des matrices de confusion.
Afin de passer en production, un développement a été réalisé pour le modèle cible de production car le modèle entraîné dans le cadre d’un environnement de test n’est jamais celui qui sera retenu pour la production, il doit être adapté voire même transformé, le tout s’est fait avec du DevOps tout au long du delivery. Concernant l’architecture : Infra as code avec gitlab / SAM pour le déploiement de l’infra sur AWS / Ansible pour la partie on-premise.
Quel écosystème serverless en 2019 ?
Lors de cette session Rémi Retureau, Partner Solutions chez AWS, nous a présenté un vaste éventail des fonctionnalités disponibles sur AWS pour permettre aux entreprises de développer des applications serverless et de bénéficier pleinement des capacités de la plateforme, et en particulier de réaliser des économies importantes liées à une utilisation de l’infrastructure élastique 100% à la demande.
Une application server less permet de s’exécuter sans serveur, l’utilisateur paye uniquement en fonction de la valeur que cela apporte. Grâce à ce modèle on dispose d’une infrastructure haute disponibilité intégrée et native qui permet, de fait, de se concentrer sur le métier sans compromis sur la sécurité et la performance.
Le framework AWS Well Architected a également été présenté lors de cette session. Celui-ci permet aux entreprises qui se sont engagées sur la voie du serverless de pouvoir challenger les choix réalisés dans les implémentations des services au travers d’un assessment sur 5 piliers différents :
- L’excellence opérationnelle
- La Sécurité
- La fiabilité
- L’efficacité des performances
- L’optimisation des coûts
Cet assessment est réalisé gratuitement par les partenaires de AWS qui sont habilités et formés à ce framework, il est par ailleurs possible en tant que client de réaliser soi-même cet assessment au travers de la console AWS.
Les cas d’usage serverless sont pléthoriques et permettent d’imaginer de nouvelles approches de conception des applications et d’optimisation des coûts de run tout en disposant d’un environnement performant et sécurisé, les use cases présentés sont par exemple :
- Les applications web (sites web statiques, web app complexes, packages pour flask et express)
- Les backends (apps et services, mobile, IOT)
- Le traitement de données (temps réel, MapReduce, batch)
- Les chatbots (alimenter la logique de chatbot)
- Amazon Alexa (alimenter les apps vocales, Alexa skills kit)
- L’automatisation de l’IT (policy engines, étendre les services d’AWS, gestion d’infrastructure)
L’écosystème disponible est dense, l’enjeu maintenant est de concevoir des applications serverless et cloud ready pour pouvoir bénéficier à plein de l’ensemble de ces fonctionnalités.