00:00:07 La programmation différentiable comme un nouveau terme.
00:01:38 L’idée centrale de l’optimisation basée sur les gradients en 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é des tâches en apparence simples et les progrès itératifs en IA.
00:09:33 Transition des réseaux neuronaux à l’apprentissage profond 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 Couplage de la tarification, de la prévision de la demande et de l’allocation des stocks dans la gestion de la supply chain.
00:15:00 La programmation différentiable en apprentissage automatique et la prise en compte des incertitudes.
00:16:00 La programmation différentiable en supply chain et comparaison avec les grandes entreprises technologiques.
00:18:19 Application des techniques d’IA d’autres domaines aux problèmes de la supply chain.
00:20:15 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 Réflexions finales.

Résumé

Kieran Chandler a interviewé Joannes Vermorel, fondateur de Lokad, sur la programmation différentiable et son importance en IA et en optimisation de la supply chain. La programmation différentiable est issue des avancées dans les techniques de différentiation automatique et a évolué à partir des réseaux neuronaux et de l’apprentissage profond. 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 qu’il y ait des préoccupations concernant la fiabilité, Vermorel met en avant l’efficacité des techniques d’apprentissage automatique. Lokad, malgré un budget plus restreint, reste compétitif en adaptant les recherches des géants de la technologie aux applications de la supply chain. La programmation différentiable offre une solution plus expressive pour élaborer des recettes numériques adaptées aux problèmes commerciaux, bien que l’obtention de résultats cohérents 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 spécialisée dans l’optimisation de la supply chain. Vermorel a apporté des éclaircissements sur les origines et l’importance de la programmation différentiable en tant que concept et sur sa relation avec l’IA et l’apprentissage profond.

Yann Lecun, 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é d’utiliser “differentiable programming” pour refléter les nouveaux développements en matière de logiciels. 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 reçoit un nouveau nom, la programmation différentiable étant le dernier exemple en date.

Les origines de la programmation différentiable remontent à l’optimisation basée sur les gradients, un concept fondamental de l’apprentissage profond. L’optimisation basée sur les gradients consiste à entraîner un modèle avec des millions de paramètres à l’aide d’une fonction objectif, qui évalue la qualité des résultats du modèle. À 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 ainsi progressivement le modèle.

Historiquement, les réseaux neuronaux, qui précèdent l’apprentissage profond, utilisaient des techniques complexes telles que la rétropropagation pour calculer les gradients. Ces techniques étaient difficiles à mettre en œuvre et s’exécutaient relativement lentement. Une percée s’est produite il y a une dizaine d’années lorsque les 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 réalisé plus récemment.

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

La programmation différentiable est apparue grâce aux avancées des techniques de différentiation automatique, qui ont permis le calcul des gradients pour n’importe quel programme, et pas seulement pour n’importe quelle fonction. Cette approche a permis le développement de réseaux de calcul plus complexes pouvant être appliqués à un plus large éventail de problèmes. Le terme “programmation différentiable” vient 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 neuronaux et l’apprentissage profond. Les progrès dans ce domaine ont été réguliers au cours des 50 à 60 dernières années, bien qu’au départ, il y ait eu une idée fausse selon laquelle certains problèmes, tels que l’identification d’un chien, seraient plus faciles à résoudre que des calculs complexes tels que le calcul d’un logarithme. En réalité, des problèmes en apparence 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 faciles avec l’architecture informatique moderne.

La transition des réseaux neuronaux à l’apprentissage profond a consisté à abandonner l’inspiration biologique pour se concentrer sur ce qui fonctionnait avec le matériel informatique. La prochaine étape, la programmation différentiable, s’est appuyée sur la modularité de l’apprentissage profond, 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 prix, les produits, les clients, les emplacements et les conteneurs.

