Ende 2022 veröffentlichte ein Team bei Amazon eine forschungsbezogene Arbeit zum Thema “Deep Inventory Management”1. Dieses Papier präsentiert eine Bestandsoptimierungstechnik (im Folgenden als DIM bezeichnet), die sowohl verstärkendes Lernen als auch Deep Learning umfasst. Das Papier behauptet, dass die Technik erfolgreich bei über 10.000 SKUs in realen Umgebungen eingesetzt wurde. Dieses Papier ist aus mehreren Gründen interessant und ähnelt in gewisser Weise dem, was Lokad seit 2018 tut. Im Folgenden diskutiere ich die Vor- und Nachteile der DIM-Technik aus der spezifischen Sichtweise von Lokad, da wir in den letzten Jahren ähnliche Ansätze erkundet haben.

Die Zielsetzung und Einschränkungen (S. 27, Anhang A) aus Deep Inventory Management, Nov. 2022

Die Zielsetzung und Einschränkungen (S. 27, Anhang A) aus "Deep Inventory Management", Nov. 2022

Meine erste Beobachtung ist, dass dieses Papier wahr ist und ich daher geneigt bin, seine Ergebnisse zu unterstützen. Das Gesamtkonzept stimmt weitgehend mit meinen eigenen Experimenten und Beobachtungen überein. Tatsächlich sind die meisten über Supply Chain veröffentlichten Papiere aus irgendeinem Grund einfach unseriös. Supply Chains stehen vor einem erheblichen Fall von epistemischer Korruption,2 und bei jeder vermeintlich “besseren” Herangehensweise an ein Supply Chain Problem sollte man grundsätzlich skeptisch sein.

Der bemerkenswerteste Beitrag der DIM-Technik besteht darin, die Prognosephase vollständig zu umgehen und direkt zur Bestandsoptimierung überzugehen. Der klassische Ansatz zur Bestandsoptimierung besteht darin, das Problem in zwei Phasen aufzuteilen. Zuerst wird die Nachfrage prognostiziert, dann wird die Bestandsentscheidung optimiert. Lokad folgt immer noch diesem gestuften Prozess (aus guten Gründen, siehe die action reward 3). DIM hingegen vereint die beiden Phasen durch einen Ansatz, der als differentiable simulators bezeichnet wird.

Die Vereinigung der “Lern-” und “Optimierungs-” Phasen ist ein vielversprechender Weg, nicht nur für die Supply Chain, sondern für die Informatik im Allgemeinen. In den letzten zwei Jahrzehnten hat es eine allmähliche Konvergenz zwischen Lernen und Optimierung aus algorithmischer Sicht gegeben. Tatsächlich basiert die primäre Lern-Technik, die von Lokad verwendet wird, auf einem Optimierungs-Algorithmus. Umgekehrt dreht sich ein kürzlich (unveröffentlicht) von Lokad erzielter Durchbruch in der stochastischen Optimierung um einen Lern-Algorithmus.

Ich sehe eine Zukunft, in der eigenständige Prognosen wie eine veraltete Praxis behandelt werden, die vollständig von neuen Techniken abgelöst wurde, die die Perspektiven von “Lernen” und “Optimierung” vollständig verschmelzen. Lokad ist bereits seit einiger Zeit auf diesem Weg. Tatsächlich gilt seit unserer Umstellung auf probabilistische Prognosen im Jahr 2015 die Ausfuhr der Rohprognosen aus Lokad als unpraktisch, wodurch der Prozess aus Sicht des Kunden größtenteils auf einen einzigen Schritt reduziert wird. Der zweistufige Prozess existiert jedoch immer noch innerhalb von Lokad, da es noch einige tiefe, ungelöste Probleme gibt, um eine Vereinheitlichung zu ermöglichen.

Nun wollen wir meine Ansichten über die Mängel der DIM-Technik diskutieren.

Meine erste Kritik ist, dass die Verwendung von Deep Learning durch DIM enttäuschend ist.

Aus dem Abschnitt Featurization (Anhang B) geht klar hervor, dass das “tiefe” Modell in erster Linie lernt, die zukünftige Leitnachfrage vorherzusagen - das heißt, die sich über die variable Durchlaufzeit integrierte variable Nachfrage.

