00:00:07 Programmation différentiable en tant que nouveau terme.
00:01:38 L’idée centrale de l’optimisation basée sur le gradient dans le deep learning.
00:03:48 La percée de la différentiation automatique dans le calcul des gradients.
00:06:00 Les origines de la programmation différentiable et son impact sur l’apprentissage automatique.
00:07:43 La complexité de tâches apparemment simples et le progrès itératif en IA.
00:09:33 Transition des réseaux de neurones vers le deep learning et la programmation différentiable.
00:11:22 Les avantages de la programmation différentiable dans l’optimisation de la supply chain.
00:13:26 Coupler la tarification, la prévision de la demande et l’allocation de stocks dans la gestion de la supply chain.
00:15:00 La programmation différentiable dans l’apprentissage automatique et la gestion des incertitudes.
00:16:00 La programmation différentiable en supply chain et comparaison aux géants de la tech.
00:18:19 Appliquer des techniques d’IA issues d’autres domaines aux problèmes de supply chain.
00:20:15 Les avantages de la programmation différentiable pour la modélisation prédictive et l’optimisation dans les supply chains.
00:22:01 Les défis à venir pour la programmation différentiable dans la gestion de la supply chain.
00:24:16 Pensées de clôture.

Résumé

Kieran Chandler a interviewé Joannes Vermorel, fondateur de Lokad, à propos de programmation différentiable et de son importance en IA et optimisation de la supply chain. La programmation différentiable est née des percées dans les techniques de différentiation automatique et a évolué à partir des réseaux de neurones et du deep learning. La modularité de la programmation différentiable permet un assemblage de modèles plus flexible et polyvalent, ce qui la rend utile pour l’optimisation de la supply chain. Bien que des inquiétudes subsistent quant à la fiabilité, Vermorel souligne l’efficacité des techniques d’apprentissage automatique. Lokad, malgré un budget réduit, reste compétitif en adaptant les recherches des géants de la tech aux applications de supply chain. La programmation différentiable offre une solution plus expressive pour élaborer des recettes numériques adaptées aux problématiques d’entreprise, bien que parvenir à des résultats constants sans échecs reste un défi.

Résumé étendu

Kieran Chandler, l’animateur de l’interview, a discuté du sujet de la programmation différentiable avec Joannes Vermorel, fondateur de Lokad, une entreprise de logiciels spécialisée dans l’optimisation de la supply chain. Vermorel a apporté un éclairage sur les origines et l’importance de la programmation différentiable en tant que concept ainsi que sur sa relation avec l’IA et le deep learning.

Yann LeCun, le directeur de la recherche en IA chez Facebook, a récemment suggéré que le terme “deep learning” avait dépassé son utilité en tant que mot à la mode et a proposé l’utilisation de “programmation différentiable” pour refléter les développements plus récents dans le logiciel. Vermorel a commenté l’évolution constante de la terminologie dans le domaine de l’IA, affirmant que dès qu’une solution est trouvée pour un problème, elle n’est plus considérée comme de l’IA et se voit attribuer un nouveau nom, la programmation différentiable étant le dernier en date.

Les origines de la programmation différentiable remontent à l’optimisation basée sur le gradient, un concept central du deep learning. L’optimisation basée sur le gradient consiste à entraîner un modèle comportant des millions de paramètres à l’aide d’une fonction objectif qui évalue la qualité des résultats du modèle. Au fur et à mesure que de nouveaux points de données sont observés, le gradient, ou dérivée multidimensionnelle, est calculé pour guider les ajustements des paramètres, améliorant progressivement le modèle.

Historiquement, les réseaux de neurones, qui précédaient le deep learning, utilisaient des techniques complexes telles que la rétropropagation pour calculer les gradients. Ces techniques étaient difficiles à mettre en œuvre et offraient de faibles performances. Une percée s’est produite il y a une dizaine d’années lorsque des chercheurs ont commencé à utiliser la différentiation automatique, une technique découverte pour la première fois dans les années 1960. La différentiation automatique simplifie le calcul des gradients, mais elle est restée largement ignorée par la communauté scientifique jusqu’à ce que son potentiel soit plus récemment reconnu.