À mesure que les gens ont commencé à construire des outils d’apprentissage profond qui ressemblaient à des langages de programmation, l’idée de la programmation différentiable est apparue comme une extension naturelle. Les techniques de différentiation automatique ont rendu facile la conception et l’ingénierie des outils nécessaires. En pratique, la programmation différentiable consiste à combiner différents modèles et blocs, un peu comme une approche de construction avec des briques Lego. Cependant, par rapport à l’apprentissage profond, 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, permettant aux utilisateurs de revoir les problèmes et d’exprimer leurs solutions de manière plus précise et efficace. Il donne l’exemple de la façon dont la programmation différentiable peut être utilisée pour optimiser la tarification, la prévision de la demande et l’allocation des stocks. Ces facteurs sont interconnectés ; modifier la stratégie de tarification aura un impact sur la demande, ce qui à son tour affecte la production requise et les niveaux de stock.

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 écrire ces programmes et utiliser la technologie appropriée pour l’optimisation. Chandler soulève des préoccupations quant à la fiabilité des solutions produites par la programmation différentiable, car 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à fait leurs preuves, comme en témoigne leur succès dans la surperformance des joueurs humains dans des jeux comme Go et les échecs.

Lorsqu’on lui demande quels sont les efforts de recherche et développement en matière de programmation différentiable chez Lokad par rapport à de grandes entreprises technologiques comme Facebook, Vermorel admet que leur budget est nettement plus petit. Cependant, il souligne que les recherches menées par ces géants de la technologie sont souvent publiées, ce qui permet à des entreprises plus petites comme Lokad d’étudier et de s’inspirer de leur travail. Le défi principal pour Lokad est de rester à jour avec ces publications et d’adapter les résultats de recherche à une mentalité de supply chain.

Vermorel souligne que l’objectif principal des grandes entreprises technologiques est de résoudre 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, qui est le domaine d’expertise de Lokad. En surveillant de près les recherches produites par ces géants de la technologie et en les réingéniant pour les applications de la 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 connaissances acquises grâce à la recherche en IA ne sont pas spécifiques aux images ou à la parole, mais plutôt fondamentales pour l’apprentissage à partir de données. Ces connaissances peuvent être appliquées à différents problèmes, y compris la gestion de la supply chain, où elles peuvent même fonctionner mieux.

Le principal avantage de la programmation différentiable dans la gestion de la supply chain, selon Vermorel, est sa capacité à traiter les inconnues et la modélisation prédictive sans dérailler l’activité. Le défi réside dans l’alignement des solutions numériques avec des indicateurs commerciaux spécifiques tout en restant polyvalent et expressif. La programmation différentiable offre une solution plus expressive, ce qui facilite la création de recettes numériques adaptées au problème commercial.

Vermorel note que l’un des plus grands défis de 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érentier n’importe quel programme, il est crucial de trouver des façons spécifiques de formuler des problèmes qui donnent non seulement de bons résultats, mais aussi des résultats stables et fiables adaptés à la production. L’objectif est d’obtenir des résultats cohérents sans défaillances catastrophiques, ce qui reste un défi à relever.

Transcription complète

Kieran Chandler: Aujourd’hui, nous allons poursuivre notre mini-série en examinant ses origines. Alors, Joannes, la programmation différentiable est encore un autre mot à la mode dans le monde de la technologie. 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 commencent à avoir une solution qui fonctionne pour des problèmes, tout à coup ce n’est plus de l’IA. Cela vient avec un nom différent. L’IA est le terme générique pour dire que c’est terra incognita ; nous ne savons pas comment résoudre ces classes de problèmes. Dès que nous avons une solution, la solution a un nom, et généralement il s’agit d’une série de percées relativement itératives avec de nombreuses itérations. Ensuite, cela vient avec un nom qui reflète ce qui domine en tant que partie de la recette numérique de cette solution.

Kieran Chandler: D’accord, puis nous passons à la programmation différentiable. Quelle est l’histoire derrière cela ? D’où vient le nom et comment en sommes-nous arrivés là ?

Joannes Vermorel: Le nom vient de l’un des ingrédients qui a alimenté le deep learning, qui est l’idée de l’optimisation basée sur les gradients. Qu’est-ce que cela signifie ? Une optimisation basée sur les gradients signifie que vous avez un modèle avec potentiellement des millions de paramètres. La façon dont vous allez entraîner ces paramètres est d’avoir une fonction objectif, une équation qui vous dit si vos résultats sont bons ou mauvais. L’idée est que chaque fois que vous regardez un point de données, vous avez l’information qui circule à travers cette fonction, et vous pouvez calculer le gradient. Le gradient vous dit que si vous orientez légèrement les paramètres dans cette direction, cela améliorera localement la fonction objectif. C’est l’idée au cœur de la descente de gradient stochastique, qui est l’algorithme utilisé pour optimiser les algorithmes d’apprentissage automatique modernes et tout le deep learning, par exemple.