Die (implizit probabilistische) Schätzung der Leitnachfrage ist kein “schwieriges” Problem, das Deep Learning erfordert, zumindest nicht in den in diesem Amazon-Team vorgestellten Einstellungen. Tatsächlich wette ich, dass die gesamte empirische Verbesserung die Folge einer besseren Bewertung der Leitnachfrage ist. Darüber hinaus wette ich auch, dass eine vergleichbare, wenn nicht sogar bessere Bewertung der Leitnachfrage mit einem grundlegenden parametrischen probabilistischen Modell erreicht werden kann, wie es im M5-Wettbewerb4 getan wurde. Dadurch würde Deep Learning vollständig aus dem Bild entfernt und es bliebe nur der “flache” Teil der Lösung, das differenzierbare Programmieren.

Wenn wir die Schätzung der Leitnachfrage beiseite lassen, hat DIM wenig zu bieten. Tatsächlich werden in den in dem Artikel vorgestellten Supply-Chain-Einstellungen alle SKUs quasi isoliert mit übermäßig milden unternehmensweiten Einschränkungen verarbeitet - nämlich Obergrenzen für das Gesamtvolumen, das Gesamtkapital und die Gesamtstückzahl. Die Bewältigung dieser Obergrenzen kann recht einfach erfolgen, indem die Einheiten, die nachbestellt werden sollen5, nach ihrem abnehmenden Dollar-zu-Dollar-Rücklauf sortiert werden - oder möglicherweise nach ihrem Dollar-zu-Stück-Rücklauf, wenn die Kapazität des chaotischen Lagers, das von Amazon verwendet wird, der wahre Engpass ist.

Was die Einschränkungen betrifft, sind unternehmensweite Obergrenzen triviale Einschränkungen, die keine anspruchsvollen Techniken erfordern, um damit umzugehen. Deep Learning würde wirklich glänzen, wenn die Autoren in der Lage wären, knifflige Einschränkungen anzugehen, die in Supply Chains häufig vorkommen. Zum Beispiel Mindestbestellmengen (MOQs), die auf Lieferantenebene definiert sind, volle LKW-Ladungen, Lieferantenpreisstaffeln, verderbliche Produkte usw., sind Anliegen, die nicht mit naiven Techniken wie der Priorisierung, die ich oben erwähnt habe, angegangen werden können. Für solche kniffligen Einschränkungen würde Deep Learning wirklich als vielseitiger stochastischer Optimierer glänzen - vorausgesetzt, dass es jemandem gelingt, dies zu tun. Allerdings umgeht DIM solche Anliegen vollständig und es ist völlig unklar, ob DIM auf solche Probleme erweitert werden könnte. Meiner Meinung nach kann es das nicht.

Den Autoren sei zu Gute gehalten, dass kreuzproduktbezogene Einschränkungen in der allerletzten Zeile ihres Fazits als spannende Forschungsrichtung erwähnt werden. Obwohl ich dem Gefühl zustimme, ist es eine Untertreibung. Die Nichtunterstützung dieser allgegenwärtigen Supply-Chain-Einschränkungen ist ein sofortiger Showstopper. Supply-Chain-Praktiker würden innerhalb weniger als eines Monats zu ihren Tabellenkalkulationen zurückkehren. Annähernd korrekt ist besser als genau falsch.

Darüber hinaus haben wir eine ganze Büchse der Pandora mit den reellwertigen Aktionen, d.h. fraktionalen Bestellmengen, wie sie von DIM erzeugt werden - siehe Gleichung (1) und Annahme 1 (Seite 12). In der Supply Chain kann man keine 0,123 Einheiten nachbestellen, es ist entweder 0 oder 1. Dennoch umgehen die Autoren das ganze Problem. Die DIM-Technik gibt fraktionale Mengen aus und erfordert, dass die Belohnungsfunktion “gut verhalten” ist. In der Praxis ist klar, dass dieser Ansatz nicht gut funktionieren wird, wenn die Belohnungsfunktion nicht streng monoton in Bezug auf die bestellte Menge ist.

