Se connecter Contactez-nous
La modélisation prédictive chez Lokad s’appuie désormais sur la programmation différentiable plutôt que sur le deep learning. La programmation différentiable est une descendante du deep learning, mieux adaptée aux défis de la supply chain. En particulier, elle se prête mieux au whiteboxing que le deep learning.

De la prévision probabiliste au deep learning

power-clouds
La conception du moteur reposait sur une famille relativement récente de machine learning appelée deep learning. En supply chain, les gains de précision de prévision peuvent se traduire par des gains tout aussi importants en matière de service, de rapidité et de réduction des risques sur les stocks. Environ 18 mois avant cette cinquième génération, Lokad introduisait sa quatrième génération, la première capable de produire de véritables prévisions probabilistes. Les prévisions probabilistes sont essentielles en supply chain parce que les coûts se concentrent sur les extrêmes statistiques, lorsque la demande se révèle soudainement beaucoup plus forte ou beaucoup plus faible que prévu. Les approches classiques - par exemple les prévisions quotidiennes, hebdomadaires ou mensuelles centrées sur la moyenne ou la médiane - passent largement à côté de ce problème. En conséquence, elles délivrent rarement des résultats économiques satisfaisants. Cette cinquième génération ne reniait pas ses origines : elle prolongeait les prévisions probabilistes et s’appuyait sur l’expérience accumulée avec la génération précédente.

En partie par hasard, le deep learning s’est révélé particulièrement adapté, par construction, aux prévisions probabilistes. Cette orientation n’avait pourtant pas été motivée par la supply chain. Les algorithmes de deep learning privilégient une optimisation fondée sur une perspective probabiliste ou bayésienne, avec des métriques comme l’entropie croisée qui fournissent des gradients très élevés, particulièrement adaptés à la descente de gradient stochastique, l’algorithme qui rend le deep learning possible.

Dans le cas spécifique des supply chains, les fondements du deep learning se trouvent parfaitement alignés avec les véritables exigences métier.

Au-delà du battage médiatique autour de l’intelligence artificielle

L’intelligence artificielle - propulsée en pratique par le deep learning - a été le grand mot à la mode de l’année 2017. Les promesses étaient fortes, fascinantes et, disons-le, assez floues. Du point de vue de Lokad, la majorité des technologies d’IA pour l’entreprise ne parvenaient pas à tenir leurs promesses. Très peu d’entreprises peuvent sécuriser plus d’un demi-milliard de dollars de financement, comme Instacart, afin de constituer une équipe de deep learning de classe mondiale capable de traiter correctement un défi supply chain.

Avec cette version, Lokad rendait une technologie de prévision de niveau IA accessible à toute entreprise raisonnablement numérisée. Bien entendu, l’ensemble reposait toujours sur des données historiques supply chain, qui devaient donc être mises à disposition de Lokad, mais notre technologie ne nécessitait aucune expertise en deep learning côté client. Contrairement à pratiquement toutes les offres dites « IA d’entreprise », Lokad ne reposait pas sur une ingénierie manuelle des variables. Pour nos clients, la transition depuis les prévisions probabilistes précédentes vers le deep learning était conçue pour être transparente. Lokad a été l’un des premiers éditeurs à proposer une technologie de prévision de niveau IA clé en main, accessible aussi bien à un petit acteur du ecommerce qu’à de vastes réseaux supply chain comptant des milliers de sites et jusqu’à un million de références.

L’ère du calcul sur GPU

power-clouds Le deep learning est resté relativement de niche jusqu'à ce que la communauté fasse évoluer ses briques logicielles afin d'exploiter les GPU (graphic processing units). Ces GPU diffèrent fortement des CPU (central processing units), qui alimentent encore la grande majorité des applications, à l'exception notable des jeux vidéo, qui reposent intensivement sur les deux. Avec la réécriture complète de notre moteur de prévision pour cette cinquième itération, nous avons aussi significativement modernisé l'infrastructure bas niveau de Lokad. La plateforme Lokad exploite désormais à la fois des GPU et des CPU. Lokad utilise les machines accélérées par GPU que l'on peut louer sur Microsoft Azure, la plateforme cloud qui héberge Lokad. Grâce à la puissance massive de calcul des GPU, nous rendons non seulement les prévisions plus précises, mais aussi beaucoup plus rapides. Avec une grille de GPU, nous obtenions généralement des prévisions trois à six fois plus vite dès que les jeux de données devenaient significatifs (*).

(*) Pour des jeux de données ultra-petits, ce moteur de prévision de cinquième génération était en réalité plus lent et nécessitait quelques minutes supplémentaires - ce qui reste largement sans conséquence en pratique.

Lancements de produits et promotions

Notre moteur de prévision de cinquième génération a apporté des améliorations substantielles sur les situations de prévision difficiles, notamment les lancements de produits et les promotions. De notre point de vue, les lancements de produits, bien que très complexes, restent légèrement plus simples que les prévisions de promotions. La différence de difficulté vient de la qualité des données historiques, qui est presque toujours plus faible pour les promotions que pour les lancements. Les données promotionnelles s’améliorent cependant avec le temps, une fois les bons processus d’assurance qualité en place.

En particulier, nous considérions le deep learning comme une opportunité majeure pour les marques de mode, qui sont confrontées à des lancements de produits dominant leurs ventes : lancer un nouveau produit n’est pas l’exception, c’est la règle. Ensuite, les variantes de couleur et de taille gonflent fortement le nombre de SKU, ce qui complexifie encore la situation.