Donc, nous avons cette approche basée sur les gradients 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 comment calculer ce gradient. Au fait, le gradient est simplement un grand nom pour les dérivées multidimensionnelles. Si vous avez fait de l’algèbre au lycée, vous regardez les dérivées, la pente d’une courbe en dimension un. Si vous avez plusieurs dimensions, vous les appelez un gradient. Parce que vous avez de nombreux paramètres, vous voulez calculer la pente pour chacun de ces paramètres.

Il s’avère qu’historiquement, les réseaux neuronaux, qui sont probablement apparus avant le deep learning, utilisaient toutes sortes de techniques très compliquées appelées rétropropagation des gradients. En termes de complexité de mise en œuvre et de performance, c’était compliqué et assez lent. Non pas que c’était lent, mais plus lent que ce que nous avons aujourd’hui. L’une des percées qui a débloqué la programmation différentiable a été que les gens ont commencé à réaliser il y a une dizaine d’années qu’ils pouvaient utiliser une technique appelée différentiation automatique, qui a d’ailleurs 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 fois, mais ces découvertes n’ont pas réussi à attirer une attention généralisée.

Ce ne sont pas les personnes qui travaillaient sur la fusion des choses qui étaient complètement différents domaines, et donc ces percées sont restées, je dirais, largement ignorées. Et donc, nous avions la communauté de l’apprentissage automatique qui était un peu bloquée avec les techniques de rétropropagation qui étaient très compliquées, très fastidieuses à mettre en œuvre, et soudainement les gens ont commencé à réaliser qu’avec ces techniques de différentiation automatique, vous pouviez calculer le gradient pour littéralement n’importe quel programme, pas seulement n’importe quelle fonction, n’importe quel programme. Et c’était quelque chose de complètement révolutionnaire en termes de mise en œuvre. Soudain, vous pouviez créer un réseau de calcul arbitrairement compliqué, pas seulement empiler plus de couches, mais avoir un programme arbitraire complet, puis appliquer ces mêmes techniques de descente de gradient. Et c’est là que vient le terme de programmation différentiable, c’est de l’idée que vous allez différentier, c’est-à-dire calculer la dérivée d’un programme. C’est là que vient le nom, et cela reflète un peu l’ambition de ces dernières avancées en apprentissage automatique de penser à des architectures super complexes pour les réseaux de calcul qui peuvent être comme des programmes arbitraires et le nom de la programmation différentiable.

Kieran Chandler: D’accord, beaucoup de choses à prendre. Essayons donc de démêler un peu tout ça. Vous avez dit que certaines de ces idées sont apparues dans les années 50 et 60. Ce n’est pas vraiment comme le développement rapide que nous voyons dans l’IA et des choses comme ça. Donc, il y a en fait une approche assez itérative pour arriver à la programmation différentiable ?

Joannes Vermorel: Absolument, mais la réalité est que même le deep learning avant cela était super itératif et les réseaux neuronaux avant cela étaient super itératifs. Je veux dire, le rythme des progrès a été en fait assez rapide au cours des 50-60 dernières années. Cela a été incroyablement rapide. Et ce qui est intrigant, c’est que, vous savez, au début des années 60, les gens pensaient que, “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 qui dans la rue peut dire que c’est un chien, mais il faut un mathématicien super entraîné pour calculer le logarithme. Donc évidemment, calculer un logarithme est beaucoup plus compliqué que d’identifier si vous avez un chien devant vous.”

Et la plus grande surprise est venue du fait que c’est en réalité le contraire. Ces problèmes que nous tenons complètement pour acquis, comme par exemple, être capable de garder son équilibre en se tenant sur deux pieds, sont difficiles. Je veux dire, c’est là où c’est en fait, si vous arrêtez simplement de bouger, vous tombez. Donc c’est complètement dynamique. Ce n’est pas, vous savez, se tenir debout, avoir un robot bipède est un cauchemar d’ingénierie. C’est beaucoup plus facile d’avoir des choses qui fonctionnent simplement sur des roues et qui sont complètement stables par conception.