Somit bleiben uns ein weniger wünschenswertes Merkmal (fraktionale Bestellungen) und eine weniger wünschenswerte Anforderung (Monotonie der Belohnungsfunktion), wobei die Kombination der beiden den Eckpfeiler des vorgeschlagenen differenzierbaren Simulators bildet. Die Supply Chain wird jedoch vom Gesetz der kleinen Zahlen beherrscht6. Moderne Bestandsprobleme werden von ihren diskreten Merkmalen dominiert. Zumindest hätte dieser Aspekt von den Autoren als schwerwiegende Einschränkung von DIM herausgestellt werden sollen - etwas, dem in weiteren Forschungen nachgegangen werden sollte.

Das Mischen von Gradienten und diskreten Richtlinien ist ein grundlegendes Problem für stochastische Optimierung, nicht nur für die vorgeschlagenen differenzierbaren Simulatoren. Tatsächlich arbeitet der stochastische Gradientenabstieg (SGD) mit reellwertigen Parametern und es ist nicht offensichtlich, wie Richtlinien optimiert werden können, die grundsätzlich diskrete Entscheidungen steuern.

Das Arbeiten mit grundlegend diskreten Räumen durch gradientengetriebene Prozesse ist sicherlich möglich, wie von LLMs (großen Sprachmodellen) brillant demonstriert wurde, erfordert jedoch eine ganze Reihe von Tricks. Bis die entsprechenden Tricks für die Klasse von Situationen, mit denen Supply Chains konfrontiert sind, entdeckt werden, sind differenzierbare Simulatoren eine vielversprechende Idee, aber keine produktionsreife Option.

Meine zweite Kritik ist, dass es viele Randfälle gibt, die von den DIM-Autoren nicht einmal erwähnt werden.

Insbesondere bleiben die Autoren äußerst vage darüber, wie sie ihre 10.000 SKUs ausgewählt (…ausgesucht) haben. Tatsächlich habe ich bei meinen Experimenten bei Lokad in den Jahren 2018 und 2019 ähnliche Featurisierungsstrategien (Anhang B) für Deep-Learning-Modelle verwendet.

Aus diesen Experimenten schlage ich vor:

  • Neue und aktuelle Produkte funktionieren nicht gut, da die Skalierung, die durch die Gleichungen (13), (30) und (31) angedeutet wird, sich unvorhersehbar verhält, wenn die historischen Daten zu dünn sind.
  • Langsamere Produkte stoßen auf unangemessene Korrekturen ihrer vergangenen Bestandsausfälle, da die Technik davon ausgeht, dass eine “vernünftige” korrigierte Nachfrage existiert (was bei langsamen Produkten nicht der Fall ist).
  • Unterbrochene Produkte (nicht veröffentlicht oder lange Zeit nicht verfügbar, z.B. 2+ Monate) stoßen ebenfalls auf die vermeintlich korrigierte Nachfrage.
  • Konkurrenz-SKUs, bei denen Kunden aggressiv den niedrigsten Preis wählen, werden unterbewertet, da das Modell den drastischen Einfluss nicht widerspiegeln kann, wenn SKUs (preislich) einen Konkurrenten überholen.

Diese Randfälle sind tatsächlich der Großteil der Herausforderung in der Supply Chain. In einem wissenschaftlichen Artikel ist es verlockend, SKUs auszuwählen, die sich gut verhalten: nicht zu neu, nicht zu langsam, nicht zu unberechenbar, nicht unterbrochen, usw. Doch wenn wir auf ausgeklügelte Techniken zurückgreifen müssen, ist es etwas sinnlos, sich auf die einfachen SKUs zu konzentrieren. Während auf diesen SKUs wirtschaftliche Verbesserungen erzielt werden können, ist der absolute Gewinn gering (bestenfalls bescheiden) - genau weil diese SKUs sowieso gut funktionieren. Die meisten Ineffizienzen in der Supply Chain liegen an den Extremen, nicht in der Mitte.

