Machine Learning

Machine Learning

Kubeflow: le ML industrialisé et à l’échelle dans Kubernetes

Pour les entreprises exploitant l’Intelligence Artificielle, bien maîtriser son intégration dans les écosystèmes de données reste un enjeu majeur. Parmi les défis à relever pour mettre en place l’IA de manière pérenne, l’industrialisation a su tirer son épingle du jeu pour devenir un élément indispensable d’une bonne intégration de l’IA en production. Dans cet article, nous vous proposons de vous tourner vers l’après industrialisation : le passage à l’échelle ! Cet article fait suite à plusieurs mois d’expérimentation de la solution Kubeflow permettant de déployer…

Lire la suite
Machine Learning

You Only Look Once – un réseau de neurones pour la détection d’objets

Nous, les humains, avons un système visuel rapide et précis, ce qui nous permet d'effectuer des tâches complexes comme la conduite avec peu de réflexion consciente. En effet, nous savons inconsciemment quels sont les objets que nous voyons, où ils se trouvent et comment ils interagissent. Au cours des dernières années, des algorithmes rapides et précis se sont mis en place pour la reconnaissance d'objets dans une image. Plus de détails sur ces différents algorithmes dans la page wikipédia : https://fr.wikipedia.org/wiki/Reconnaissance_de_formes. La reconnaissance d'objets est…

Lire la suite
Machine Learning

Pourquoi et quand découpler ses architectures de projets de Machine Learning pour en accélérer le delivery

Couverture livre accelerate

Cet article fait partie de la série “Accélérer le Delivery de projets de Machine Learning”, traitant de l’application d’Accelerate [1] dans un contexte incluant du Machine Learning. Si vous n’êtes pas familier avec Accelerate, ou si vous souhaitez avoir plus de détails sur le contexte de cet article, nous vous invitons à commencer par lire l’article introduisant cette série. Vous y trouverez également le lien vers le reste des articles pour aller plus loin. Accelerate présente la capability "Loosely Coupled Architecture" comme un mode d'organisation…

Lire la suite
Machine Learning

Algorithmes Évolutionnistes : Applications à des problèmes de données – 3

Le premier article était consacré à la structure et au fonctionnement des algorithmes évolutionnistes et le second portait sur leur performance. Nous allons ici nous intéresser à un cas d'application concret d'algorithmes évolutionnistes sur un problème de données complexes. Le cas d'application présenté est l'utilisation d'un algorithme évolutionniste comme une alternative à de l'apprentissage par renforcement pour entraîner un véhicule à se déplacer dans un environnement simulant un circuit. Le problème s'apparente ici à celui de la conduite autonome. Un peu de contexte sur l'apprentissage…

Lire la suite
Machine Learning

Comment travailler efficacement par petits incréments dans un delivery de Machine Learning ?

Cet article fait partie de la série Accélérer le Delivery de projets de Machine Learning, traitant de l’application d’Accelerate dans un contexte incluant du Machine Learning. Si vous n’êtes pas familier avec Accelerate, ou si vous souhaitez avoir plus de détails sur le contexte de cet article, nous vous invitons à commencer par lire l’article introduisant cette série. Vous y trouverez également le lien vers le reste des articles pour aller plus loin.  Certains termes techniques sont numérotés. Vous trouverez leur définition à la fin…

Lire la suite
Machine Learning

Apprentissage par renforcement appliqué à la conduite autonome dans un simulateur 2/2

Dans un article précédent, nous avons expliqué notre approche pour appliquer l’apprentissage par renforcement (RL - Reinforcement Learning) à la conduite autonome dans un simulateur. Nous avons explicité les concepts du RL dans ce cas d’usage et décrit l’algorithme de DDQN (Double Deep-Q Learning) que nous avons choisi pour ce problème. Si vous n’avez pas lu l’article précédent, retenez simplement que : On entraîne un agent dans un simulateur de conduite (ou environnement). Cet agent évolue dans la simulation et y entreprend des actions :…

Lire la suite
Machine Learning

La gestion de versions en Delivery de Machine Learning

Cet article fait partie de la suite “Accélérer le Delivery de projets de Machine Learning” traitant de l’application du framework Accelerate dans un contexte incluant du Machine Learning. Lorsque l’on a des problèmes en production, sans machine à remonter dans le temps, notre seul espoir est d’avoir d’anciennes versions Introduction L’une des quatre métriques de performance que propose Accelerate est le temps moyen de correction d’un incident en production (Mean Time to Repair), il s’agit d’une métrique dont le suivi permet d’avoir une idée sur…

Lire la suite
Machine Learning

Les tests automatisés en Delivery de Machine Learning

Cet article fait partie de la série “Accélérer le Delivery de projets de Machine Learning” traitant de l’application du framework Accelerate dans un contexte incluant du Machine Learning. Un Data Scientist heureux d’avoir des tests automatisés qui ont détecté un problème avant qu’il ne devienne critique Introduction Parmi les leviers garantissant la qualité d’un produit logiciel, on trouve les tests automatisés. Ces tests, lorsqu’ils sont rédigés de manière effective, doivent permettre de détecter des problèmes dans la base de code et empêcher le déploiement d’un…

Lire la suite
Machine Learning

Amener son projet de machine learning jusqu’en production avec Wheel et Docker

Cet article propose d'explorer setuptools, Wheel et Docker afin de packager une application de Machine Learning pour détecter des muffins 🍪 ou des chihuhuas 🐶 dans une image, avec code a l'appui. Si packager du code de Machine Learning en Python est pour vous synonyme de demander à vos utilisateurs de cloner votre repository git sur leur machine, cet article devrait vous intéresser.

Lire la suite
Machine Learning

Plongez dans le grand jeu de données (ou comment constituer et gérer son dataset)

Un premier briefing Avant de commencer le grand plongeon, des définitions s’imposent : Jeu de données (ou dataset) : collection de données de même type, de préférence de même format et souvent accompagnées d'annotation Annotation : description du contenu de chacune des données d’un dataset. L’annotation des données est le processus d’étiquetage du contenu reconnaissable par un ordinateur. En fonction de la nature du problème, on indiquera le type de l’objet dans l’image, on peut également indiquer ses coordonnées ou d’autres attributs. Modèle de Machine…

Lire la suite