Machine learning automatisé (AutoML)

Si vous démarrez un nouveau projet de machine learning (ML), vous vous demandez peut-être si l'entraînement manuel est la seule option pour créer un modèle de machine learning. Avec un entraînement manuel, vous écrivez du code à l'aide d'un framework de ML pour créer un modèle. Pendant vous choisissez les algorithmes à explorer et vous les ajustez de manière itérative pour trouver le bon modèle.

Bien entendu, l'entraînement du modèle n'est pas la seule chose à laquelle vous devez penser. Dans pratique, en créant un modèle de machine learning, du prototype à la mise en production implique des tâches répétitives et des compétences spécialisées. Un workflow d'exploration du ML simple se présente comme suit :

Figure 1. Un workflow de machine learning simple
Image 1. Workflow d'exploration de machine learning simple.

Tâches répétitives : le workflow de ML peut impliquer des tâches répétitives et et l'expérimentation. Par exemple, pendant le développement d'un modèle, explorer différentes combinaisons d'algorithmes et d'hyperparamètres pour identifier le modèle le plus approprié. Avec l'entraînement manuel, vous écrivez du code spécialisé pour entraîner le modèle, puis vous ajustez le code pour exécuter des tests avec différents algorithmes et hyperparamètres de ML afin de trouver le meilleur modèle. Pour les petites entreprises ce processus manuel n'est peut-être pas un problème, mais pour les grands projets, les tâches répétitives peuvent prendre du temps.

Compétences spécialisées : le développement manuel d'un modèle de ML implique compétences. En pratique, toutes les équipes qui prévoient de développer un modèle de machine learning ne disposent pas de ces compétences. Si une équipe ne dispose pas d'un data scientist dédié, il est possible que ce travail ne soit même pas réalisable manuellement.

Heureusement, certaines étapes du développement de modèles peuvent être automatisées pour réduire la charge de travail répétitif et le besoin de compétences spécialisées. L'automatisation de ces tâches est l'objet de ce module sur le machine learning automatisé (AutoML).

Qu'est-ce qu'AutoML ?

AutoML est un processus qui consiste à automatiser certaines tâches d'un workflow de machine learning. AutoML est un ensemble d'outils et de technologies qui facilitent des modèles de machine learning plus rapides et plus accessibles à un groupe d'utilisateurs plus large. Bien que l'automatisation puisse être utile tout au long du workflow de ML, les tâches qui sont souvent associées à AutoML sont incluses dans le cycle de développement du modèle comme illustré dans la figure 1. Voici quelques exemples de tâches répétitives :

  • Data Engineering
    • Ingénierie des caractéristiques.
    • Sélection des caractéristiques.
  • Formation
    • Identifier un algorithme de ML approprié
    • Sélectionner les meilleurs hyperparamètres
  • Analyse
    • Évaluer les métriques générées pendant l'entraînement sur la base des tests et des ensembles de données de validation.

Avec AutoML, vous pouvez vous concentrer sur vos données et problèmes de ML plutôt que sur les caractéristiques la sélection, le réglage des hyperparamètres et le choix du bon algorithme.