La discussion tourne autour du concept de programmation différentiable et de son développement, ainsi que de ses applications dans l’optimisation de la supply chain.

La programmation différentiable a émergé grâce aux avancées dans les techniques de différentiation automatique, qui permettaient de calculer les gradients de n’importe quel programme, et pas seulement d’une fonction. Cette approche a permis le développement de réseaux computationnels plus complexes pouvant être appliqués à un éventail plus large de problèmes. Le terme “programmation différentiable” provient de l’idée de calculer la dérivée d’un programme.

Le développement de la programmation différentiable a été itératif, s’appuyant sur des concepts antérieurs dans les réseaux de neurones et le deep learning. Les progrès dans ce domaine ont été réguliers au cours des 50-60 dernières années, bien qu’au départ, on ait eu la fausse impression que certains problèmes, comme identifier un chien, seraient plus faciles à résoudre que des calculs complexes tels que le calcul d’un logarithme. En réalité, des problèmes apparemment simples comme la reconnaissance d’objets et le maintien de l’équilibre se sont révélés plus difficiles, tandis que les calculs sont devenus relativement aisés grâce à l’architecture informatique moderne.

La transition des réseaux de neurones vers le deep learning impliquait d’abandonner l’inspiration biologique pour se concentrer sur ce qui fonctionnait avec le matériel informatique. L’étape suivante, la programmation différentiable, a tiré parti de la modularité du deep learning, permettant la composition, l’empilement, la concaténation et le mélange de modèles d’apprentissage automatique. Cette modularité était cruciale pour l’optimisation de la supply chain, qui implique des éléments divers tels que les tarifs, les produits, les clients, les emplacements et les conteneurs.

À mesure que l’on développait des boîtes à outils de deep learning ressemblant à des langages de programmation, l’idée de la programmation différentiable a émergé comme une extension naturelle. Les techniques de différentiation automatique rendaient la conception et l’ingénierie des outils nécessaires simples. En pratique, la programmation différentiable consiste à combiner divers modèles et blocs, un peu comme une approche basée sur des briques Lego. Cependant, comparée au deep learning, la programmation différentiable permet un assemblage de modèles plus flexible et polyvalent.

Vermorel explique que la programmation différentiable permet une expressivité programmatique, offrant aux utilisateurs la possibilité de revisiter des problèmes et d’exprimer leurs solutions de manière plus précise et efficace. Il donne l’exemple de l’utilisation de la programmation différentiable pour optimiser la tarification, la prévision de la demande et l’allocation de stocks. Ces facteurs sont interconnectés ; modifier la stratégie de tarification influera sur la demande, qui à son tour affecte la production requise et les niveaux de stocks.

La programmation différentiable permet aux utilisateurs d’écrire des programmes qui laissent des espaces vides pour les paramètres à optimiser. Un Supply Chain Scientist peut rédiger ces programmes et utiliser la technologie appropriée pour l’optimisation. Chandler soulève des préoccupations concernant la fiabilité des solutions produites par la programmation différentiable puisqu’elle implique des espaces vides et repose sur l’apprentissage automatique. Vermorel reconnaît les limites, mais souligne que les techniques d’apprentissage automatique ont déjà prouvé leur efficacité, comme en témoigne leur succès face aux joueurs humains dans des jeux tels que le Go et les échecs.

Lorsqu’on lui demande des efforts de R&D dans la programmation différentiable chez Lokad comparativement aux grandes entreprises technologiques comme Facebook, Vermorel admet que leur budget est nettement plus réduit. Cependant, il souligne que les recherches menées par ces géants de la tech sont souvent publiées, permettant à des entreprises plus petites comme Lokad d’étudier et de s’inspirer de leurs travaux. Le principal défi pour Lokad est de rester à jour avec ces publications et d’adapter les résultats de la recherche à une approche orientée supply chain.

Vermorel souligne que l’objectif principal des grandes entreprises technologiques porte sur de grands problèmes d’IA, tels que la vision par ordinateur, la reconnaissance vocale, la synthèse vocale et le traitement du langage naturel. Ces domaines ne sont pas directement liés à la gestion de la supply chain, domaine dans lequel l’expertise de Lokad réside. En gardant un œil attentif sur les recherches produites par ces géants de la tech et en les réadaptant aux applications en supply chain, Lokad vise à rester compétitif dans le domaine de la programmation différentiable pour l’optimisation de la supply chain.