Die frontale Auseinandersetzung mit diesen schlecht funktionierenden SKUs ist genau das, wo man von Deep Learning Hilfe erwarten würde. Leider macht DIM das Gegenteil und konzentriert sich auf die gut funktionierenden SKUs, die mit weitaus weniger ausgefeilten Techniken mit wenig oder keinen Nachteilen angegangen werden können.

Meine dritte Kritik ist, dass DIM eine etwas verworrene technische Einrichtung hat.

Dies ist wahrscheinlich eines der am wenigsten geschätzten Probleme in der Data Science-Community. Komplexität ist der Feind von Zuverlässigkeit und Effizienz. Während Deep Learning fantastisch ist, können sich nur wenige Unternehmen die Ingenieure leisten, die für den Betrieb einer Einrichtung wie DIM erforderlich sind. Hier ist es nicht wie bei ChatGPT, wo alle technischen Spielereien auf die gesamte Kundenbasis des Softwareanbieters verteilt sind. Hier muss jedes Kundenunternehmen die vollen Betriebskosten für ihre eigene Instanz der Lösung tragen, angesichts der Menge an spezifischen Anforderungen, die in DIM einfließen.

Auf der Hardwareseite haben wir eine EC2 p3.16xlarge7-Virtual Machine, die derzeit bei AWS mit 17.000 USD pro Monat zu Buche schlägt. Für 10.000 SKUs ist das… happig.

Lokad hat viele Kunden, die einzeln Millionen von SKUs betreiben, und die meisten von ihnen haben einen Umsatz von weniger als 1 Milliarde USD. Während es möglicherweise möglich ist, diese VM etwas zu verkleinern und bei Nichtgebrauch herunterzufahren, haben wir bei Lokad gelernt, dass diese Optionen selten für den Produktionsbetrieb geeignet sind.

Beispielsweise haben Cloud-Computing-Plattformen ihre eigenen Engpässe: Manchmal dauert es Stunden, bis die VM, die eigentlich auf Abruf verfügbar sein sollte, online geht. Außerdem sollte man niemals davon ausgehen, dass diese Modelle einfach “vortrainiert” werden können. Es wird einen Tag geben - wie zum Beispiel nächsten Dienstag -, an dem das gesamte System aus dringenden Gründen von Grund auf neu trainiert werden muss8. Darüber hinaus erfordert eine produktionsreife Einrichtung nicht nur Redundanz, sondern auch zusätzliche Umgebungen (Test, Vorproduktion usw.).

Auf der Softwareseite ist der Bedarf an etwas wie dem Plasma Object Store das Paradebeispiel für diese zufälligen Komplikationen, die mit Deep Learning einhergehen. Nehmen wir an, der Trainingsdatensatz - mit wöchentlich aggregierten 80.000 SKUs über nur 104 Wochen - sollte weniger als 100 MB wiegen (wenn die Daten vernünftig dargestellt werden).

Während die DIM-Autoren kunstvoll vage bleiben und von einer “großen Datenmenge” sprechen (Seite 32), ist offensichtlich, dass die Merkmalsstrategie den ursprünglichen Daten-Footprint um drei Größenordnungen aufbläht (1000-fach oder dort in der Nähe). Beachten Sie, dass der EC2 p3.16xlarge nicht weniger als 488 GB RAM hat, was ausreichen sollte, um einen 100-MB-Datensatz zu verarbeiten (ca. 100 GB nach Anwendung der Inflation)… Nun, wir waren schon dort, haben das gemacht und standen vor demselben Problem.

Ein realistisch dimensionierter Supply-Chain-Datensatz würde zum Beispiel nach der Dateninflation in der DIM-Methode in der Regel 1 Terabyte überschreiten. In diesem Fall kann ein typischer Data Scientist einen Fehler lokal nicht reproduzieren, da sein Arbeitsplatz nur über 64 GB RAM verfügt. Darüber hinaus gibt es auch die Frage der Python/Plasma-Grenze, wo Dinge schiefgehen können.

Abgesehen von den oben genannten Hauptkritikpunkten gibt es auch sekundäre Bedenken. Zum Beispiel ist die in der Einleitung und im Fazit als Baseline und DIM-Konkurrent erwähnte dynamische Programmierung9 nur eine schlechte Baseline. Dynamische Programmierung ist eine alte Technik (aus den 1950er Jahren) und spiegelt nicht den Stand der Technik in Bezug auf die Verbindung von Optimierung und Lernen wider.

