J’ai eu la chance de participer à l’OpenHack Machine Learning lors de l’événement Microsoft Expérience 2018 qui s’est déroulé début novembre au Palais des Congrès, à Paris. Cet évènement s’inscrit naturellement dans la stratégie de formation de professionnels de l’Intelligence Artificielle adoptée par Microsoft.

Pour découvrir le concept de l’OpenHack, vous pouvez regarder cette petite vidéo.

 

L’OpenHack, c’est quoi ?

L’OpenHack, c’est un mélange entre un hackathon et une formation sur un thème en particulier. Cette édition avait pour sujet le Machine Learning (ML) et plus particulièrement la computer vision (Deep Learning (DL)).

Le but de cet évènement est de former des professionnels aux bases du ML sur des technologies Microsoft mais pas uniquement : nous avons pu y manipuler les librairies : Keras et Scikit-learn ainsi que le service Custom Vision.

Au menu de l’OpenHack, une succession de challenges de difficulté croissante, ils sont au nombre de 6 en plus du challenge «0» :

0. Démarrage d’une machine virtuelle Azure ML et d’un JupyterHub afin de créer un environnement pour le travail de groupe

  1. Entraînement d’un modèle et appel de l’API Custom Vision de Microsoft pour un problème de classification à 12 classes.
  2. Traitement d’images avec la librairie python « Pillow » : padding, resize, stretching de la distribution des pixels.
  3. Test de différents algorithmes de classification sous Scikit : régression logistique, bayésien naïf, DecisionTreeClassifier, Random forest ou encore GradientBoostingTreeClassifier.
  4. Création et entrainement d’un modèle de Deep Learning avec Keras.
  5. Déploiement du modèle (Keras ou Scikit) en webservice sur Azure ML.
  6. Détection d’objets sur des images avec CNTK.

 

Le déroulé de l’OpenHack

L’OpenHack s’est déroulé sur trois jours (cf emploi du temps ci-dessous).

Emploi du temps opnhack 2018

 

Pendant ces trois jours, nous avons pu nous amuser avec plusieurs challenges de ML de difficulté croissante du simple appel de cognitive services à un modèle de détection d’objets en passant par du déploiement d’une solution de DL sur Azure ML sous forme de webservice.

Nous étions 80 participants en plus d’une vingtaine de coachs de Microsoft ayant pour mission de nous guider pendant les différents challenges. Nous avons formé des groupes de 6 personnes (coach inclus).

Notre équipe était composée de cinq français et d’un allemand. Tous avec des profils assez différents, plusieurs ne connaissant pas le python ni le ML. Il y avait une très bonne ambiance dans les différents groupes, l’entraide et le partage de connaissances étaient de mise.

Les coachs étaient chargés de guider leurs équipes et de fournir quelques explications concernant les algorithmes (logistic regression, decision tree, random forest, réseau de neurones et réseau de neurones convolutifs).

J’avais déjà eu plusieurs occasions d’utiliser Scikit-learn et Keras pendant ma formation à l’école IA de Microsoft. Je n’ai donc pas eu trop de mal avec les challenges axés sur le Machine Learning et le Deep Learning. Le déploiement sur Azure ML et la détection d’objets ont été pour moi les challenges les plus compliqués, et beaucoup d’équipes ne sont pas parvenues à terminer la dernière épreuve.

Ce qu’il faut en retenir

L’OpenHack c’est surtout l’occasion de mettre les mains dans le code et d’apprendre énormément en peu de temps. Très rapidement, vous apprendrez à utiliser les principales librairies de Machine Learning et Deep Learning en Python et à développer des modèles simples. En seulement trois jours beaucoup de notions sont abordées. De bonnes bases sont posées pour aller plus loin.

Très rapidement, nous avons appris à utiliser les principales librairies de ML et DL en Python et à développer des modèles simples.

Il y a bien sûr des notions très importantes qui ne sont pas abordées, comme le nettoyage de données ou encore le choix et l’optimisation des modèles de ML. Mais la courte durée de l’évènement obligeait Microsoft à faire des choix dans l’organisation des épreuves, et le nettoyage des données est certainement moins ludique que le Deep Learning.

Pour finir je dirais que cet OpenHack est une bonne occasion d’appréhender le Machine Learning. Il convient parfaitement au débutant en ML, rappelons quand même que les challenges nécessitent de bonnes compétences en développement. Outre l’intérêt technique de l’OpenHack, c’est aussi un bon moyen de rencontrer des professionnels du milieu, qu’ils soient de Microsoft ou d’entreprises partenaires. Il est d’ailleurs possible de solliciter l’aide ou l’avis des professionnels de Microsoft à propos d’un projet ou d’une idée en rapport avec le ML.

Bref, je recommande cet évènement, mais pour des devs avec un peu d’expérience et qui veulent démarrer le ML !