Vermorel souligne que bon nombre des enseignements tirés de la recherche en IA ne sont pas spécifiques aux images ou à la parole, mais sont plutôt fondamentaux pour l’apprentissage à partir des données. Ces enseignements peuvent être appliqués à divers problèmes, y compris la gestion de la supply chain, où ils pourraient même mieux fonctionner.

Le principal avantage de la programmation différentiable dans la gestion de la supply chain, selon Vermorel, est sa capacité à gérer l’inconnu et la modélisation prédictive sans perturber l’activité. Le défi consiste à aligner les solutions numériques avec des leviers commerciaux spécifiques tout en restant polyvalent et expressif. La programmation différentiable offre une solution plus expressive, facilitant ainsi l’élaboration de recettes numériques adaptées aux problématiques d’entreprise.

Vermorel note que l’un des plus grands défis dans l’application de la programmation différentiable à la gestion de la supply chain est d’établir une série de constructions et de blocs de programmation qui fonctionnent bien pour l’industrie. Bien que la différentiation automatique puisse différencier n’importe quel programme, il est crucial de trouver des méthodes spécifiques pour formuler les problèmes de manière à obtenir non seulement de bons résultats, mais aussi des résultats constants et fiables, adaptés à la production. L’objectif est d’atteindre des résultats cohérents sans échecs catastrophiques, ce qui demeure un défi à relever.

Transcription intégrale

Kieran Chandler: Aujourd’hui, nous allons poursuivre notre mini-série en nous penchant sur ses origines. Alors, Joannes, la programmation différentiable est encore un autre mot à la mode dans le monde de la technologie. En avons-nous vraiment besoin d’un autre ? Joannes Vermorel: Je suppose que oui. C’est très intéressant car dès que les gens trouvent une solution qui fonctionne pour des problèmes, soudainement ce n’est plus de l’IA. Cela se voit attribuer un autre nom. L’IA est le terme générique pour dire qu’il s’agit d’une terra incognita ; nous ne savons pas comment résoudre ces catégories de problèmes. Dès qu’une solution est trouvée, elle reçoit un nom, généralement suite à une série de percées relativement itératives avec de nombreuses itérations. Ensuite, un nom apparaît reflétant ce qui domine dans la recette numérique de cette solution. Kieran Chandler: D’accord, et ensuite nous parlons de la programmation différentiable. Quelle est l’histoire derrière cela ? D’où vient ce nom et comment en sommes-nous arrivés là ? Joannes Vermorel: Le nom provient de l’un des ingrédients qui a alimenté le deep learning, à savoir l’idée de l’optimisation basée sur le gradient. Qu’est-ce que cela signifie ? Une optimisation basée sur le gradient signifie que vous disposez d’un modèle avec potentiellement des millions de paramètres. La manière dont vous allez entraîner ces paramètres consiste à utiliser une fonction objectif, une équation qui indique si vos résultats sont bons ou mauvais. L’idée est que chaque fois que vous examinez un point de données, vous obtenez l’information qui circule à travers cette fonction, et vous pouvez calculer le gradient. Le gradient vous indique que si vous orientez les paramètres juste un peu dans cette direction, cela améliorera localement la fonction objectif d’un petit coup. C’est l’idée centrale de la descente de gradient stochastique, qui est l’algorithme utilisé pour optimiser les algorithmes modernes d’apprentissage automatique et, par exemple, l’ensemble du deep learning. Nous avons donc cette approche basée sur le gradient avec de nombreux paramètres, et l’idée est de déplacer les paramètres un peu à chaque fois que vous observez un nouveau point de données afin de vous améliorer progressivement. Le problème devient alors de calculer ce gradient. Soit dit en passant, le gradient n’est qu’un grand terme pour désigner des dérivées multidimensionnelles. Si vous avez étudié l’algèbre au lycée, vous connaissez les dérivées, la pente d’une courbe en dimension un. Si vous avez plusieurs dimensions, on les appellera un gradient. Parce que vous avez de nombreux paramètres, vous devez calculer la pente pour chacun de ces paramètres. Il s’avère que, historiquement, les réseaux de neurones, qui existaient probablement avant le deep learning, utilisaient toutes sortes de techniques très compliquées appelées rétropropagation des gradients. En termes de complexité d’implémentation et de performance, c’était compliqué et assez lent. Pas que c’était lent, mais plus lent que ce que nous avons aujourd’hui. L’une des percées qui a ouvert la voie à la programmation différentiable fut que les gens ont commencé à se rendre compte, il y a environ dix ans, qu’ils pouvaient utiliser une technique appelée différentiation automatique, qui, soit dit en passant, a 50 ans. Elle a été découverte pour la première fois au milieu des années 60, donc cela fait un bon moment. Mais elle est restée largement ignorée par la communauté scientifique. Elle a été redécouverte à plusieurs reprises, mais d’une manière ou d’une autre, ces découvertes n’ont pas attiré l’attention de tous.

