Machine learning en pratique : Quelles compétences, quelles ressources ?

Spread the love
Machine learning en pratique : Quelles compétences, quelles ressources ?

L’apprentissage machine le plus accessible à comprendre est sans doute la reconnaissance d’images. On soumet à un logiciel un ensemble suffisant de clichés ou dessins qu’il est capable d’analyser en identifiant des formes ou objets reconnus comme étant proches d’un modèle, du fait qu’ils remplissent des critères de similitude dans une catégorie donnée, comparativement à ceux en mémoire.

C’est un algorithme qui fait le travail de façon automatique, répétitive et en tendant vers le “zéro faute”.

Outre la reconnaissance d’images (vidéosurveillance, identité biométrique, imagerie médicale, jeux de société, véhicules autonomes, etc.), il peut s’agir de combinaisons de données complexes ou non (tables, histogrammes), d’incidents ou comportements, de situations empiriques – en lien avec des bases de données ou d’informations sur le web, dont les réseaux sociaux. Des données qui intéressent le métier, le marketing, le commercial ou la direction générale. Il peut également s’agir de mots, de phonèmes (traduction écrite ou vocale), de notes de musiques, de composants organiques, matériaux, gaz ou liquides, spécifiés par toutes sortes de capteurs.

publicité

Générer des décisions ou des actions

Les résultats de l’analyse peuvent générer des décisions, prédictions, alarmes, détection de fraudes, etc. – voire lancer des actions de façon automatique ou semi-automatique (une validation humaine ou levée de doute peut s’avérer nécessaire, pratiquement ou juridiquement). C’est dire que tous les métiers peuvent y trouver leur compte.

Côté méthodologie, il faut considérer deux phases, qui peuvent être en boucle vertueuse : l’apprentissage, ou “entraînement”, du modèle à partir des observations ou données recueillies ; et la phase de mise en production avec génération de résultats valides, non biaisés.

Le plus souvent, on fait en sorte que la phase d’apprentissage soit “supervisée” : les données sont étiquetées, pré-classifiées afin d’orienter la machine vers tel ou tel “pattern” (modèle) recherché. Sinon, si l’on veut éviter tout biais, il faudra que la machine ingère, préalablement, d’énormes volumes de données (cf. les “insights” du Big Data).

 

Il existe également l’option de l’apprentissage “par renforcement” : l’algorithme apprend par ses erreurs (récompensé ou pénalisé) – option typiquement applicable aux jeux. Il est toujours préférable que les données, une fois recueillies, soient organisées, nettoyées pour éviter une modélisation biaisée. Puis, on sélectionne l’algorithme (arbre de décision, régression linéaire, clustering, “k” plus proches voisins, réseaux de neurones, etc.) et on procède à son entraînement par itération.

Evolution de l’erreur en fonction du taux d’apprentissage. Source : Synapse Développement.

Ensuite, on exécute de nouveau les variables jusqu’à ce que l’algorithme produise un résultat correct. Alors, on peut lui soumettre un nouveau jeu de données afin d’améliorer encore le modèle et éviter son “sur-apprentissage”.

Quelles compétences ?

L’utilisateur métier ou dirigeant désireux d’utiliser une application de “machine learning” déjà paramétrée et “entraînée” n’a pas besoin de compétences particulières autres, précisément, que celles de son expertise métier qui permettra de valider la modélisation et la pertinence des résultats. L’utilisateur interagit avec le système sans avoir besoin de connaître le codage ni les détails techniques du modèle utilisé.

Exemple d’acquisition d’annotation métiers en “machine learning”. Source : Synapse Développement.

En revanche, pour les concepteurs développeurs de modèles et d’applications “métiers”, il faut une certaine maîtrise de langages de programmation, tels que Python, “R” ou JavaScript. De même, de bonnes notions en statistiques ou en maths seront utiles et nécessaires. Il existe quantité de tutoriels mais aussi des formations spécifiques certifiantes (de 3 à 5 k€). On peut commencer par s’exercer sur un notebook Colab (Google, TensorFlow) ou sur Amazon AWS ou Microsoft Azure (ML Free puis ML Studio), ou consulter le R Consortium (Microsoft, Dell, Oracle, etc.) pour les diverses distributions du marché.

<

p align=”center”>

Exemple de modélisation avec l’API Keras (Python) pour la reconnaissance d’entités nommées. Source : Synapse Développement.

Quelles ressources : sur le cloud ou non ?

Jusqu’à récemment, le “machine learning” était cantonné à des supercalculateurs ou HPC, dans des centres de recherche ou universités. Mais le marché s’ouvre. A titre indicatif, Dell propose, par exemple, une configuration “formule 1” pour application IA/machine learning à partir de 75 k€ (réf. PowerEdge R940xa), avec possibilité d’associer 4 processeurs (Intel Xeon Gold 6240L) à 4 processeurs graphiques (carte accélératrice GPU/FPGA Tesla V100, 32 Go de Nvidia et carte Mellanox (acquis par Nvidia) ConnectX-6 DX dual port 100 Gigabit-Ethernet… avec 6 To de mémoire, on peut rêver.

Chez Synapse Développement, expert français de l’IA (comme DC Brain, Onogone, TinyClues… une floraison de start-up très dynamiques), on estime qu’il est possible de commencer avec un serveur “standard” doté d’au moins 8 Go de RAM et 10 à 100 Go de “mémoire dure” (SSD). « Le type de processeur est peu important mais, en l’absence de carte graphique, plus il sera puissant, plus les modèles s’entraîneront et répondront vite », recommande Clément Tourné, ingénieur développement chez Synapse. « De bons accès réseaux faciliteront les déploiements, mais ne sont pas indispensables. »

Et quels constructeurs recommander ? « Ceux qui proposent des configurations avec carte graphique Nvidia peuvent être privilégiés, car ces cartes améliorent nettement les performances. Mais il faut surtout retenir que les besoins en matériel sont spécifiques à chaque projet et doivent donc être définis lors du développement », observe Thiziri Belkacem, ingénieure de recherche chez Synapse.

A défaut de pouvoir investir tout de suite, il reste la possibilité de faire ses premières armes sur des machines virtuelles en utilisant les plateformes cloud : tous les outils y sont fournis, y compris les cas d’usage et les tutoriels. Avec paiement à l’usage, c’est sans risque !

Leave a Reply