00:00:07 Differenzierbare Programmierung als neuer Begriff.
00:01:38 Die Kernidee der gradientenbasierten Optimierung im Deep Learning.
00:03:48 Der Durchbruch der automatischen Differenzierung bei der Berechnung von Gradienten.
00:06:00 Die Ursprünge differentiierbarer Programmierung und ihre Auswirkung auf das maschinelle Lernen.
00:07:43 Die Komplexität scheinbar einfacher Aufgaben und der iterative Fortschritt in der KI.
00:09:33 Der Übergang von neuronalen Netzwerken zu Deep Learning und differentiierbarer Programmierung.
00:11:22 Die Vorteile differentiierbarer Programmierung in der supply chain Optimierung.
00:13:26 Kopplung von Preisgestaltung, Nachfrageprognose und Bestandsallokation im supply chain Management.
00:15:00 Differenzierbare Programmierung im maschinellen Lernen und im Umgang mit Unsicherheiten.
00:16:00 Differenzierbare Programmierung in der supply chain und im Vergleich zu großen Technologieunternehmen.
00:18:19 Anwendung von KI-Techniken aus anderen Bereichen auf supply chain Probleme.
00:20:15 Vorteile differentiierbarer Programmierung für prädiktive Modellierung und Optimierung in supply chains.
00:22:01 Die Herausforderungen für differentiierbare Programmierung im supply chain Management.
00:24:16 Abschließende Gedanken.
Zusammenfassung
Kieran Chandler interviewte Joannes Vermorel, Gründer von Lokad, über differenzierbares Programmieren und dessen Bedeutung in der KI sowie supply chain optimization. Differenzierbare Programmierung entstand aus Durchbrüchen in der Technik der automatischen Differenzierung und hat sich aus neuronalen Netzwerken und Deep Learning entwickelt. Die Modularität differentiierbarer Programmierung ermöglicht eine flexiblere und vielseitigere Zusammenstellung von Modellen, was sie für die supply chain Optimierung nützlich macht. Obwohl es Bedenken hinsichtlich der Zuverlässigkeit gibt, hebt Vermorel die Wirksamkeit von machine learning Techniken hervor. Lokad bleibt trotz eines kleineren Budgets wettbewerbsfähig, indem es Forschungsergebnisse von Technologieriesen für supply chain Anwendungen anpasst. Differenzierbare Programmierung bietet eine ausdrucksstärkere Lösung zur Entwicklung von numerischen Rezepten, die auf Geschäftsprobleme zugeschnitten sind, obwohl es nach wie vor eine Herausforderung ist, konsistente Ergebnisse ohne Ausfälle zu erzielen.
Ausführliche Zusammenfassung
Kieran Chandler, der Moderator des Interviews, besprach das Thema differentiierbare Programmierung mit Joannes Vermorel, dem Gründer von Lokad, einem Softwareunternehmen, das sich auf supply chain Optimierung spezialisiert hat. Vermorel gab Einblicke in die Ursprünge und die Bedeutung differentiierbarer Programmierung als Konzept und ihre Beziehung zu KI und Deep Learning.
Yann LeCun, der Leiter der KI-Forschung bei Facebook, schlug kürzlich vor, dass der Begriff ‚Deep Learning‘ seinen Nutzen als Schlagwort verloren habe, und empfahl stattdessen den Begriff ‚differenzierbare Programmierung‘, um neuere Entwicklungen in der Software widerzuspiegeln. Vermorel bemerkte, dass sich die Terminologie im KI-Bereich ständig weiterentwickelt: Sobald eine Lösung für ein Problem gefunden wird, gilt diese nicht länger als KI und erhält einen neuen Namen – wobei differentiierbare Programmierung das neueste Beispiel ist.
Die Ursprünge differentiierbarer Programmierung lassen sich auf die gradientenbasierte Optimierung zurückführen, ein zentrales Konzept im Deep Learning. Bei der gradientenbasierten Optimierung wird ein Modell mit Millionen von Parametern mithilfe einer Zielfunktion trainiert, die die Güte der Modellresultate bewertet. Mit der Beobachtung neuer Datenpunkte wird der Gradient, also die mehrdimensionale Ableitung, berechnet, um Anpassungen an den Parametern zu steuern und das Modell schrittweise zu verbessern.
Historisch gesehen setzten neuronale Netzwerke, die dem Deep Learning vorausgingen, komplexe Techniken wie die Backpropagation ein, um Gradienten zu berechnen. Diese Techniken waren schwierig zu implementieren und verhielten sich relativ langsam. Vor etwa einem Jahrzehnt gelang ein Durchbruch, als Forscher begannen, die automatische Differenzierung zu verwenden – eine Technik, die erstmals in den 1960er-Jahren entdeckt wurde. Die automatische Differenzierung vereinfacht die Berechnung von Gradienten, wurde jedoch von der wissenschaftlichen Gemeinschaft weitgehend ignoriert, bis ihr Potenzial kürzlich erkannt wurde.
Die Diskussion dreht sich um das Konzept der differentiierbaren Programmierung und deren Entwicklung sowie um deren Anwendungen in der supply chain Optimierung.
Differenzierbare Programmierung entstand infolge von Durchbrüchen in den Techniken der automatischen Differenzierung, die die Berechnung von Gradienten für jedes Programm – und nicht nur für Funktionen – ermöglichten. Dieser Ansatz ermöglichte die Entwicklung komplexerer Rechennetzwerke, die auf ein breiteres Spektrum von Problemen angewendet werden können. Der Begriff “differenzierbare Programmierung” stammt von der Idee, die Ableitung eines Programms zu berechnen.
Die Entwicklung differentiierbarer Programmierung verlief iterativ und baute auf früheren Konzepten aus neuronalen Netzwerken und Deep Learning auf. Fortschritte in diesem Feld wurden in den letzten 50-60 Jahren kontinuierlich erzielt, obwohl anfangs die irrige Annahme herrschte, dass bestimmte Probleme – wie die Identifikation eines Hundes – leichter zu lösen seien als komplexe Berechnungen wie das Ermitteln eines Logarithmus. In Wirklichkeit erwiesen sich scheinbar einfache Probleme wie Objekterkennung und Gleichgewichtserhaltung als anspruchsvoller, während Berechnungen mit moderner Rechenarchitektur relativ einfach wurden.
Der Übergang von neuronalen Netzwerken zu Deep Learning beinhaltete den Verzicht auf biologische Vorbilder, um sich auf das zu konzentrieren, was mit Computerhardware funktionierte. Die nächste Stufe, differentiierbare Programmierung, baute auf der Modularität von Deep Learning auf und ermöglichte die Zusammensetzung, Stapelung, Verkettung und Mischung von Machine Learning Modellen. Diese Modularität war entscheidend für die supply chain Optimierung, die verschiedene Elemente wie Preise, Produkte, Kunden, Standorte und Container umfasst.
Als Menschen begannen, Deep Learning Toolkits zu entwickeln, die Programmiersprachen ähneln, entstand die Idee der differentiierbaren Programmierung als natürliche Erweiterung. Die Techniken der automatischen Differenzierung machten es einfach, die notwendigen Toolkits zu entwerfen und zu entwickeln. In der Praxis beinhaltet differentiierbare Programmierung die Kombination verschiedener Modelle und Bausteine, ähnlich einem Lego-Baustein-Ansatz. Im Vergleich zum Deep Learning ermöglicht differentiierbare Programmierung jedoch eine flexiblere und vielseitigere Modellzusammenstellung.
Vermorel erklärt, dass differentiierbare Programmierung programmgesteckte Ausdruckskraft ermöglicht, sodass Anwender Probleme erneut angehen und ihre Lösungen präziser sowie effizienter formulieren können. Er führt ein Beispiel dafür an, wie differentiierbare Programmierung eingesetzt werden kann, um die Preisgestaltung, die Nachfrageprognose und die stock allocation zu optimieren. Diese Faktoren sind miteinander verknüpft; eine Anpassung der Preisstrategie wirkt sich auf die Nachfrage aus, was wiederum die erforderliche Produktion und die stock levels beeinflusst.
Differenzierbare Programmierung erlaubt es den Anwendern, Programme zu schreiben, die Leerstellen für Parameter enthalten, die optimiert werden sollen. Ein Supply Chain Scientist kann diese Programme schreiben und die entsprechende Technologie für die Optimierung nutzen. Chandler äußert Bedenken hinsichtlich der Zuverlässigkeit der durch differentiierbare Programmierung erzeugten Lösungen, da sie Leerstellen beinhalten und auf Machine Learning basieren. Vermorel räumt die Einschränkungen ein, weist jedoch darauf hin, dass Machine Learning Techniken bereits ihre Wirksamkeit gezeigt haben, wie ihr Erfolg beim Übertreffen menschlicher Spieler in Spielen wie Go und Schach belegt.
Auf die Frage nach den Forschungs- und Entwicklungsanstrengungen im Bereich differentiierbarer Programmierung bei Lokad im Vergleich zu großen Technologiekonzernen wie Facebook gibt Vermorel zu, dass ihr Budget deutlich kleiner ist. Er betont jedoch, dass die Forschung dieser Technologieriesen oft veröffentlicht wird, wodurch kleinere Unternehmen wie Lokad die Möglichkeit haben, die Ergebnisse zu studieren und sich davon inspirieren zu lassen. Die Hauptaufgabe für Lokad besteht darin, stets auf dem neuesten Stand dieser Veröffentlichungen zu bleiben und die Forschungsergebnisse so anzupassen, dass sie zu einem supply chain Mindset passen.
Vermorel weist darauf hin, dass sich große Technologiekonzerne in erster Linie auf große KI-Probleme konzentrieren, wie Computer Vision, Spracherkennung, Sprachsynthese und Natural Language Processing. Diese Bereiche stehen nicht in direktem Zusammenhang mit dem supply chain Management, auf das sich Lokads Expertise bezieht. Indem Lokad die von diesen Technologieriesen veröffentlichte Forschung aufmerksam verfolgt und für supply chain Anwendungen umgestaltet, will das Unternehmen wettbewerbsfähig im Bereich differentiierbarer Programmierung für die supply chain Optimierung bleiben.
Vermorel betont, dass viele der Erkenntnisse aus der KI-Forschung nicht spezifisch für Bilder oder Sprache sind, sondern grundlegend für das Lernen aus Daten. Diese Erkenntnisse können auf unterschiedliche Probleme angewendet werden, einschließlich des supply chain Managements, wo sie möglicherweise sogar besser funktionieren.
Der Hauptvorteil differentieller Programmierung im supply chain Management, so Vermorel, liegt in ihrer Fähigkeit, mit Unbekannten und prädiktiver Modellierung umzugehen, ohne das Geschäft zu gefährden. Die Herausforderung besteht darin, numerische Lösungen mit spezifischen Geschäftsparametern in Einklang zu bringen und dabei dennoch vielseitig sowie ausdrucksstark zu bleiben. Differenzierbare Programmierung bietet eine ausdrucksstärkere Lösung, die es erleichtert, numerische Rezepte zu entwickeln, die zum Geschäftsproblem passen.
Vermorel stellt fest, dass eine der größten Herausforderungen bei der Anwendung differentiierbarer Programmierung im supply chain Management darin besteht, eine Reihe von Konstrukten und Programmbausteinen zu etablieren, die gut zur Branche passen. Obwohl die automatische Differenzierung jedes Programm ableiten kann, ist es entscheidend, spezifische Methoden zu finden, um Probleme so zu formulieren, dass nicht nur gute, sondern auch gleichbleibend verlässliche Ergebnisse für den Produktionseinsatz erzielt werden. Das Ziel ist es, konsistente Ergebnisse ohne katastrophale Ausfälle zu erreichen, was nach wie vor eine Herausforderung darstellt.
Vollständiges Transkript
Kieran Chandler: Heute werden wir unsere Mini-Serie fortsetzen, indem wir ihre Ursprünge betrachten. Also, Joannes, differentiierbare Programmierung ist mal wieder ein weiteres Schlagwort in der Technologiewelt. Brauchen wir wirklich noch eins?
Joannes Vermorel: Ich denke schon. Es ist sehr interessant, denn sobald eine Lösung für Probleme gefunden wird, gilt sie plötzlich nicht mehr als KI. Sie erhält einen anderen Namen. KI ist der Sammelbegriff dafür, dass es sich um unerforschtes Terrain handelt; wir wissen nicht, wie man diese Problembereiche löst. Sobald wir eine Lösung haben, bekommt diese einen Namen, und in der Regel war dem eine Reihe relativ iterativer Durchbrüche mit vielen Zwischenschritten zugrunde. Dann trägt sie einen Namen, der widerspiegelt, was als Teil des numerischen Rezepts in dieser Lösung dominiert.
Kieran Chandler: Okay, und dann kommen wir zur differentiierbaren Programmierung. Was steckt hinter diesem Begriff? Woher kommt der Name und wie sind wir dazu gekommen?
Joannes Vermorel: Der Name stammt von einem der Elemente, die das Deep Learning antreiben, nämlich der Idee der gradientenbasierten Optimierung. Was bedeutet das? Gradientbasierte Optimierung bedeutet, dass man ein Modell mit potenziell Millionen von Parametern hat. Die Art und Weise, wie diese Parameter trainiert werden, erfolgt über eine Zielfunktion, eine Gleichung, die angibt, ob die Ergebnisse gut oder schlecht sind. Die Idee ist, dass, sobald man einen Datenpunkt betrachtet, die Informationen durch diese Funktion zurückfließen und man den Gradient berechnen kann. Der Gradient gibt an, dass wenn man die Parameter nur ein wenig in diese Richtung anpasst, sich die Zielfunktion lokal ein Stück verbessert. Das ist die grundlegende Idee des stochastischen Gradientenabstiegs, dem Algorithmus, der zur Optimierung moderner Machine Learning Algorithmen und des gesamten Deep Learning genutzt wird.
Also, wir haben diesen gradientenbasierten Ansatz mit vielen Parametern, und die Idee ist, die Parameter bei jedem neuen Datenpunkt ein wenig anzupassen, um sich nach und nach zu verbessern. Das Problem besteht dann darin, wie man diesen Gradient berechnet. Übrigens ist der Gradient nur ein Begriff für mehrdimensionale Ableitungen. Wenn man Algebra auf Gymnasialniveau hat, betrachtet man die Ableitung, also die Steigung einer Kurve in einer Dimension. Bei vielen Dimensionen spricht man von einem Gradient, denn man möchte die Steigung für jeden einzelnen dieser Parameter berechnen.
Es stellt sich heraus, dass neuronale Netzwerke, die vermutlich vor dem Deep Learning existierten, historisch gesehen allerlei sehr komplizierte Techniken wie die Rückpropagation der Gradienten verwendeten. In Bezug auf die Implementierungskomplexität und Leistung war dies sehr aufwändig und ziemlich langsam. Nicht dass es langsam war, aber langsamer als das, was wir heute haben. Einer der Durchbrüche, der differentiierbare Programmierung ermöglichte, war, dass die Menschen vor etwa zehn Jahren erkannten, dass sie eine Technik namens automatische Differenzierung nutzen konnten, die übrigens 50 Jahre alt ist. Sie wurde erstmals Mitte der 60er Jahre entdeckt, also ist sie schon eine Weile bekannt. Dennoch blieb sie von der wissenschaftlichen Gemeinschaft weitgehend unbeachtet. Sie wurde mehrfach wiederentdeckt, doch diese Entdeckungen fanden irgendwie nicht die erwartete breite Aufmerksamkeit.
Nicht, dass die Leute, an denen wir arbeiteten, dieselben waren, sondern sie kamen aus völlig unterschiedlichen Bereichen, und so blieben diese Durchbrüche, würde ich sagen, weitgehend ignoriert. Und so hatten wir die Machine Learning Community, die irgendwie an den Backpropagation-Techniken festhing, die sehr kompliziert und mühselig zu implementieren waren, bis plötzlich die Leute erkannten, dass man mit diesen Techniken der automatischen Differenzierung den Gradienten für buchstäblich jedes Programm, nicht nur für irgendeine Funktion, berechnen konnte. Und das war etwas, das in Bezug auf die Implementierung völlig bahnbrechend war. Plötzlich konnte man ein Rechennetzwerk entwickeln, das beliebig komplex ist, nicht nur durch das Stapeln weiterer Schichten, sondern indem man ein beliebiges vollständiges Programm hat und dann genau diese Gradientenabstiegstechniken anwendet. Und genau daher kommt der Begriff des differenzierbaren Programmierens, er stammt von der Idee, dass man ein Programm ableiten – also die Ableitung eines Programms berechnen – wird. Daraus stammt der Name, und es spiegelt ein wenig den Ehrgeiz der neuesten Fortschritte im Machine Learning wider, superkomplexe Architekturen für Rechennetzwerke zu entwickeln, die wie beliebige Programme sein können, sowie den Begriff des differenzierbaren Programmierens.
Kieran Chandler: Okay, viel auf einmal. Also versuchen wir, es ein wenig auseinanderzunehmen. Du hast gesagt, einige dieser Ideen tauchten in den 50er und 60er Jahren auf. Es ist nicht wirklich wie die rasante Entwicklung, die wir in der KI und ähnlichem sehen. Also gibt es tatsächlich einen ziemlich iterativen Ansatz, um zum differenzierbaren Programmieren zu gelangen?
Joannes Vermorel: Absolut, aber die Realität ist, dass selbst Deep Learning davor sehr iterativ war und auch neuronale Netze davor äußerst iterativ waren. Ich meine, das Tempo des Fortschritts war in den letzten 50–60 Jahren tatsächlich ziemlich rasant. Es war unglaublich schnell. Und was faszinierend ist: In den frühen 60er Jahren dachten die Menschen: “Oh, wenn wir Multiplikation, Exponentiation oder all diese schwierigen Berechnungen knacken können, wird es super einfach sein, einen Hund zu identifizieren. Schließlich kann jeder Mensch auf der Straße sagen, dass dies ein Hund ist, aber es erfordert einen super ausgebildeten Mathematiker, um den Logarithmus zu berechnen. Also ist es offensichtlich, dass das Berechnen eines Logarithmus viel komplizierter ist, als zu erkennen, ob man einen Hund vor sich hat.”
Und die größte Überraschung ergab sich aus der Tatsache, dass es tatsächlich umgekehrt ist. Diese Probleme, die wir als selbstverständlich hinnehmen, wie zum Beispiel das Gleichgewicht zu halten, während man auf zwei Beinen steht, sind schwierig. Ich meine, wenn man einfach aufhört, sich zu bewegen, fällt man hin. Es ist also vollkommen dynamisch. Es geht nicht einfach darum, aufrecht zu stehen – einen zweibeinigen Roboter zu haben, ist wie ein Ingenieur-Albtraum. Es ist viel einfacher, Dinge zu haben, die einfach mit Rädern funktionieren und von Natur aus vollkommen stabil sind.
Dieart supersimpel erscheinende Probleme, wie aufrecht zu stehen, zu erkennen, ob das, was vor dir liegt, ein Hund oder ein Huhn ist oder etwas völlig anderes – wie nur ein Poster mit einem Bild eines Hundes anstelle eines echten Hundes – sind sehr schwierig, während Probleme wie das Berechnen von Logarithmen mit unserer vorhandenen Rechenarchitektur tatsächlich super einfach sind. Es war also eine große Überraschung, und es dauerte buchstäblich mehrere Jahrzehnte, bis wir erkannten, dass wir erst noch entdecken mussten, wie man super fundamentale Probleme überhaupt angreift. Deshalb, wenn wir seit Jahrzehnten über KI sprechen, war der Fortschritt sehr real und konstant, aber es gab so viel zu entdecken, dass es, vielleicht von außen betrachtet, etwas schleppend erschien, einfach weil von Anfang an falsche Erwartungen gesetzt wurden. Aber es kommt, und es macht buchstäblich immer noch viel Fortschritt, und wir haben jetzt erkannt, dass wir wahrscheinlich
Kieran Chandler: Und wie steht es um das differenzierbare Programmieren? Was war die Inspiration dahinter?
Joannes Vermorel: Der entscheidende, sehr interessante Einblick war der Übergang von neuronalen Netzen zum Deep Learning. Die Idee war, die gesamte biologische Inspiration komplett aufzugeben und zu erkennen, dass, wenn wir vorankommen wollen, wir diese biologische Inspiration verwerfen müssen, um uns auf das zu konzentrieren, was tatsächlich mit Computerhardware funktioniert. Einer der Schlüsselerkenntnisse, die das Deep Learning vorantrieben, war seine Modularität. Man kann Machine Learning-Modelle auf eine Weise aufbauen, die extrem modular ist; man kann sie zusammensetzen, stapeln, verkettet anordnen und auf vielfältige Weise mischen.
Kieran Chandler: Und warum ist das von primärem Interesse für supply chains?
Joannes Vermorel: Es liegt daran, dass wir Dinge wie Preise, Produkte, Kunden, Standorte, Container und allerlei sehr unterschiedliche Objekte kombinieren wollen, die zusammengefügt werden müssen, um supply chain-Probleme zu lösen. Man muss all diese Vielfalt berücksichtigen. Wenn man Modelle hat, die man auf viele Arten zusammensetzen kann, entsteht – buchstäblich – eine Programmiersprache. Das Interessante ist, dass die Leute begonnen haben, Toolkits im Deep Learning zu entwickeln, die immer näher an tatsächliche Programmiersprachen heranrückten. Zum Beispiel veröffentlichte Microsoft ihr Computational Network Toolkit, CNTK, das BrainScript enthielt, eine domänenspezifische Programmiersprache für Deep Learning. Der nächste Schritt war, voll auf Programmierung zu setzen.
Kieran Chandler: Also ist es irgendwie wie ein Lego-Baustein-Ansatz, bei dem verschiedene Blöcke aus unterschiedlichen Bereichen kombiniert und diese Modelle auf unterschiedliche Weise zusammengesetzt werden. Wie funktioniert das eigentlich in der Praxis? Wie implementiert ihr diesen dahinterstehenden Code?
Joannes Vermorel: Legos waren gewissermaßen der Inbegriff dessen, was die Leute im Deep Learning hatten, in der Tat. Es ging darum, Blöcke zu kombinieren, wenn auch auf ziemlich eingeschränkte Weise. Es gibt ein Spektrum zwischen Deep Learning und differenzierbarem Programmieren, ohne eine klare Abgrenzung. Der Unterschied bestand darin, dass die Leute von Legos – bei denen es nur darum ging, Teile zusammenzusetzen – zur Programmierung übergingen, wo man dasselbe tun kann, aber mit programmatischer Ausdruckskraft. Für supply chains bedeutet das, dass man Probleme neu angehen und seine Lösung auf eine Weise ausdrücken kann, die viel prägnanter und zielgerichteter das Problem adressiert, das man zu lösen versucht.
Kieran Chandler: Kannst du ein Beispiel geben?
Joannes Vermorel: Sicher, versuchen wir, Preisgestaltung, Nachfrageprognose und Lagerbestandsverteilung gemeinsam zu optimieren. Wenn man darüber nachdenkt, sind all diese Dinge vollständig miteinander gekoppelt. Ich prognostiziere die Nachfrage, aber ich weiß, dass, wenn ich meine Preispolitik anpasse, sich die Nachfrage ändern wird. Wenn ich die Nachfrage verändere, wirkt sich das darauf aus, wie viel ich produzieren und lagern sollte, weil die Nachfrage anders sein wird. All diese Dinge sind vollständig miteinander verknüpft, und sie haben Abhängigkeiten, die man buchstäblich niederschreiben kann.
Kieran Chandler: Es ist in gewisser Weise kompliziert. Wenn ich mehr Nachfrage habe, brauche ich mehr Lagerbestand, um diese Nachfrage zu befriedigen. Das ist ziemlich offensichtlich, und wenn ich den Preis höher setze, werde ich bei der verbleibenden Nachfrage eine höhere Marge erzielen. Es gibt viele Dinge, die total bodenständige Berechnungen sind, aber die Frage ist: Wie setzt man all diese Zutaten zusammen, um etwas zu erreichen, das sowohl eine Vorhersage als auch eine Optimierung darstellt?
Joannes Vermorel: Die Antwort ist differenzierbares Programmieren mit spezifischen Techniken, bei denen du Programme schreiben kannst, die viel Freiraum lassen – das heißt, all die Parameter, die du optimieren möchtest. Und du wirst einen Supply Chain Scientist haben, der das schreibt, sowie die passende Technologie, um die Optimierung durchzuführen.
Kieran Chandler: Also sagst du mit diesen Freiräumen, dass du tatsächlich ein Programm schreibst, bei dem du nicht alle Antworten kennst?
Joannes Vermorel: Ja, das ist korrekt.
Kieran Chandler: Wie kannst du wissen, dass du tatsächlich die richtige Antwort erreichst, und Vertrauen haben, wenn es diese Freiräume gibt?
Joannes Vermorel: In der Tat, es ist ähnlich wie bei den Phänomenen im Machine Learning. Du lernst, also gibt es keine Garantie, dass du gute Ergebnisse erzielst. Das heißt, ich glaube nicht, dass es heutzutage etwas anderes ist als beim Deep Learning und all den bisherigen Machine Learning-Techniken. Zum Beispiel haben Machine Learning-Programme mittlerweile alle menschlichen Spieler in Spielen wie Go und Schach besiegt. Es ist also nicht so, als hätten wir keine klaren Anzeichen dafür, dass es tatsächlich funktioniert – selbst über die menschliche Leistungsfähigkeit hinaus bei Problemen, die noch recht eng gefasst sind, im Gegensatz dazu, einen Hund in einer chaotischen städtischen Umgebung zu identifizieren, was ein viel schwierigeres Problem darstellt.
Kieran Chandler: Du hast einige der supply chain-Perspektiven für differenzierbares Programmieren erwähnt. Aus Sicht von Forschung und Entwicklung – wie nah ist das, was wir hier bei Lokad machen, im Vergleich zu dem, was Facebook und andere große Tech-Unternehmen im Bereich des differenzierbaren Programmierens tun?
Joannes Vermorel: Ich glaube, dass die riesigen Tech-Unternehmen wie Google, Facebook und Microsoft ein viel größeres Budget für Forschung und Entwicklung haben. Bei Lokad geben wir unser Bestes, aber seien wir realistisch: Ich habe nicht einmal 1 % des KI-Budgets von Microsoft oder Facebook. Das ist eine Tatsache für die meisten B2B-Unternehmen derzeit. Diese Märkte sind immer noch recht nischenspezifisch, und es gibt kein Unternehmen in der supply chain, das behaupten würde, wir hätten 2.000 KI-Forscher. Die gute Nachricht ist jedoch, dass diese Giganten wie Google, Amazon und Facebook tatsächlich viel publizieren, sodass der Großteil ihrer Forschung veröffentlicht wird. Das bedeutet, dass eine der zentralen Herausforderungen, denen wir uns bei Lokad stellen müssen, darin besteht, all diese Veröffentlichungen genau zu beobachten und uns stetig von ihnen inspirieren zu lassen. Wir rekonstruieren, was sie tun, jedoch aus einer supply chain-Perspektive, da diese großen Teams an den großen KI-Problemen wie Computer Vision, Spracherkennung, Sprachsynthese und natürlicher Sprachverarbeitung arbeiten – und das ist überhaupt nicht das, was in der supply chain gelöst werden soll.
Kieran Chandler: Wie konnte man also von diesen großen KI-Problemen wie Bilderkennung und Spracherkennung zur supply chain übergehen? Wie können sie überhaupt miteinander in Beziehung stehen?
Joannes Vermorel: Die Leute haben in den letzten Jahrzehnten den entscheidenden, grundlegenden Mechanismus des Lernens und den Kernmechanismus hinter effizienter, skalierbarer numerischer Optimierung entdeckt. Sehr interessant ist, dass die meisten Erkenntnisse, die sie gewinnen, nicht spezifisch für Bilder sind. Sie liegen mehr auf der fundamentalen Ebene von Kieran Chandler: Also, ich habe von einem Trick gehört, der nur für Bilder funktioniert, aber es gibt viele Veröffentlichungen, in denen der Trick oder der gewonnene Einblick tatsächlich überhaupt nicht spezifisch ist. Es kommt einfach vor, dass zur Validierung der Erkenntnisse und Experimente eine Lösung konstruiert werden muss – und diese Lösung ist für Bilder ausgelegt. Aber der Trick könnte auf völlig andere Probleme angewendet werden. Vielleicht funktioniert er bei völlig anderen Problemen nicht von Natur aus mit der gleichen Effizienz, aber manchmal funktioniert er sogar besser. Kannst du das näher erläutern?
Joannes Vermorel: Ja, du hast recht. Manchmal wird eine Technik entdeckt, die zwar schön für Bilder ist, aber kein echter Game-Changer. Sie wird dennoch veröffentlicht, da sie als neuartig gilt und zum wissenschaftlichen Fortschritt beiträgt. Wenn man diese Technik jedoch in einem anderen Kontext anwendet, etwa in einer supply chain, kann man erhebliche Fortschritte erzielen. Es funktioniert also in beide Richtungen.
Kieran Chandler: Was ist aus der Perspektive von Lokad der Hauptvorteil des differenzierbaren Programmierens? Ist es die Idee, dass du all diese Unbekannten in einer supply chain und all diese Freiräume beantworten kannst, in denen du eigentlich nicht weißt, was in der Zukunft passieren wird?
Joannes Vermorel: Die große Herausforderung, der wir in der supply chain gegenüberstehen, besteht darin, prädiktives Modellieren und prädiktive Optimierung zu betreiben, ohne das Geschäft zu verraten. Es ist alles andere als trivial, denn es geht nicht darum, generische Antworten zu liefern; es geht darum, eine sehr spezifische Klasse von Entscheidungen zu treffen, die das Geschäft auf hochspezifische Weise optimieren und mit den von dir definierten Geschäftstreibern übereinstimmen. Wir versuchen nicht, dass KI-Techniken die Geschäftsziele aufdecken – diese werden mit menschlicher Intelligenz festgelegt, um die Strategie und Perspektive zu definieren. Das Problem besitzt viel Struktur, und die größte Herausforderung besteht darin, sicherzustellen, dass die numerischen Rezepte, die du entwickelst, mit diesen Geschäftstreibern übereinstimmen. Es ist sehr schwierig – normalerweise endet man mit einem runden Loch und einem eckigen Stift, die einfach nicht passen. Differenzierbares Programmieren ist eine Möglichkeit, dieses Problem anzugehen.
Kieran Chandler: Damit kann man viel ausdrucksstärker sein, und das ist der Schlüssel, um sicherzustellen, dass man numerische Rezepte formulieren kann, die tatsächlich zum Geschäftsproblem passen, das man vor sich hat. Wenn man Zugang zu einer Programmiersprache hat, ist man, würde ich sagen, so viel ausdrucksstärker und vielseitiger. Plötzlich wird es in der Praxis viel einfacher, Dinge passend zu machen. Okay, fassen wir zum Schluss zusammen. Du hast zu Beginn erwähnt, dass differenzierbares Programmieren sehr der Anfang eines langen Weges mit zahlreichen Herausforderungen war.
Joannes Vermorel: Ja, wo wir auf diesem Weg stehen und was die größten Herausforderungen sind, denen wir uns stellen werden… Die größte Herausforderung wird wahrscheinlich darin bestehen, eine Reihe von – vermutlich Konstrukten und Bausteinen – also Programmierbausteinen zu etablieren, die wirklich gut für supply chains funktionieren. Erinnern Sie sich: Die automatische Differenzierung ermöglicht es, jedes Programm zu differenzieren – das stimmt –, aber wie du schon angemerkt hast, liegt es nicht daran, dass du einfach Parameter in dein Programm einfügst und sagst: “Nun, alles wird funktionieren, weil ich meine Parameter optimieren kann.” Nein, die Realität ist, dass nicht irgendein Programm funktioniert. Ja, du kannst jedes Programm differenzieren, das diese Parameter enthält, aber die Realität ist, dass wenn du zufällig ein Programm mit Parametern in der Mitte schreibst und dann deine Optimierung – also die automatische Differenzierung – auslöst, die Ergebnisse absoluter Müll sein werden. Daher müssen wir spezifische Wege finden, diese Probleme so zu gestalten, dass sie nicht nur gute, sondern auch sehr konstante und verlässliche Ergebnisse liefern. Man möchte schließlich Dinge haben, die in die Produktion überführt werden können – im Durchschnitt besser zu sein, reicht nicht aus. Man will etwas, das nicht nur besser, sondern auch äußerst zuverlässig ist, sodass man nicht einmal einmalige Wunder erzielt, sondern konstant gute Resultate, die, würde ich sagen, nicht einmal einmal im Jahr katastrophal versagen. Und das liegt wahrscheinlich noch teilweise vor uns.
Kieran Chandler: Hervorragend. Also, damit beenden wir es heute. Danke für deine Zeit, Joannes.
Joannes Vermorel: Danke.
Kieran Chandler: Vielen Dank, dass ihr eingeschaltet habt. Wir sind nächste Woche wieder da mit unserem letzten Beitrag in dieser Mini-Serie über differenzierbares Programmieren. Bis dahin, danke fürs Zuschauen.