Pas des personnes sur lesquelles nous travaillons en fusionnant des éléments issus de domaines complètement différents, et ces percées sont donc restées, je dirais, largement ignorées. Nous avions ainsi la communauté de machine learning qui était en quelque sorte coincée avec des techniques de rétropropagation très compliquées et fastidieuses à mettre en œuvre, et soudain, les gens ont commencé à réaliser qu’avec ces techniques de différentiation automatique, il était possible de calculer le gradient pour littéralement n’importe quel programme, pas seulement pour une fonction quelconque, n’importe quel programme. Et c’était quelque chose qui changeait complètement la donne en termes d’implémentation. Soudain, vous pouviez concevoir un réseau computationnel arbitrairement complexe, pas simplement en empilant davantage de couches, mais en ayant un programme arbitraire complet, puis appliquer ces mêmes techniques de descente de gradient. C’est de là que vient le terme differentiable programming, c’est l’idée que vous allez différencier, c’est-à-dire calculer la dérivée d’un programme. C’est de là que vient le nom, et cela reflète un peu l’ambition des avancées récentes en machine learning, qui consistent à imaginer des architectures super complexes pour des réseaux computationnels pouvant être considérés comme des programmes arbitraires, d’où le nom differentiable programming.

Kieran Chandler: D’accord, beaucoup de choses ont été abordées. Essayons d’en démêler un peu. Vous avez dit que certaines de ces idées sont apparues dans les années 50 et 60. Ce n’est pas vraiment le développement rapide que nous voyons aujourd’hui en IA et ce genre de choses. Il y a donc en réalité une approche assez itérative pour parvenir à differentiable programming ?

Joannes Vermorel: Absolument, mais la réalité est que même le deep learning d’alors était extrêmement itératif, tout comme l’étaient les réseaux de neurones avant lui. Je veux dire, le rythme des progrès a été en réalité assez rapide ces 50–60 dernières années. Ce fut incroyablement rapide. Et ce qui est intrigant, c’est que, vous savez, au début des années 60, les gens pensaient : « Oh, si nous pouvons résoudre la multiplication, l’expansion ou tous ces calculs difficiles, alors identifier un chien sera super facile. Après tout, n’importe quel passant peut dire « c’est un chien », mais il faut un mathématicien extrêmement entraîné pour calculer un logarithme. » Il était donc évident que calculer un logarithme est bien plus compliqué qu’identifier si, devant vous, il y a un chien.

Et la plus grande surprise est venue du fait que c’est en réalité le contraire. Ces problèmes que nous tenons pour acquis – comme, par exemple, réussir à garder l’équilibre en se tenant sur deux pieds – sont complexes. Je veux dire, si vous cessez simplement de bouger, vous tombez. C’est donc totalement dynamique. Ce n’est pas, vous savez, se tenir droit ; avoir un robot bipède relève d’un véritable cauchemar d’ingénierie. Il est bien plus simple d’avoir des dispositifs qui fonctionnent sur roues et qui sont conçus pour être complètement stables. Ainsi, les problèmes paraissant super simples – se tenir droit, identifier si ce qui se trouve devant soi est un chien ou un poulet, ou encore quelque chose de complètement différent, comme un poster affichant l’image d’un chien au lieu d’un vrai chien – sont très difficiles, alors que des problèmes comme le calcul d’un logarithme sont en réalité super faciles avec l’architecture de calcul dont nous disposons. Ce fut donc une grande surprise, et il a fallu littéralement plusieurs décennies pour réaliser qu’il fallait même découvrir comment commencer à s’attaquer à des problèmes super fondamentaux. D’où le fait que nous parlions d’IA depuis des décennies, que les progrès aient été bien réels et constants, mais qu’il y avait tellement à découvrir qu’il semblait, peut-être d’un point de vue extérieur, que tout avançait un peu lentement, simplement parce que l’on s’était fixé de mauvaises attentes dès le début. Mais cela progresse, et les avancées se multiplient littéralement, et nous avons maintenant réalisé que nous avons probablement

