Modèles et plateformes d’IA

LightAutoML : Une solution AutoML pour les services financiers

mm
Ajouter Unite.AI à vos sources préférées sur Google

Bien que l’AutoML ait gagné en popularité il y a quelques années, les premiers travaux sur l’AutoML remontent aux années 90, lorsque les scientifiques ont publié les premiers articles sur l’optimisation des hyperparamètres. Ce n’est qu’en 2014, lorsqu’ICML a organisé le premier atelier AutoML, que l’AutoML a attiré l’attention des développeurs de ML. L’un des principaux axes de recherche de l’AutoML au fil des ans est le problème de recherche d’hyperparamètres, où le modèle implémente une série de méthodes d’optimisation pour déterminer les meilleurs hyperparamètres dans un grand espace d’hyperparamètres pour un modèle d’apprentissage automatique particulier. Une autre méthode couramment implémentée par les modèles AutoML est d’estimer la probabilité qu’un hyperparamètre particulier soit l’hyperparamètre optimal pour un modèle d’apprentissage automatique donné. Le modèle atteint cet objectif en implémentant des méthodes bayésiennes qui utilisent traditionnellement des données historiques de modèles estimés précédemment, ainsi que d’autres jeux de données. En plus de l’optimisation des hyperparamètres, d’autres méthodes tentent de sélectionner les meilleurs modèles à partir d’un espace de modèles alternatifs.

Dans cet article, nous allons aborder LightAutoML, un système AutoML développé principalement pour une entreprise européenne opérant dans le secteur financier, ainsi que son écosystème. Le cadre LightAutoML est déployé sur diverses applications, et les résultats ont démontré une performance supérieure, comparable à celle des data scientists, même lors de la construction de modèles d’apprentissage automatique de haute qualité. Le cadre LightAutoML tente d’apporter les contributions suivantes. Premièrement, le cadre LightAutoML a été développé principalement pour l’écosystème d’une grande institution financière et bancaire européenne. Grâce à son cadre et à son architecture, le cadre LightAutoML est capable de surpasser les cadres AutoML de pointe sur plusieurs benchmarks ouverts ainsi que des applications d’écosystème. La performance du cadre LightAutoML est également comparée à des modèles qui sont réglés manuellement par des data scientists, et les résultats ont indiqué une performance plus forte du cadre LightAutoML.

Cet article vise à couvrir le cadre LightAutoML en profondeur, et nous explorons le mécanisme, la méthodologie, l’architecture du cadre ainsi que sa comparaison avec les cadres de pointe. Alors, commençons.

LightAutoML : Un cadre AutoML pour les services financiers

Bien que les chercheurs aient commencé à travailler sur l’AutoML dans les années 90, l’AutoML a attiré une grande partie de l’attention ces dernières années, avec certaines des solutions industrielles les plus importantes qui implémentent des modèles d’apprentissage automatique construits automatiquement, comme Amazon’s AutoGluon, DarwinAI, H20.ai, IBM Watson AI, Microsoft (MSFT ) AzureML, et bien d’autres. La plupart de ces cadres implémentent une solution AutoML à usage général qui développe des modèles basés sur l’apprentissage automatique de manière automatique sur différentes classes d’applications dans les services financiers, les soins de santé, l’éducation, et plus encore. L’hypothèse clé derrière cette approche générique horizontale est que le processus de développement de modèles automatiques reste identique pour toutes les applications. Cependant, le cadre LightAutoML implémente une approche verticale pour développer une solution AutoML qui n’est pas générique, mais qui répond plutôt aux besoins de chaque application, dans ce cas, une grande institution financière. Le cadre LightAutoML est une solution AutoML verticale qui se concentre sur les besoins de l’écosystème complexe ainsi que sur ses caractéristiques. Premièrement, le cadre LightAutoML fournit une recherche d’hyperparamètres rapide et presque optimale. Bien que le modèle n’optimise pas directement ces hyperparamètres, il parvient à fournir des résultats satisfaisants. De plus, le modèle maintient l’équilibre entre la vitesse et l’optimisation des hyperparamètres de manière dynamique, pour garantir que le modèle soit optimal pour les petits problèmes et suffisamment rapide pour les plus grands. Deuxièmement, le cadre LightAutoML limite intentionnellement la gamme de modèles d’apprentissage automatique à seulement deux types : les modèles linéaires et les arbres de décision boostés de gradient (GBM), au lieu d’implémenter de grands ensembles d’algorithmes différents. La principale raison derrière la limitation de la gamme de modèles d’apprentissage automatique est d’accélérer le temps d’exécution du cadre LightAutoML sans affecter négativement les performances pour le type de problème et de données donné. Troisièmement, le cadre LightAutoML présente une méthode unique de choix de schémas de prétraitement pour les différentes fonctionnalités utilisées dans les modèles sur la base de certaines règles de sélection et de métadonnées. Le cadre LightAutoML est évalué sur une large gamme de sources de données ouvertes sur une large gamme d’applications.