Zugegeben, die Supply-Chain-Literatur lässt in dieser Hinsicht zu wünschen übrig, aber das bedeutet, dass Autoren relevante Baselines außerhalb ihres Fachgebiets finden müssen. Zum Beispiel ist AlphaGo Zero10 eine viel bessere intellektuelle Baseline, wenn es um eine bemerkenswerte Anwendung von Deep Learning für Optimierungszwecke geht - insbesondere im Vergleich zu dynamischen Programmierungstechniken, die fast 80 Jahre alt sind.

Zusammenfassend lässt sich sagen, dass es sich entgegen dem, was meine Kritik vermuten lässt, um eine bessere Arbeit handelt als die meisten und absolut würdig ist, kritisiert zu werden. Differentiable Programming ist ein großartiges Instrument für Supply Chains. Lokad verwendet es seit Jahren, aber wir haben noch nicht ausgeschöpft, was mit diesem programmatischen Paradigma möglich ist.

Es gibt noch mehr zu erkunden, wie DIM zeigt. Differentiable Simulatoren sind eine coole Idee, und es fühlt sich weniger einsam an, wenn Tech-Giganten wie Amazon die Kern-Dogmen der Mainstream-Supply-Chain-Theorie in Frage stellen - genau wie wir es tun. Bei Lokad haben wir das Projekt, Monte Carlo und Autodiff11 auf eine Weise zu kombinieren, die gut zu diesen differentiable Simulatoren passt.

Bleiben Sie dran!


  1. Deep Inventory Management, Dhruv Madeka, Kari Torkkola, Carson Eisenach, Anna Luo, Dean P. Foster, Sham M. Kakade, November 2022. ↩︎

  2. Adversarial Market Research for Enterprise Software, Vorlesung von Joannes Vermorel, März 2021. ↩︎

  3. Action reward, a framework for inventory optimization, Gaëtan Delétoile, März 2021. ↩︎

  4. No1 at the SKU-level in the M5 forecasting competition, Vorlesung von Joannes Vermorel, Januar 2022. ↩︎

  5. Retail stock allocation with probabilistic forecasts, Vorlesung von Joannes Vermorel, Mai 2022. ↩︎

  6. Quantitative principles for supply chains, Vorlesung von Joannes Vermorel, Januar 2021. ↩︎

  7. Ein leistungsstarker Server, der online von Amazon gemietet wird und über 8 High-End-Professionelle GPUs und etwa 15-mal mehr RAM als eine typische High-End-Desktop-Workstation verfügt. ↩︎

  8. “SCO ist kein gewöhnliches Softwareprodukt” in Produktorientierte Lieferung für die Supply Chain, Vorlesung von Joannes Vermorel, Dezember 2020. ↩︎

  9. Dynamische Programmierung hätte eigentlich “strukturierte Memoisierung” heißen sollen. Als algorithmische Technik auf niedriger Ebene ist sie immer noch sehr relevant, aber diese Technik gehört nicht wirklich zum gleichen Bereich wie das Reinforcement Learning. Strukturierte Memoisierung als Technik gehört zum Bereich der grundlegenden algorithmischen Tricks, wie z.B. balancierte Bäume oder dünnbesetzte Matrizen. ↩︎

  10. Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm, David Silver, Thomas Hubert, Julian Schrittwieser, Ioannis Antonoglou, Matthew Lai, Arthur Guez, Marc Lanctot, Laurent Sifre, Dharshan Kumaran, Thore Graepel, Timothy Lillicrap, Karen Simonyan, Demis Hassabis, Dezember 2017. ↩︎

  11. Sowohl montecarlo als auch autodiff sind spezielle programmatische Blöcke in Envision, die zufällige Prozesse bzw. differenzierbare Prozesse unterstützen. Die Kombination der beiden gibt im Grunde genommen etwas, das den Bausteinen eines differentiable Simulators sehr nahe kommt. ↩︎