L'importance de son infrastructure Cloud : traiter un milliard de lignes par jour
3
 min
Communauté
 Publié le 
3/11/2020

L'importance de son infrastructure Cloud : traiter un milliard de lignes par jour

Retrouvez ici l'interview de Benoît, Data Scientist & Machine Learning Freelance ! France TV, Crédit Agricole, Allianz, TF1, tout autant d'entreprises & de missions variées dont ils vous racontent les derrières.

Hello Benoît, quel est ton parcours ?

J’ai débuté dans le développement en 99, puis j’ai évolué sur de la gestion de projet & software engineering chez TF1 , EDF, Allianz. Chez Fnac Spectacle, en 2010, j’ai participé à la mise en place des pratiques Agiles en tant que Product Owner puis Scrum Master. J’ai ensuite fondé une Start up dans le domaine du drone civil. J’ai créé un système de pilotage de drone permettant de voler automatiquement à 2 mètres de bâtiments afin d’en détecter les fissures grâce au Deep Learning. C’est comme ça que je suis venu dans le monde de l’IA.

Tu as ensuite rejoint le monde des freelances !

Oui, malheureusement le succès commercial c’est fait attendre. C’est donc après la fermeture de cette entreprise que je me suis lancé dans le monde des freelances, sur des missions en Data / IA. J’ai alors rejoint France TV, où j’ai travaillé pour le pôle Data Marketing. C’était une mission longue très variée, j’ai participé à mettre en place : un moteur de recommandation, un moteur de recherche, l’application Google Home, le ciblage de mail, l’insertion dynamique de publicités, le cloud avec Google Cloud Platform (GCP) . 

La puissance du cloud nous a permis de mettre en place un projet d’analyse des traces de serveurs vidéos qui représentaient près d’1 milliard de lignes par jour. 

Cela servait à de l’analyse technique, pour faire des statistiques, et comprendre le débit de vidéos visionnées par les personnes, la qualité et le type d’encodage, bref des éléments que l’on n'a pas forcément dans les analyses web classiques. C’est un usage du Big Data intéressant : On pouvait analyser la session vidéo d’une personne en particulier, et avoir des statistiques au niveau global.


Comment s’est passée l’intégration avec Google Home ?

Pour simplifier, on échangeait avec Google pour savoir ce que l’on devait alimenter dans leur base de données pour que la Google Home puisse savoir quoi répondre ou afficher à la télévision. Dans ces cas, Google s’occupe de la partie reconnaissance vocale bien entendu, mais aussi de la partie lecture du média. 

Nous leur envoyions régulièrement le catalogue de vidéos par une API dans le format attendu, ainsi qu’une application Google Chromecast pour l’affichage sur la télé.


Quelles ont été tes expériences suivantes ?

Je suis ensuite parti travailler au Crédit Agricole avec des Data Scientists sur des missions Natural Language Processing (Analyse de textes). C’était très intéressant car j’ai pu collaborer autant avec des Data Scientists ayant un PhD que de profils plus ingénieurs spécialisés en Data Science, et comprendre leurs différentes façon d’aborder les problématiques. Les profils PhD vont pouvoir aller très loin dans la conception des modèles mais devront être accompagnés par des Data Engineers pour tout ce qui est autour. Alors que les profils ingénieurs Data Science n’iront pas autant dans la théorie, mais sont plus autonomes en assumant la partie Data Engineering. C’est donc un choix qui dépend de la difficulté de la tâche à réaliser.

Dans le plus gros projet d’analyse de texte dans des PDF, nous avons commencé par un POC pour valider la faisabilité technique, avant de l’améliorer. 

Tous les projets que j’ai fait ont été mis en production, avec plus ou moins de lenteur.

J’ai toujours voulu travailler dans ce genre d’environnement, proches de la production après avoir des POC pour évaluer la faisabilité ET la mise en production. 

Que penses-tu des projets qui ne sont pas mis en production ?

De mon point de vue, dans un projet, ne pas mettre en production un modèle peut quelque part être pris comme un échec. Si l’analyse faite a un intérêt à un instant T, il n’est pas la peine de mettre en production. 

Mais en général, pour qu’une analyse soit utile, il faut qu’elle soit faite au quotidien, avec des dashboards qui se rafraichissent automatiquement. C’est finalement le but de toute tech, qu’elles agissent sur le long terme auprès de ses utilisateurs. 

C’est aussi une question de retour sur investissement. Par exemple, dans une de mes missions, un département voulait bien sponsoriser le “build” du projet pour montrer les plus values du Cloud, mais il fallait que le département utilisateur ait également du budget pour subventionner l’exécution (le “run”). 

Gérer les coûts de cette infrastructure peut être un métier à part entière, dans mon expérience c’était le Data Architecte qui s’occupait de calculer les coûts de son architecture: Netflix dépense près de 10 millions de dollars par mois pour son cloud. 

C’est tout une autre manière de concevoir les applications pour optimiser ces coûts. D’où le métier de FinOPS, qui doit maîtriser les subtilités techniques qui permettent de réduire les coûts. Comme par exemple remplir au maximum les messages AWS Kynesis.

 Le nerf de la guerre : gérer ces problématiques entre le développement, et l’exécution. Ce sont des problématiques DevOps !

Vous souhaitez acquérir de solides compétences en DevOps ? Rejoignez le programme Lead.

Est-ce que les entreprises pour lesquelles tu travailles n’appréhendaient pas les implémentations techniques ?

Etant donné que j’étais en Freelance, les entreprise venaient vers moi pour me présenter leurs projets, donc non ! 