LightAutoML : Méthodologie et architecture

Le cadre LightAutoML se compose de modules appelés Presets qui sont dédiés au développement de modèles de bout en bout pour des tâches d’apprentissage automatique typiques. Actuellement, le cadre LightAutoML prend en charge les modules Preset. Premièrement, le Preset TabularAutoML se concentre sur la résolution de problèmes d’apprentissage automatique classiques définis sur des jeux de données tabulaires. Deuxièmement, le Preset White-Box implémente des algorithmes simples et interprétables tels que la régression logistique au lieu de l’encodage WoE (Weight of Evidence) et des fonctionnalités discrétisées pour résoudre des tâches de classification binaire sur des données tabulaires. L’implémentation d’algorithmes simples et interprétables est une pratique courante pour modéliser la probabilité d’une demande en raison des contraintes d’interprétabilité imposées par différents facteurs. Troisièmement, le Preset NLP est capable de combiner des données tabulaires avec des outils de traitement du langage naturel (NLP) incluant des modèles d’apprentissage automatique profond pré-entraînés et des extracteurs de fonctionnalités spécifiques. Enfin, le Preset CV fonctionne avec des données d’images à l’aide d’outils de base. Il est important de noter que même si le modèle LightAutoML prend en charge les quatre Presets, le cadre n’utilise que le TabularAutoML dans le système de production.

Le pipeline typique du cadre LightAutoML est inclus dans l’image suivante.

Chaque pipeline contient trois composants. Premièrement, Reader, un objet qui reçoit le type de tâche et les données brutes en entrée, effectue des calculs de métadonnées critiques, nettoie les données initiales et détermine les manipulations de données à effectuer avant de faire correspondre les différents modèles. Ensuite, les jeux de données internes LightAutoML contiennent des itérateurs CV et des métadonnées qui implémentent des schémas de validation pour les jeux de données. Le troisième composant est constitué de plusieurs pipelines d’apprentissage automatique empilés et/ou mélangés pour obtenir une seule prédiction. Un pipeline d’apprentissage automatique dans l’architecture du cadre LightAutoML est l’un des multiples modèles d’apprentissage automatique qui partagent un seul schéma de validation et de prétraitement des données. L’étape de prétraitement peut comporter jusqu’à deux étapes de sélection de fonctionnalités, une étape d’ingénierie de fonctionnalités ou peut être vide si aucun prétraitement n’est nécessaire. Les pipelines d’apprentissage automatique peuvent être calculés de manière indépendante sur les mêmes jeux de données, puis mélangés ensemble en utilisant une moyenne (ou une moyenne pondérée). Alternativement, un schéma d’empilement peut être utilisé pour construire des architectures d’ensemble à plusieurs niveaux.

LightAutoML Tabulaire

