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 l'entraînement manuel, vous écrivez du code à l'aide d'un framework de ML pour créer un modèle. Au cours de ce processus, vous choisissez les algorithmes à explorer et ajustez de manière itérative les hyperparamètres pour trouver le bon modèle.

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

Figure 1. 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 un travail et des tests répétitifs. Par exemple, lors du développement d'un modèle, vous devez généralement 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 projets de petite envergure ou exploratoires, ce processus manuel peut ne pas poser de problème, mais pour les projets plus importants, ces tâches répétitives peuvent prendre du temps.

Compétences spécialisées : le développement manuel d'un modèle de ML nécessite des compétences spécialisées. 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 dans un workflow de machine learning. AutoML peut être considéré comme un ensemble d'outils et de technologies qui permettent de créer des modèles de machine learning plus rapidement et de les rendre plus accessibles à un plus grand nombre d'utilisateurs. Bien que l'automatisation puisse être utile tout au long du workflow de ML, les tâches souvent associées à AutoML sont celles incluses dans le cycle de développement de modèle illustré à 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
    • Évaluation des métriques générées lors de l'entraînement en fonction des ensembles de données de test et de validation.

Avec AutoML, vous pouvez vous concentrer sur votre problème de ML et vos données plutôt que sur la sélection des fonctionnalités, le réglage des hyperparamètres et le choix de l'algorithme approprié.