Kieran Chandler: Et qu’en est-il de differentiable programming ? Quelle a été l’inspiration derrière cela ?

Joannes Vermorel: La clé, une idée très intéressante, a été la transition des réseaux de neurones vers le deep learning. L’idée était d’abandonner complètement toute inspiration biologique et de réaliser que, pour aller de l’avant, il fallait écarter cette inspiration au profit de ce qui fonctionnait réellement avec le matériel informatique. L’un des insights fondamentaux ayant propulsé le deep learning fut sa modularité. Vous pouvez construire des modèles de machine learning d’une manière extrêmement modulaire ; vous pouvez les composer, les empiler, les concaténer et les combiner de multiples façons. Kieran Chandler: Et pourquoi cela revêt-il un intérêt primordial pour supply chains ? Joannes Vermorel: C’est parce que nous voulons combiner des éléments tels que les prix, les produits, les clients, les emplacements, les conteneurs et toutes sortes d’objets très divers qui doivent être assemblés pour résoudre les problèmes de supply chain. Il faut prendre en compte toute cette diversité. Lorsqu’on dispose de modèles que l’on peut composer de diverses manières, on se retrouve avec un véritable langage de programmation, au sens propre du terme. Ce qui est intéressant, c’est que l’on a commencé à concevoir, en deep learning, des boîtes à outils se rapprochant de plus en plus de véritables langages de programmation. Par exemple, Microsoft a publié son trousseau pour réseaux computationnels, CNTK, qui incluait BrainScript, un langage de programmation spécifique au domaine pour le deep learning. La prochaine étape fut de passer à une programmation complète. Kieran Chandler: C’est donc un peu comme une approche LEGO, qui consiste à combiner différents blocs provenant d’horizons divers et à assembler ces modèles de multiples façons. Concrètement, comment cela fonctionne-t-il ? Comment implémentez-vous ce codage ? Joannes Vermorel: Les Legos étaient en quelque sorte l’archétype de ce que les gens utilisaient avec le deep learning, en effet. Il s’agissait de combiner des blocs, mais de manière assez limitée. Il existe un continuum entre le deep learning et differentiable programming, sans démarcation nette. La différence, c’est que l’on est passé des Legos – où il suffisait d’assembler des pièces – à la programmation, où l’on peut faire la même chose mais avec une expressivité programmatique. Pour supply chains, cela signifie que vous pouvez revisiter des problèmes et exprimer votre solution de façon beaucoup plus succincte et précise par rapport au problème à résoudre. Kieran Chandler: Pouvez-vous donner un exemple ? Joannes Vermorel: Bien, essayons d’optimiser conjointement la tarification, la prévision de la demande et l’allocation de stocks. Quand on y pense, tout cela est complètement lié. Je prévois la demande, mais je sais que si j’ajuste ma stratégie de tarification, je modifierai la demande. Si je modifie la demande, cela a un impact sur la quantité à produire et à stocker, car la demande sera différente. Tous ces éléments sont intimement liés, avec des dépendances que l’on peut littéralement formaliser. Kieran Chandler: C’est compliqué, en quelque sorte. Si j’ai plus de demande, j’ai besoin de plus de stocks pour y répondre. C’est plutôt évident, et si j’ajuste le prix à un niveau supérieur, alors, pour la demande que je vais conserver, j’obtiendrai une marge plus élevée. Il existe de nombreux calculs terre-à-terre, mais la question est de savoir comment assembler tous ces ingrédients pour obtenir à la fois une prévision et une optimisation. Joannes Vermorel: La réponse est differentiable programming, avec des techniques spécifiques qui vous permettent d’écrire ces programmes en laissant beaucoup d’espaces vides. Ces espaces correspondent à l’ensemble des paramètres que vous souhaitez optimiser, et c’est un Supply Chain Scientist qui écrira cela, en s’appuyant sur la technologie adéquate pour réaliser l’optimisation. Kieran Chandler: Donc, ce que vous dites avec ces espaces vides, c’est que vous écrivez un programme dont vous ne connaissez pas réellement toutes les réponses ? Joannes Vermorel: Oui, c’est exact. Kieran Chandler: Comment pouvez-vous être sûr, et avoir confiance, d’arriver à la bonne réponse si des espaces restent vides ? Joannes Vermorel: En effet, c’est comparable aux phénomènes observés en machine learning. Vous apprenez, donc vous n’avez aucune garantie d’obtenir de bons résultats. Ceci étant dit, je ne pense pas qu’aujourd’hui cela diffère du deep learning ni des techniques de machine learning antérieures. Par exemple, les programmes de machine learning ont désormais surpassé tous les joueurs humains dans des jeux tels que le Go et les échecs. Il ne s’agit donc pas de l’absence de signes évidents que cela fonctionne, même au-delà des capacités humaines, pour des problèmes encore relativement limités, contrairement à la localisation d’un chien dans un environnement urbain désordonné, ce qui constitue un problème bien plus complexe. Kieran Chandler: Vous avez évoqué certaines perspectives supply chain pour differentiable programming. Du point de vue de la recherche et développement, à quel point ce que nous faisons ici chez Lokad se rapproche-t-il de ce que réalisent Facebook et d’autres grands acteurs technologiques en differentiable programming ? Joannes Vermorel: Je pense que les très grands acteurs technologiques comme Google, Facebook et Microsoft disposent d’un budget beaucoup plus conséquent en recherche et développement. Chez Lokad, nous faisons de notre mieux, mais soyons réalistes, je ne dispose même pas de 1 % du budget AI de Microsoft ou de Facebook. C’est une réalité pour la plupart des entreprises B2B actuellement. Ces marchés restent encore assez de niche, et aucune entreprise opérant dans la supply chain ne dirait disposer de 2 000 chercheurs en AI. Toutefois, la bonne nouvelle, c’est que ces géants comme Google, Amazon et Facebook publient énormément, et la plupart de leurs recherches sont accessibles. Cela signifie qu’un des principaux défis auxquels nous faisons face chez Lokad est de surveiller attentivement toutes ces publications et de nous en inspirer progressivement. Nous réingénierons ce qu’ils font, mais avec une approche supply chain, car ces grandes équipes travaillent sur de gros problèmes d’AI comme la vision par ordinateur, la reconnaissance vocale, la synthèse vocale et le traitement du langage naturel, ce qui n’est pas du tout ce que les gens cherchent à résoudre dans la supply chain. Kieran Chandler: Comment peut-on passer de ces grands problèmes d’AI, tels que la reconnaissance d’images et la reconnaissance vocale, à la supply chain ? Comment cela peut-il être relié ? Joannes Vermorel: Les chercheurs ont dévoilé l’idée clé du progrès réalisé au cours des dernières décennies, à savoir le mécanisme fondamental de l’apprentissage et celui de l’optimisation numérique efficace et scalable. Ce qui est très intéressant, c’est que la plupart des insights découverts ne sont pas spécifiques aux images. Ils relèvent plutôt du niveau fondamental de Kieran Chandler: J’ai entendu parler d’une astuce qui ne fonctionnerait que pour les images, mais de nombreuses publications montrent que l’astuce ou l’insight découvert n’est en réalité pas spécifique du tout. Il se trouve que, pour valider ces insights et ces expériences, il faut concevoir une solution – une solution élaborée pour les images. Pourtant, cette astuce pourrait être appliquée à des problèmes complètement différents. Elle ne fonctionnerait peut-être pas naturellement avec la même efficacité sur des problèmes totalement distincts, mais parfois, elle fonctionnerait même mieux. Pouvez-vous développer ce point ? Joannes Vermorel: Oui, vous avez raison. Parfois, une technique est découverte qui est intéressante pour les images, mais qui n’est pas révolutionnaire. Elle est tout de même publiée, car elle est considérée comme novatrice et contribue au progrès scientifique. Cependant, lorsque vous appliquez cette technique dans un contexte différent, comme celui de la supply chain, vous pouvez réaliser des avancées significatives. Cela marche donc dans les deux sens. Kieran Chandler: Quel est le principal avantage, du point de vue de Lokad, de differentiable programming ? Est-ce l’idée que vous pouvez répondre à toutes ces inconnues qui caractérisent une supply chain et à tous ces espaces vides où l’on ne sait pas ce qui va se passer dans le futur ? Joannes Vermorel: Le grand défi auquel nous sommes confrontés dans la supply chain est de disposer d’une modélisation prédictive et d’une optimisation prédictive qui ne trahissent pas l’entreprise. Ce n’est pas anodin, car il ne s’agit pas d’obtenir des réponses génériques, mais d’avoir une classe très spécifique de décisions qui optimisent l’activité de l’entreprise de manière particulièrement ciblée, en adéquation avec les leviers d’affaires que vous définissez. Nous n’essayons pas de laisser les techniques d’AI découvrir les objectifs commerciaux ; ceux-ci sont établis grâce à une intelligence de niveau humain qui définit la stratégie et la perspective. Le problème possède une structure très riche, et le plus grand défi consiste à s’assurer que les recettes numériques que vous élaborez s’alignent avec ces leviers d’affaires. C’est très difficile – habituellement, vous vous retrouvez avec un trou rond pour une cheville carrée qui ne correspond tout simplement pas. Differentiable programming est une manière de répondre à ce problème. Kieran Chandler: Soyez beaucoup plus expressif, et c’est la clé pour vous assurer que vous pouvez, vous savez, formuler des recettes numériques qui correspondent véritablement au problème d’affaires qui se présente à vous. Vous savez, si vous avez accès à un langage de programmation, alors vous êtes, je dirais, bien plus expressif et polyvalent. Soudain, en pratique, il devient beaucoup plus facile de faire en sorte que tout s’ajuste. D’accord, commençons à conclure. Vous avez mentionné au début que differential programming était véritablement le début d’une longue route parsemée de nombreux défis.