Dans le cadre LightAutoML, TabularAutoML est le pipeline par défaut, et il est implémenté dans le modèle pour résoudre trois types de tâches sur des données tabulaires : la classification binaire, la régression et la classification multiclasse pour une large gamme de métriques de performance et de fonctions de perte. Un tableau avec les quatre colonnes suivantes : fonctionnalités catégorielles, fonctionnalités numériques, horodatages et une seule colonne cible avec des étiquettes de classe ou des valeurs continues est alimenté en entrée du composant TabularAutoML. L’un des principaux objectifs derrière la conception du cadre LightAutoML était de concevoir un outil pour des tests d’hypothèse rapides, une raison majeure pour laquelle le cadre évite d’utiliser des méthodes de force brute pour l’optimisation des pipelines, et se concentre uniquement sur les techniques et les modèles efficaces qui fonctionnent sur une large gamme de jeux de données.

Typage automatique et prétraitement des données

Pour gérer différents types de fonctionnalités de différentes manières, le modèle a besoin de connaître chaque type de fonctionnalité. Dans la situation où il y a une seule tâche avec un petit jeu de données, l’utilisateur peut spécifier manuellement chaque type de fonctionnalité. Cependant, spécifier manuellement chaque type de fonctionnalité n’est plus une option viable dans les situations qui incluent des centaines de tâches avec des jeux de données contenant des milliers de fonctionnalités. Pour le Preset TabularAutoML, le cadre LightAutoML a besoin de mapper les fonctionnalités en trois classes : numérique, catégorielle et datetime. Une solution simple et évidente est d’utiliser les types de données de tableau de colonnes comme types de fonctionnalités réels, c’est-à-dire de mapper les colonnes float/int aux fonctionnalités numériques, les horodatages ou les chaînes qui pourraient être analysées comme un horodatage — aux datetime, et les autres aux catégorielles. Cependant, cette mise en correspondance n’est pas la meilleure en raison de l’apparition fréquente de types de données numériques dans les colonnes catégorielles.

Schémas de validation

Les schémas de validation sont un composant vital des cadres AutoML, car les données de l’industrie sont sujettes à des changements au fil du temps, et cet élément de changement rend les hypothèses IID (Independent Identically Distributed) irrecevables lors du développement du modèle. Les modèles AutoML utilisent des schémas de validation pour estimer leur performance, rechercher des hyperparamètres et générer des prédictions hors du pli. Le pipeline TabularAutoML implémente trois schémas de validation :

  • Validation croisée KFold : La validation croisée KFold est le schéma de validation par défaut pour le pipeline TabularAutoML, y compris GroupKFold pour les modèles de comportement et KFold stratifié pour les tâches de classification.
  • Validation de maintien : Le schéma de validation de maintien est implémenté si l’ensemble de maintien est spécifié.
  • Schémas de validation personnalisés : Les schémas de validation personnalisés peuvent être créés par les utilisateurs en fonction de leurs besoins individuels. Les schémas de validation personnalisés incluent des schémas de validation croisée et des schémas de division de série chronologique.

Sélection de fonctionnalités

Bien que la sélection de fonctionnalités soit un aspect crucial du développement de modèles selon les normes de l’industrie, car elle facilite la réduction des coûts d’inférence et de mise en œuvre de modèles, la plupart des solutions AutoML ne se concentrent pas beaucoup sur ce problème. En revanche, le pipeline TabularAutoML implémente trois stratégies de sélection de fonctionnalités : aucune sélection, sélection par coupure d’importance et sélection progressive basée sur l’importance. Sur les trois, la sélection par coupure d’importance est la stratégie de sélection de fonctionnalités par défaut. De plus, il existe deux principales façons d’estimer l’importance des fonctionnalités : l’importance des arbres de décision basée sur les divisions et l’importance des permutations du modèle GBM ou gradient boosté des arbres de décision. L’objectif principal de la sélection par coupure d’importance est de rejeter les fonctionnalités qui ne sont pas utiles au modèle, permettant ainsi au modèle de réduire le nombre de fonctionnalités sans affecter négativement les performances, une approche qui pourrait accélérer l’inférence et la formation du modèle.

L’image ci-dessus compare différentes stratégies de sélection sur des jeux de données bancaires binaires.

Ajustement des hyperparamètres