Mais le côté pédagogue est très important, surtout auprès des départements qui sont les utilisateurs finaux de la solution. 

Certains pensaient que le modèle apprenait comme un débutant : il suffit de lui montrer 2/3 fois les erreurs pour qu’il apprenne par lui même, alors que ce n’est pas du tout le cas ! D’autres ont encore beaucoup l’image de boîte noire en tête, et démystifier cela est primordial.  Il faut bien expliquer quelles sont les données d’entrées, qu’elles doivent être représentatives et brutes.

 Le très bon exemple est la reconnaissance vocale : On pense que l’on peut donner la voix et la retranscription en texte de l’autre côté, comme les sous-titres de film. Alors qu’en fait, il faut que ce soit exactement les paroles prononcées qui doivent être annotées. Si la personnes hésite, si elle prend son temps pour parler,  il faut que ce soit millimétré.

Ce temps d’annotation est aussi très long et coûteux. Cela peut même être parfois le partie la plus coûteuse d’un projet d’IA. Dans la reconnaissance d’images, des algorithmes peuvent très bien marcher, mais si la donnée n’est pas bien été annotée, cela peut rapidement être foutu. L’économie d’échelle n’est pas forcément au rendez-vous car un même projet peut coûter le même prix pour une petite entreprise que pour une grosse structure. Paradoxalement une grosse entreprise à moins besoin d’investir qu’une petite : Amazon peut se satisfaire d’un projet qui va améliorer le taux de conversion de 1% alors qu’une grosse PME devra viser au moins dix fois plus pour rentabiliser un projet.

Comment t’es venue l’envie d’enseigner ?

J’ai l’habitude d’écrire des articles, intervenir à des meetups. Pour le programme Lead, la formation est très dense : 22 technologiques différentes sont enseignées, et nous avons pu tout mettre en oeuvre en live en cours. Il était très intéressant de voir de vraies conceptions d’architectures différentes dans les projets finaux. Chacun a mis place des parties différentes de ce que l’on avait vu. Expliquer le pourquoi du comment de ces outils est très important car les technologies en Data Engineering sont encore peu démocratisées aujourd’hui. 

Je prenais l’exemple mes expériences passées. Par exemple chez Fnac Spectacle  pour arriver à remplir le stade de France en 15 minutes il fallait de très grosses machines pour absorber ces pics. Avec ce qu’on a vu en formation on peut créer une architecture qui va dynamiquement s’adapter à la demande.

Le but est vraiment d’apprendre le pourquoi des technos, en quoi elles sont utiles en entreprise et pas simplement apprendre les technos pour rajouter des lignes au CV. 


Comment est-ce que tu réalises ta veille technologique ?

Je suis une newsletter en Deep Learning, celle de Jack Clark de Open AI, également le profil de Jérémy Howard de Fast AI sur Twitter. Pour tout ce qui relève du Data Engineering, les vidéos et interview de professionnels d’AWS ou Google sont très bien faites ! Je suis également beaucoup les blogs de Uber & Netflix par exemple, qui ne publient pas seulement sur leurs contenus, mais aussi sur leur infrastructure, la manière dont elle est faite.

Et pour des informations moins orienté cloud il y a PyData.


Data Engineer vs Data Scientist ?

On recrute de plus en plus de Data Engineers ! Je discutais plus tôt avec un recruteur qui me disait qu’il avait 4 fois plus de travail en Data Engineering qu’en Data Science. Certains parlent même de 5% de data science dans un projet IA.


Un Data Scientist qui a de très bonnes bases en Data Engineering est d’autant plus valorisé, puisqu’il est capable de gérer toute la chaîne de traitement. 

C’est une tendance de fond de plus en plus reconnue par les entreprises étant donné que les problématiques de volumétrie, de mise en production, de déploiement sont d’autant plus d’actualité.

Pourquoi n’avoir embauché pendant un moment que des Data Scientists ?

Il faut bien commencer quelque part ! S’il n’y a rien mettre en production, rien ne sert d’avoir des Data Engineers :) Tous les métiers se mélangent, certaines entreprises sont très bien structurées dans leur département Data, d’autres moins. Ces métiers sont encore amenés à se structurer car ils restent relativement jeunes. Ils doivent encore trouver leur place. On parle même des MLOps en parallèle des Machine Learning Engineer, permettant de suivre un modèle en production. Ou encore des FinOPS pour réduire les coûts du cloud.

Enfin, question carrière : comment se lancer en freelance ?

Lorsque l’on n’a pas beaucoup d’expérience : le réseaux (en assistant à des meet-ups par exemple) et les projets ! Que ce soit les kaggle, les projets Jedha, les projets Data for Good, ce sont un excellent moyen de monter en compétences et de se construire un réseau. Ce dernier est très important et est à l’origine d’une très grande partie des missions que j’ai réalisées. 

Autre chose : développer son Github, y uploader ses projets, ses notes, son code. Avoir un Linkedin peaufiné est aussi apprécié des chasseurs de têtes.

Rejoignez la communauté sur JULIE !

Python, SQL, gestion de projet Data, toutes les compétences à acquérir pour monter en compétences

Myriam Emilion
Écrit par
Myriam Emilion
 - 
Directrice Marketing @
Jedha Bootcamp

Python : le language de programmation le plus
populaire parmi les professionnels de la Data !

Obtenez notre livre d'Introduction Pratique à Python !

Programmes, thématiques Data, admissions,
vous avez une question ?

Prenez rendez-vous avec nos équipes