Joannes Vermorel: Oui, là où nous en sommes sur cette route et quels seront probablement les plus grands défis que nous aurons à relever… Le plus grand défi sera sans doute d’établir, voire d’identifier, une série de constructions et de blocs de programmation qui fonctionnent réellement bien pour la supply chain. Rappelez-vous que la différentiation automatique vous permet de différencier n’importe quel programme, c’est vrai, mais, comme vous l’avez souligné, ce n’est pas en remplissant votre programme de paramètres en disant « Tout fonctionnera parce que je peux optimiser mes paramètres » que cela marche. Non, la réalité est que ce n’est pas n’importe quel programme qui fonctionne. Certes, vous pouvez différencier n’importe quel programme comportant ces paramètres, mais si vous écriviez un programme au hasard avec des paramètres insérés n’importe où, lorsque vous déclenchez votre optimisation – votre différentiation automatique – les résultats obtenus seraient complètement médiocres. Il faut donc identifier des façons spécifiques de formuler ces problèmes afin d’obtenir des résultats non seulement bons, mais aussi très stables et fiables. Vous voyez, nous souhaitons disposer de systèmes que nous pouvons mettre en production ; être meilleur en moyenne ne suffit pas. Vous voulez quelque chose qui ne soit pas uniquement meilleur, mais également très fiable, pour ne pas générer des merveilles éphémères ou, au contraire, des échecs critiques une fois par an. Et cela reste, je dirais, en partie à venir.

Kieran Chandler: Brillant. Très bien, c’est ainsi que nous en resterons aujourd’hui. Merci pour votre temps, Joannes.

Joannes Vermorel: Merci.

Kieran Chandler: Merci beaucoup de nous avoir suivis. Nous reviendrons la semaine prochaine avec notre dernier épisode de cette mini-série sur la programmation différentiable. Mais d’ici là, merci d’avoir regardé.