FAQ prévisions

Quels modèles de prévision utilisez-vous ?

Notre moteur de prévision deep utilise un modèle unique construit selon les principes du deep learning. Contrairement aux modèles statistiques classiques, il comporte des dizaines de millions de paramètres entraînables, soit environ 1 000 fois plus que notre modèle non deep le plus complexe de l’époque. Le deep learning surpasse nettement les approches de machine learning plus anciennes (random forests, gradient boosted trees). Il convient cependant de rappeler que ces approches plus anciennes surpassaient déjà les grands classiques des séries temporelles (Box-Jenkins, ARIMA, Holt-Winters, lissage exponentiel, etc.).

Apprenez-vous de vos erreurs de prévision ?

Oui. Le processus d’entraînement statistique - qui génère in fine le modèle deep learning - exploite l’ensemble des données historiques disponibles chez Lokad. Cet historique est utilisé à travers un processus connu sous le nom de backtesting. Ainsi, plus l’historique disponible est riche, plus le modèle a d’occasions d’apprendre de ses propres erreurs.

Votre moteur de prévision gère-t-il la saisonnalité, les tendances et les jours de semaine ?

Oui, le moteur gère toutes les cyclicités courantes, ainsi que les quasi-cyclicités, dont l’importance est souvent sous-estimée. En termes de code, le modèle deep learning exploite intensivement une approche multi-séries temporelles afin de tirer parti des cyclicités observées sur d’autres produits pour améliorer la précision de prévision de chaque produit. Naturellement, deux produits peuvent partager la même saisonnalité sans présenter le même profil par jour de semaine. Le modèle est capable de capturer ces nuances. L’un des grands avantages du deep learning réside aussi dans sa capacité à modéliser correctement la variabilité de la saisonnalité elle-même. En effet, une saison peut commencer plus tôt ou plus tard selon des variables externes comme la météo, et ces variations sont détectées et reflétées dans nos prévisions.

Quelles données vous faut-il ?

Comme avec notre génération précédente de technologie de prévision, pour prévoir la demande, le moteur de prévision doit recevoir au minimum l’historique quotidien de la demande, et il est encore préférable de fournir un historique détaillé des commandes. En ce qui concerne la longueur de l’historique, plus il est long, mieux c’est. Aucune saisonnalité ne peut être détectée avec moins de deux ans d’historique, nous considérons trois ans comme corrects et cinq ans comme excellents. Pour prévoir les délais, le moteur requiert généralement des bons de commande contenant à la fois les dates de commande et les dates de livraison. Préciser les attributs produits ou SKU permet également d’affiner fortement les prévisions. Enfin, la mise à disposition des niveaux de stocks nous aide aussi beaucoup pour produire une première analyse de stocks pertinente.

Pouvez-vous prévoir ma feuille Excel ?

En règle générale, si toutes vos données tiennent dans une seule feuille Excel, nous ne pouvons probablement pas faire grand-chose pour vous, et pour être honnête, personne ne le peut vraiment non plus. Les données de tableur sont généralement agrégées par semaine ou par mois, ce qui fait perdre l’essentiel de l’information historique. De plus, dans ce cas, votre tableur ne contient généralement pas beaucoup d’informations sur les catégories ou les hiérarchies de produits. Notre moteur de prévision exploite toute la richesse des données disponibles, et tester un minuscule échantillon ne donnera pas de résultats satisfaisants.

Qu’en est-il des ruptures de stock et des promotions ?

Les ruptures de stock comme les promotions représentent des biais dans les ventes historiques. Puisque l’objectif est de prévoir la demande, et non les ventes, ce biais doit être pris en compte. Une manière fréquente - mais incorrecte - de traiter ces événements consiste à réécrire l’historique, en remplissant les creux et en écrêtant les pics. Nous n’aimons pas cette approche, car elle revient à injecter des prévisions dans le moteur de prévision, ce qui peut engendrer de graves problèmes de surapprentissage. À la place, notre moteur prend en charge nativement des « flags » indiquant où la demande a été censurée ou gonflée.

Prévoyez-vous les nouveaux produits ?

Oui. Cependant, pour prévoir de nouveaux produits, le moteur a besoin des dates de lancement des autres produits plus anciens, ainsi que de leur demande historique au moment du lancement. Il est aussi conseillé de préciser certaines catégories produit et/ou une hiérarchie produit. Le moteur prévoit en effet les nouveaux produits en détectant automatiquement les produits plus anciens pouvant être considérés comme comparables aux nouveaux. Comme aucune demande n’a encore été observée pour les nouveaux articles, les prévisions reposent entièrement sur les attributs associés à ces articles.

Utilisez-vous des données externes pour affiner les prévisions ?

Nous pouvons exploiter des données de prix concurrents, généralement obtenues auprès de sociétés tierces spécialisées par exemple dans le web scraping. Des données de trafic web peuvent également être utilisées, voire acquises, afin d’enrichir l’historique et d’améliorer encore la précision statistique. En pratique, le principal goulot d’étranglement dans l’utilisation de sources de données externes n’est pas le moteur de prévision de Lokad - qui est plutôt capable - mais la mise en place et la maintenance d’un pipeline de données de haute qualité connecté à ces sources externes.

Ask Lokad