Donc les problèmes super simples, comme se tenir debout, identifier si ce que vous avez devant vous est un chien ou un poulet, ou quelque chose d’autre complètement, comme juste une affiche avec une image de chien sur l’affiche au lieu d’avoir un vrai chien. Ces problèmes sont très difficiles, et les problèmes comme calculer vos logarithmes sont en réalité super faciles avec l’architecture de calcul que nous avons. C’était une grande surprise, et il a fallu littéralement plusieurs décennies pour réaliser que nous devions découvrir même pour commencer à aborder des problèmes super fondamentaux.

C’est pourquoi nous parlons d’IA depuis des décennies, les progrès ont été très réels, très réguliers, mais c’est juste qu’il y avait tellement de choses à découvrir que cela semblait, peut-être d’un point de vue externe, un peu lent simplement parce que les gens avaient des attentes erronées dès le départ. Mais ça arrive, et ça progresse encore beaucoup, et nous avons maintenant réalisé que nous avons probablement

Kieran Chandler: Et qu’en est-il de la programmation différentiable ? Quelle a été l’inspiration derrière cela ?

Joannes Vermorel: L’idée clé, très intéressante, était une transition des réseaux neuronaux à l’apprentissage profond. L’idée était d’abandonner complètement toute inspiration biologique et de réaliser que si nous voulions avancer, nous devions abandonner l’inspiration biologique pour nous concentrer sur ce qui fonctionne réellement avec le matériel informatique. L’une des idées clés qui a conduit à l’apprentissage profond était sa modularité. Vous pouvez construire des modèles d’apprentissage automatique de manière extrêmement modulaire ; vous pouvez les composer, les empiler, les concaténer et les mélanger de nombreuses façons.

Kieran Chandler: Et pourquoi est-ce d’un intérêt primordial pour les chaînes d’approvisionnement ?

Joannes Vermorel: C’est parce que nous voulons mélanger 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 réunis pour résoudre les problèmes de chaîne d’approvisionnement. Vous devez prendre en compte toute cette diversité. Lorsque vous commencez à avoir des modèles que vous pouvez composer de nombreuses façons, vous vous retrouvez avec un langage de programmation, littéralement. La chose intéressante est que les gens ont commencé à construire des outils dans l’apprentissage profond qui étaient de plus en plus proches des langages de programmation réels. Par exemple, Microsoft a publié son outil de réseau computationnel, CNTK, qui avait BrainScript, un langage de programmation spécifique au domaine pour l’apprentissage profond. La prochaine étape était de passer à la programmation complète.

Kieran Chandler: C’est un peu comme une approche de briques Lego, en combinant différents blocs de différents endroits et en combinant ces modèles de différentes manières. Comment cela fonctionne-t-il concrètement ? Comment mettez-vous en œuvre cette programmation derrière tout cela ?

Joannes Vermorel: Les Legos étaient à peu près l’archétype de ce que les gens avaient avec l’apprentissage profond, en effet. Il s’agissait de combiner des blocs, mais de manière assez limitée. Il y a un spectre entre l’apprentissage profond et la programmation différentiable sans une démarcation claire. La différence était que les gens sont passés des Legos, où il s’agissait simplement d’assembler des pièces, à la programmation, où vous pouvez faire la même chose mais avec une expressivité programmatique. Pour les chaînes d’approvisionnement, cela signifie que vous pouvez revoir les problèmes et exprimer votre solution de manière beaucoup plus succincte et centrée sur le problème que vous essayez de résoudre.

Kieran Chandler: Pouvez-vous donner un exemple ?

Joannes Vermorel: Bien sûr, essayons d’optimiser conjointement les prix, les prévisions de la demande et l’allocation des stocks. Quand on y réfléchit, toutes ces choses sont complètement couplées. Je prévois la demande, mais je sais que si je modifie ma stratégie de tarification, je vais modifier la demande. Si je modifie la demande, cela a un impact sur la quantité que je devrais produire et stocker car la demande sera différente. Toutes ces choses sont complètement couplées, et elles ont des dépendances que vous pouvez littéralement écrire.