Le pipeline TabularAutoML implémente différentes approches pour ajuster les hyperparamètres en fonction de ce qui est ajusté.

  • Ajustement des hyperparamètres par arrêt anticipé sélectionne le nombre d’itérations pour tous les modèles pendant la phase d’entraînement.
  • Ajustement des hyperparamètres par système expert est une façon simple de définir les hyperparamètres des modèles de manière satisfaisante. Il empêche le modèle final de subir une forte diminution du score par rapport aux modèles réglés manuellement.
  • Estimation de Parzen en arbre ou TPE pour les modèles de décision boostée de gradient (GBM). Le TPE est une stratégie d’ajustement mixte qui est le choix par défaut dans le pipeline LightAutoML. Pour chaque framework GBM, le cadre LightAutoML forme deux modèles : le premier reçoit des hyperparamètres experts, le second est affiné pour s’adapter au budget temps.
  • Recherche de grille d’hyperparamètres est implémentée dans le pipeline TabularAutoML pour affiner les paramètres de régularisation d’un modèle linéaire ainsi que l’arrêt anticipé et le démarrage chaud.

Le modèle ajuste tous les paramètres en maximisant la fonction de métrique, soit définie par l’utilisateur, soit par défaut pour la tâche résolue.

LightAutoML : Expérimentation et performance

Pour évaluer les performances, le Preset TabularAutoML dans le cadre LightAutoML est comparé à des solutions ouvertes existantes sur diverses tâches, et confirme la performance supérieure du cadre LightAutoML. Premièrement, la comparaison est effectuée sur le benchmark OpenML qui est évalué sur 35 jeux de données de classification binaire et multiclasse. Le tableau suivant résume la comparaison du cadre LightAutoML avec les systèmes AutoML existants.

Comme on peut le voir, le cadre LightAutoML surpasse tous les autres systèmes AutoML sur 20 jeux de données du benchmark. Le tableau suivant contient une comparaison détaillée dans le contexte du jeu de données, indiquant que le cadre LightAutoML offre des performances différentes pour différentes classes de tâches. Pour les tâches de classification binaire, le cadre LightAutoML est en retard en termes de performance, alors que pour les tâches avec une grande quantité de données, le cadre LightAutoML offre une performance supérieure.

Le tableau suivant compare les performances du cadre LightAutoML avec les systèmes AutoML sur 15 jeux de données bancaires contenant un ensemble de tâches de classification binaire. Comme on peut le voir, le cadre LightAutoML surpasse tous les systèmes AutoML sur 12 des 15 jeux de données, soit un pourcentage de gain de 80.

Pensées finales

Dans cet article, nous avons discuté de LightAutoML, un système AutoML développé principalement pour une entreprise européenne opérant dans le secteur financier, ainsi que son écosystème. Le cadre LightAutoML est déployé sur diverses applications, et les résultats ont démontré une performance supérieure, comparable à celle des data scientists, même lors de la construction de modèles d’apprentissage automatique de haute qualité. Le cadre LightAutoML tente d’apporter les contributions suivantes. Premièrement, le cadre LightAutoML a été développé principalement pour l’écosystème d’une grande institution financière et bancaire européenne. Grâce à son cadre et à son architecture, le cadre LightAutoML est capable de surpasser les cadres AutoML de pointe sur plusieurs benchmarks ouverts ainsi que des applications d’écosystème. La performance du cadre LightAutoML est également comparée à des modèles qui sont réglés manuellement par des data scientists, et les résultats ont indiqué une performance plus forte du cadre LightAutoML. Le cadre LightAutoML est capable de surpasser les cadres AutoML de pointe sur plusieurs benchmarks ouverts ainsi que des applications d’écosystème. La performance du cadre LightAutoML est également comparée à des modèles qui sont réglés manuellement par des data scientists, et les résultats ont indiqué une performance plus forte du cadre LightAutoML.

Un ingénieur de profession, un écrivain de cœur. Kunal est un rédacteur technique avec une profonde affection et une compréhension de l'IA et du ML, dédié à simplifier les concepts complexes dans ces domaines grâce à sa documentation engageante et informative.