LightGBM, abréviation de Light Gradient-Boosting Machine, est un framework de boosting de gradient distribué, gratuit et open-source, destiné à l'apprentissage automatique, initialement développé par Microsoft. Il repose sur des algorithmes d'arbres de décision et est utilisé pour le classement, la classification et d'autres tâches d'apprentissage automatique. Le framework est conçu pour offrir des performances et une évolutivité élevées, ce qui en fait un choix populaire tant dans la recherche académique que dans les applications industrielles.
LightGBM prend en charge une variété d'algorithmes, notamment l'arbre de boosting de gradient (GBT), l'arbre de décision à boosting de gradient (GBDT), l'arbre de régression à boosting de gradient (GBRT), la machine à boosting de gradient (GBM), les arbres de régression additifs multiples (MART) et la forêt aléatoire (RF). Il intègre de nombreux avantages de XGBoost, tels que l'optimisation des données creuses, l'entraînement parallèle, les multiples fonctions de perte, la régularisation, le bagging et l'arrêt précoce. Cependant, une différence clé réside dans la construction des arbres : LightGBM fait croître les arbres par feuille plutôt que par niveau, sélectionnant la feuille avec la perte delta maximale à développer. Cette approche peut conduire à une convergence plus rapide, mais nécessite un réglage minutieux pour éviter le surapprentissage.
Une autre caractéristique distinctive est l'utilisation d'un algorithme d'apprentissage d'arbres de décision basé sur des histogrammes hautement optimisé, au lieu de l'approche basée sur le tri utilisée par XGBoost et d'autres implémentations. Cette méthode basée sur les histogrammes améliore considérablement l'efficacité de l'entraînement et la consommation mémoire. De plus, LightGBM introduit deux techniques novatrices : l'échantillonnage unilatéral basé sur le gradient (GOSS) et le regroupement de caractéristiques exclusives (EFB), qui ensemble permettent un entraînement plus rapide tout en maintenant une précision élevée.
LightGBM fonctionne sous Linux, Windows et macOS, et fournit des interfaces pour C++, Python, R et C#. Le code source est sous licence MIT et est disponible sur GitHub.
Échantillonnage unilatéral basé sur le gradient
L'échantillonnage unilatéral basé sur le gradient (GOSS) est une technique développée spécifiquement pour les arbres de décision à boosting de gradient. Dans la descente de gradient traditionnelle, le modèle est conceptualisé comme une vallée, où le point le plus bas représente le meilleur ajustement aux données. L'algorithme ajuste itérativement les paramètres du modèle en se déplaçant dans des directions qui réduisent la perte, descendant efficacement dans la vallée. Typiquement, ce processus utilise l'ensemble du jeu de données pour calculer les gradients, en supposant que chaque point de données contribue également au signal d'apprentissage.
GOSS remet en question cette hypothèse en reconnaissant que les points de données avec des gradients plus petits (c'est-à-dire des pentes moins prononcées) sont moins informatifs pour le processus d'apprentissage. Ces points correspondent souvent à des instances bien prédites ou à du bruit. GOSS abandonne aléatoirement une partie de ces échantillons à faible gradient, tout en conservant tous les échantillons avec des gradients élevés. Cet échantillonnage sélectif réduit la taille effective du jeu de données, accélérant l'entraînement sans compromettre significativement la précision. En se concentrant sur les points de données les plus informatifs, GOSS aide le modèle à mieux capturer les relations sous-jacentes dans les données, tout en réduisant l'influence des échantillons bruités.
Regroupement de caractéristiques exclusives
Le regroupement de caractéristiques exclusives (EFB) est une méthode quasi sans perte pour réduire le nombre de caractéristiques effectives dans un jeu de données. Dans de nombreuses applications réelles, en particulier celles avec des espaces de caractéristiques creux, de nombreuses caractéristiques sont presque exclusives, ce qui signifie qu'elles prennent rarement des valeurs non nulles simultanément. Les caractéristiques encodées en one-hot en sont un exemple parfait : chaque catégorie est représentée par une caractéristique binaire, et pour un échantillon donné, une seule de ces caractéristiques est active. EFB regroupe ces caractéristiques exclusives en une seule caractéristique composite, réduisant ainsi la dimensionnalité des données. Cette réduction conduit à une utilisation mémoire plus faible et à un entraînement plus rapide, tout en maintenant un niveau de précision élevé car l'information originale est préservée par le processus de regroupement. Le regroupement de caractéristiques exclusives en une seule caractéristique est appelé un regroupement de caractéristiques exclusives.
Performances et évolutivité
LightGBM est conçu pour gérer des jeux de données à grande échelle avec des millions d'instances et de caractéristiques. Son algorithme basé sur les histogrammes réduit le coût computationnel de la recherche des points de division optimaux, et sa stratégie de croissance par feuille peut conduire à des arbres plus profonds qui capturent des motifs complexes. Le framework prend en charge l'entraînement distribué, lui permettant de s'adapter à plusieurs machines. Cette évolutivité rend LightGBM adapté à des applications telles que la prédiction du taux de clic, le classement et d'autres tâches où le volume de données est important.
Utilisation et écosystème
LightGBM s'intègre de manière transparente avec les bibliothèques et plateformes d'apprentissage automatique populaires. Il est largement utilisé en conjonction avec scikit-learn et est un composant central de nombreuses solutions de boosting de gradient. L'interface Python du framework est particulièrement populaire, offrant une API familière pour les scientifiques des données. LightGBM fournit également un support natif pour les caractéristiques catégorielles, ce qui simplifie le prétraitement. Sa compatibilité avec C++, R et C# étend sa portée à divers environnements de développement.
Comparaison avec d'autres frameworks
LightGBM est souvent comparé à XGBoost et CatBoost, deux autres frameworks de boosting de gradient de premier plan. Alors que XGBoost utilise une croissance des arbres par niveau et une recherche de division basée sur le tri, l'approche de LightGBM par feuille et basée sur les histogrammes entraîne généralement des temps d'entraînement plus rapides et une utilisation mémoire plus faible. Cependant, la croissance par feuille peut conduire à un surapprentissage si elle n'est pas correctement régularisée. CatBoost, en revanche, excelle dans la gestion des caractéristiques catégorielles et atteint souvent une précision élevée avec des paramètres par défaut. Le choix entre ces frameworks dépend du jeu de données spécifique et des exigences ; LightGBM est souvent préféré pour sa rapidité et son efficacité sur les grands jeux de données creux.
Applications
LightGBM a été appliqué dans de nombreux domaines, notamment le classement de recherche, les systèmes de recommandation, la détection de fraude et les diagnostics médicaux. Sa capacité à gérer des données creuses à haute dimensionnalité le rend particulièrement efficace pour la prédiction du taux de clic dans la publicité en ligne. De plus, LightGBM est utilisé dans des compétitions sur des plateformes comme Kaggle, où ses performances et sa rapidité en ont fait un favori parmi les praticiens.
Développement et communauté
LightGBM a été introduit pour la première fois en 2017 par une équipe de Microsoft Research, dirigée par Guolin Ke et d'autres. Le projet est activement maintenu sur GitHub, avec des contributions d'une communauté mondiale de développeurs. La documentation du framework est complète, et sa nature open-source encourage une amélioration continue. LightGBM a été cité dans de nombreux articles académiques et est un outil standard dans la boîte à outils du praticien en apprentissage automatique.
Voir aussi
- apprentissage automatique
- intelligence artificielle
- apprentissage profond
- réseau de neurones
- grand modèle de langage
- transformeur
- OpenAI
- Anthropic
- Google DeepMind
- IA générative
- AMD
- Apple
- Samsung Electronics
- Intel
- TSMC
- Broadcom
- Qualcomm
- ARM Holdings
- Amazon Web Services
- AWS Trainium
- Azure
- Google Cloud
- Oracle Cloud
- CoreWeave
- Cerebras
- Groq
- SambaNova
- Graphcore
- Nokia Bell Labs
- Open Panel
- Bhabha Atomic Research
- Samsung Research
- Xerox PARC
- MIT CSAIL
- Stanford AI Lab
- Université de Toronto
- Université Carnegie Mellon
- Berkeley AI Research
- Université d'Oxford
- ordinateur d'échecs
- Sony AI
- Fujitsu
- NEC
- D-Wave
- Alibaba Damiao Academy
- Alibaba Cloud
- Amazon AI
- Halcyon
- Insta Academy
- Omniscient
- Commure
- Intuitive Surgical
- TomTom
- BigBear.ai
- AI21 Labs
- Inflection AI
- Essential AI
- Sanctuary AI
- Figure AI
- Fermata
- Neuralink
- Braina
- Cortica
- Xyber
- Cruise
- Waymo
- Tesla Autopilot
- Llion Jones
- Jakob Uszkoreit
- Lukasz Kaiser
- Niki Parmar
- Barret Zoph
- Mark Chen
- Brad Lightcap
- Jacob Steinhardt
- David Kaplan
- Ryan Lowe
- Jack Clark
- Shan Carter
- David Luan
- Chen Wu
- Ashish Kumar
- Freddie Sulit
- Karen Simonyan
- Koray Kavukcuoglu
- Thomas Dietterich
- Michael Jordan
- Daphne Koller
- Anima Anandkumar
- Samy Bengio
- Joshua Tenenbaum
- Brendan Lake
- Melanie Mitchell
- Aaron Courville
- Alan Perlis
- Aleksander Madry
- Alexei Efros
- Ali Rahimi
- Andrew Lloyd Brown
- Ani Bhattacharya
- Anna Patterson
- Anna Ritter
- Anubhav Sinha
- Arakawa Ryota
- Arka Dutta
- Arthur Franz
- Ben Goertzel
- Bernard Widrow
- Brian Cheung
- Brian Christian
- Brian Lilly White
- Calvo Rafael
- Carlos Guestrin
- Catherine Flick
- Chad Mirkin
- Chin Yen Chiu
- Chris Bishop
- Christopher Bishop
- Craig Boutilier
- Craig Ku
- Dafna Sharon
- Daphne Leon
- David Ha
- David Froitzheim
- David Martin
- David Winger
- Deepak Kumar
- Drew Puckett
- Elaine Rich
- Eilon Reshef