Kieran Chandler: C’est compliqué d’une certaine manière. Si j’ai plus de demande, j’ai besoin de plus de stocks pour répondre à la demande. C’est assez évident, et si je fixe le prix à un niveau plus élevé, alors pour la demande que je vais conserver, j’aurai une marge plus élevée. Il y a beaucoup de choses qui sont comme des calculs concrets, mais la question est, comment regrouper tous ces ingrédients afin de faire quelque chose qui soit à la fois une prédiction et une optimisation ?

Joannes Vermorel: La réponse est la programmation différentiable avec des techniques spécifiques où vous pouvez écrire ces programmes qui laisseront beaucoup d’espace vide. Ce sera tous les paramètres que vous souhaitez optimiser, et vous aurez un Supply Chain Scientist qui écrira cela et la technologie appropriée pour faire l’optimisation.

Kieran Chandler: Donc, ce que vous dites avec ces espaces vides, c’est que vous écrivez en réalité un programme où vous ne connaissez pas toutes les réponses ?

Joannes Vermorel: Oui, c’est exact.

Kieran Chandler: Comment pouvez-vous le savoir et avoir confiance que vous allez réellement arriver à la bonne réponse s’il y a ces espaces vides ?

Joannes Vermorel: En effet, c’est similaire au phénomène de l’apprentissage automatique. Vous apprenez, donc vous n’avez aucune garantie d’obtenir de bons résultats. Cela étant dit, je ne pense pas que de nos jours cela soit différent de l’apprentissage profond et de toutes les techniques d’apprentissage automatique précédentes. Par exemple, les programmes d’apprentissage automatique ont maintenant surpassé tous les joueurs humains dans des jeux comme Go et les échecs. Donc, ce n’est pas comme si nous n’avions pas de signes clairs que cela fonctionne réellement, même au-delà des capacités humaines pour des problèmes qui sont encore assez spécifiques, contrairement à l’identification de l’endroit où se trouve un chien dans un environnement urbain en désordre, qui est un problème beaucoup plus difficile.

Kieran Chandler: Vous avez mentionné certains points de vue de la supply chain pour la programmation différentiable. D’un point de vue recherche et développement, à quel point ce que nous faisons ici chez Lokad est-il proche de ce que font Facebook et les autres grandes entreprises technologiques en matière de programmation différentiable ?

Joannes Vermorel: Je pense que les grands acteurs technologiques comme Google, Facebook et Microsoft ont un budget beaucoup plus important pour la recherche et le développement. Chez Lokad, nous faisons de notre mieux, mais soyons réalistes, je n’ai même pas 1% du budget IA de Microsoft ou de Facebook. C’est une réalité pour la plupart des entreprises B2B en ce moment. Ces marchés sont encore assez de niche, et il n’y a aucune entreprise dans la supply chain qui dirait que nous avons 2 000 chercheurs en IA. Cependant, la bonne nouvelle est que ces géants comme Google, Amazon et Facebook publient en réalité beaucoup, donc la plupart de leurs recherches sont publiées. Cela signifie que l’un des principaux défis auxquels nous sommes confrontés chez Lokad est de garder un œil attentif sur toutes ces publications et de nous en inspirer régulièrement. Nous réingénions ce qu’ils font, mais avec une mentalité de supply chain, car ces grandes équipes travaillent sur les grands problèmes d’IA tels que la vision par ordinateur, la reconnaissance vocale, la synthèse vocale et le traitement du langage naturel, ce qui n’a rien à voir avec ce que les gens essaient de résoudre dans la supply chain.

Kieran Chandler: Comment pourriez-vous passer de ces grands problèmes d’IA tels que la reconnaissance d’images et la reconnaissance vocale à la supply chain ? Comment peuvent-ils être liés ?

Joannes Vermorel: Les gens ont découvert l’idée clé des progrès réalisés au cours des dernières décennies, qui est le mécanisme fondamental de l’apprentissage et le mécanisme fondamental derrière l’optimisation numérique efficace et évolutive. Ce qui est très intéressant, c’est que la plupart des idées qu’ils découvrent ne sont pas spécifiques aux images. Elles sont plutôt au niveau fondamental.

Kieran Chandler: J’ai entendu parler d’une astuce qui ne fonctionne que pour les images, mais il y a de nombreuses publications où l’astuce ou l’idée découverte n’est en réalité pas du tout spécifique. Il se trouve simplement que pour valider les idées et les expériences, ils doivent concevoir une solution, et cette solution est conçue pour les images. Mais l’astuce pourrait être appliquée à des problèmes complètement différents. Elle ne fonctionnera peut-être pas naturellement avec la même efficacité sur des problèmes complètement différents, mais parfois elle fonctionnera même mieux. Pouvez-vous développer ?

Joannes Vermorel: Oui, vous avez raison. Parfois, une technique est découverte qui est intéressante pour les images mais qui ne révolutionne pas le domaine. Elle est néanmoins publiée, car elle est considérée comme nouvelle et contribue aux progrès scientifiques. Cependant, lorsque vous appliquez cette technique à un contexte différent, comme la supply chain, vous pouvez réaliser des avancées significatives. Donc, cela fonctionne dans les deux sens.

Kieran Chandler: Quel est le principal avantage, du point de vue de Lokad, de la programmation différentiable ? Est-ce l’idée que vous pouvez répondre à toutes ces inconnues qui existent dans une supply chain et à tous ces espaces vides où vous ne savez pas réellement 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 trivial car il ne s’agit pas d’obtenir des réponses génériques ; il s’agit d’avoir une classe très spécifique de décisions qui optimisent l’entreprise de manière très spécifique, en accord avec les objectifs commerciaux que vous définissez. Nous n’essayons pas de faire en sorte que les techniques d’IA découvrent les objectifs commerciaux ; les objectifs commerciaux sont établis avec une intelligence de niveau humain pour définir la stratégie et la perspective. Le problème a beaucoup de structure, et le plus grand défi consiste à s’assurer que les recettes numériques que vous créez sont en accord avec ces objectifs commerciaux. C’est très difficile - généralement, vous vous retrouvez avec un trou rond et un bouchon carré qui ne s’emboîtent tout simplement pas. La programmation différentiable est une façon de résoudre ce problème.

Kieran Chandler: Être beaucoup plus expressif, et c’est la clé pour s’assurer que vous pouvez, vous savez, formuler des recettes numériques qui correspondent réellement au problème commercial que vous avez devant les yeux. Vous savez, si vous avez accès à un langage de programmation, alors vous êtes beaucoup plus, je dirais, expressif et polyvalent. Soudain, il devient, vous savez, en pratique, beaucoup plus facile de faire correspondre les choses. D’accord, commençons à conclure. Vous avez mentionné au début que la programmation différentiable était le début d’un long chemin avec de nombreux défis à venir.

Joannes Vermorel: Oui, où en sommes-nous sur cette voie et quels sont les plus grands défis auxquels nous allons faire face… Le plus grand défi est probablement d’établir une série de, probablement d’identifier, une série de constructions et de blocs de construction, vous savez, des blocs de programmation qui fonctionnent vraiment bien pour la supply chain. Donc, rappelez-vous, la différentiation automatique vous permet de différentier n’importe quel programme, c’est vrai, mais comme vous le souligniez, ce n’est pas parce que vous savez, vous arrêtez ou vous commencez à verser des paramètres dans votre programme et que vous dites : “Eh bien, n’importe quoi fonctionnera parce que je peux optimiser mes paramètres.” Non, la réalité est que ce n’est pas n’importe quel type de programme qui fonctionne. Oui, vous pouvez différentier n’importe quel programme qui a ces paramètres, mais la réalité est que si vous écriviez un programme au hasard avec des paramètres au milieu, lorsque vous déclenchez votre optimisation, vous savez, votre différentiation automatique, les résultats que vous obtiendrez seront completement nuls. Donc non, il faut, nous devons identifier des façons spécifiques de concevoir ces problèmes qui donnent en réalité non seulement des résultats qui sont non seulement bons mais aussi très stables et fiables. Vous voyez, vous préférez, nous voulons avoir des choses que nous pouvons mettre en production, donc être meilleur en moyenne ne suffit pas. Vous voulez avoir quelque chose qui est non seulement meilleur mais aussi très fiable, et donc vous ne générez pas, vous savez, des merveilles ponctuelles, quelque chose qui est comme critique. Vous voulez des résultats très stables, très fiables, qui ne, je dirais, ne échouent pas de manière catastrophique une fois par an. Et cela est encore probablement en partie devant nous.

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

Joannes Vermorel: Merci.

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