2022年末、Amazonのチームが「Deep Inventory Management」というサプライチェーンに関連する研究を発表しました1。この論文では、強化学習とディープラーニングを特徴とする在庫最適化技術(以下DIMと呼ぶ)が紹介されています。論文によれば、この技術は実世界の設定で10,000以上のSKUに対して成功裏に使用されているとされています。この論文は複数の面で興味深く、Lokadが2018年以来取り組んできたことといくぶん似ています。以下では、Lokadの特定の視点からDIM技術の利点と欠点について議論します。なぜなら、私たちは過去数年間に同様のアプローチを探求してきたからです。

The Objective Function and Constraints (p.27, Appendix A), from Deep Inventory Management, Nov. 2022

"Deep Inventory Management"(2022年11月)の「目的関数と制約条件」(p.27、付録A)

最初の観察結果は、この論文が真実であるということであり、その結果を支持する傾向にあります。全体的な設定は、私自身の実験と観察と非常によく一致しています。実際、サプライチェーンに関するほとんどの論文は、何らかの理由で偽りであると言えます。サプライチェーンは、認識の腐敗2に直面しており、サプライチェーンの問題に取り組むための「より良い」方法に直面したときには、深い懐疑主義がデフォルトの立場であるべきです。

DIM技術の最も注目すべき貢献は、予測段階を完全にバイパスし、在庫最適化に直接取り組むことです。在庫最適化に取り組むための古典的なアプローチは、問題を2つの段階に分解することです。まず、需要を予測し、次に在庫の意思決定を最適化します。Lokadはまだこの段階的なプロセスに従っています(良い理由があるため、_action reward_を参照してください3)。しかし、DIMは「微分可能なシミュレータ」と呼ばれるアプローチを通じて、これら2つを統合します。

「学習」と「最適化」の段階を統合することは、サプライチェーンだけでなく、コンピュータサイエンス全体にとって有望な道です。過去20年間、アルゴリズムの観点から「学習」と「最適化」の間には徐々に収束が見られました。実際、Lokadが使用している主要な「学習」技術は、その核に「最適化」アルゴリズムを持っています。逆に、Lokadの最近の(未公開の)確率的最適化のブレークスルーは、「学習」アルゴリズムを中心にしています。

私は将来、単独の予測が新しい技術によって完全に取って代わられた時代が訪れると予想しています。それは「学習」と「最適化」の視点を完全に融合させるものです。Lokadはすでに長い間この道を歩んできました。実際、2015年に確率的予測に移行して以来、Lokadから生の予測をエクスポートすることは実用的ではないと考えられており、クライアントの視点からはほとんどプロセスが単一の段階に縮小されています。ただし、2つの段階のプロセスはLokad内部にまだ存在しており、統一のために解決されていない深い問題がいくつかあります。

さて、DIM技術の欠点について議論しましょう。

最初の批判は、DIMがディープラーニングを使用している点があまりにも物足りないということです。

「特徴化」(付録B)のセクションから明らかなように、この「ディープ」モデルがまず第一に学習しているのは、将来のリードデマンド、つまり変動するリードタイムにわたる需要の予測です。

(暗黙の確率的な)リードデマンドの推定は、少なくともこのAmazonチームが提示した設定では、ディープラーニングを必要とする「難しい」問題ではありません。実際、私は全体的な経験的な改善がリードデマンドの評価の向上の結果であると確信しています。さらに、M5コンペティション4で行われたように、基本的なパラメトリック確率モデルを使用してリードデマンドの比較可能であるかそれ以上の評価を得ることができるとも確信しています。これにより、ディープラーニングは画像のみならず、ソリューションの「浅い」差分可能プログラミング部分のみが残ります。

リードデマンドの推定を除けば、DIMにはほとんど提供するものがありません。実際、論文で提示されたサプライチェーンの設定では、すべてのSKUは過度に緩い企業全体の制約のもとでほぼ孤立して処理されます。具体的には、総量、総資本、および総単位数に対する上限があります。これらの上限に対処することは非常に簡単に行うことができ、再注文する単位を減少することによって5ドル対ドルのリターンが減少するようにソートすることができます。もしくは、Amazonが使用している混沌としたストレージの容量が真のボトルネックである場合は、ドル対単位のリターンでソートすることもできます。

制約に関しては、企業全体の上限は洗練された技術を必要としない簡単な制約です。ディープラーニングは、サプライチェーンに豊富に存在する厄介な制約に対処できる場合に本当に輝きます。例えば、サプライヤーレベルで定義されるMOQ(最小発注量)、フルトラックロード、サプライヤー価格の変動、消耗品などは、私が上記で言及した優先順位付けのような単純な技術では対処できません。このような厄介な制約に対して、ディープラーニングは多目的な確率的最適化手法として本当に優れていると思いますが、それを実現することに成功する人がいるかどうかは完全に不明です。しかし、DIMはこのような問題を完全に回避しており、DIMがこれらの問題に対応できるかどうかは全く不明です。私の意見では、できないと思います。

著者のクレジットとして、_クロスプロダクト制約_は彼らの結論の最後の行で「研究の興味深い道」として言及されています。この感情には同意しますが、それは控えめな表現です。これらの普遍的なサプライチェーンの制約をサポートしないことは、即座に問題のあるものです。サプライチェーンの実践者は1か月も経たないうちにスプレッドシートに戻るでしょう。おおよその正確さは、完全に間違っているよりも良いです。

さらに、DIMには実数値のアクション、つまり分数の発注数量に関する問題があります(式(1)と仮定1(ページ12)を参照)。実際、サプライチェーンでは0.123単位の発注はできません。0か1のどちらかです。しかし、著者はこの問題を完全に回避しています。DIM技術は分数の数量を出力し、報酬関数が「適切に振る舞う」ことを要求しています。実際のところ、報酬関数が注文数量に対して厳密に単調でない場合、このアプローチはうまく機能しないことは明らかです。

したがって、私たちは望ましくない特徴(分数の発注)と望ましくない要件(報酬関数の単調性)を残しており、この2つの組み合わせが提案された差分可能シミュレータの基盤となっています。しかし、サプライチェーンは小数の法則に支配されています6。現代の在庫問題は、その離散的な特性によって「支配されて」います。少なくとも、この側面はDIMの深刻な制約として著者によって指摘されるべきであり、後続の研究で追求されるべきです。

勾配と離散ポリシーを組み合わせることは、提案された差分可能シミュレータだけでなく、確率的最適化の基本的な問題です。確かに、確率的勾配降下法(SGD)は実数値のパラメータ上で動作するため、基本的に離散的な意思決定を支配するポリシーを最適化する方法は明らかではありません。

基本的に離散的な空間で勾配駆動プロセスを行うことは可能ですが、それにはさまざまなテクニックが必要です。LLM(大規模言語モデル)によって見事に実証されていますが、それには多くのテクニックが必要です。サプライチェーンが直面する状況のクラスに対して同等のテクニックが見つかるまで、差分可能シミュレータは有望なアイデアであり、本格的なオプションではありません。

私の2番目の批判は、DIMの著者によって言及されていない多くのエッジケースが存在するということです。

特に、著者は彼らがどのようにして(…チェリーピックして)彼らの10,000のSKUを選んだのかについて非常に曖昧です。実際、2018年と2019年にLokadで実験を行っていた間、私はLokadが使用している深層学習モデルのための驚くほど似たような特徴化戦略(付録B)を使用していました。

これらの実験から、私は次のことを提案します:

  • 新しい製品や最近の製品はうまく機能しません。なぜなら、歴史データが十分にない場合、式(13)、(30)、(31)で示唆されるスケーリングが不安定になるからです。
  • スロームーバーは、適切な修正された需要が存在すると仮定しているため、過去のストックアウトの不適切な修正に遭遇する可能性があります(スロームーバーの場合はそうではありません)。
  • 間欠的な製品(未公開または長期間利用できない製品、2ヶ月以上)も、修正された需要を前提としているため、問題に直面する可能性があります。
  • 競合他社のSKUでは、顧客が最低価格を積極的に選択するため、モデルはSKUが競合他社を価格的に追い越すときの劇的な影響を反映することができません。

これらのエッジケースは、実際にはサプライチェーンの課題の大部分です。論文では、振る舞いが良いSKUをチェリーピックすることが誘惑されます:最近のものでもなく、遅すぎず、不安定すぎず、間欠的でもないなど。しかし、高度な技術に頼る必要がある場合、簡単なSKUに焦点を当てることは少し無意味です。これらのSKUでは経済的な改善が可能ですが、絶対的な利益はわずかです(最大でも控えめです)- それはまさにこれらのSKUが既にうまく振る舞っているためです。サプライチェーンの非効率性の大部分は、中間ではなく極端な部分にあります。

これらの問題を直接取り組むことは、深層学習が救済策となることが期待される場所です。しかし、DIMは逆のアプローチを取り、簡単に対処できる良い振る舞いのSKUに取り組んでいますが、それには高度な技術が必要ありません。

私の3番目の批判は、DIMにはやや複雑な技術的なセットアップがあるということです。

これはおそらくデータサイエンスコミュニティで最も過小評価されている問題の1つです。複雑さは信頼性と効率性の敵です。深層学習は素晴らしいですが、DIMのようなセットアップを運用するために必要なエンジニアはほとんどの企業が負担できません。これはChatGPTのようなものではありません。ここでは、DIMのために必要な具体的な要素を考慮すると、各クライアント企業はソリューションの独自のインスタンスに関連するすべての運用コストを負担しなければなりません。

ハードウェアの面では、現在AWSで月額17,000ドルで提供されているEC2 p3.16xlarge7仮想マシンがあります。10,000のSKUに対しては…高額です。

Lokadには、個々に何百万ものSKUを運用するクライアントが多くおり、そのほとんどが10億ドル未満の売上を上げています。このVMを少し縮小したり、使用されていないときにシャットダウンしたりすることは可能かもしれませんが、Lokadでは、これらのオプションはほとんどが本番には適していないことを学んでいます。

たとえば、クラウドコンピューティングプラットフォームは独自の不足に直面することがあります。オンデマンドで利用可能であるはずのVMが数時間かかってオンラインになることがあります。また、これらのモデルを単に「事前学習済み」として扱ってはいけないということを決して想定してはいけません。ある日(たとえば来週の火曜日)は、何らかの緊急の理由で完全にゼロから再学習する必要があります8。さらに、本番用のセットアップには冗長性だけでなく、追加の環境(テスト、プレプロダクションなど)も必要です。

ソフトウェアの面では、Plasmaオブジェクトストアのようなものが必要とされるのは、ディープラーニングに伴うこれらの偶発的な複雑さの典型例です。たとえば、週ごとに80,000のSKUを集計したトレーニングデータセットは、100MB未満の重さであるべきです(データが適切に表現されている場合)。

DIMの著者たちは、曖昧な表現で「大量のデータ」と言及しています(32ページ)。しかし、明らかなことは、フィーチャリゼーション戦略が元のデータのフットプリントを3桁増やす(約1000倍、あるいはその辺り)ということです。EC2 p3.16xlargeには488GBのRAMが搭載されており、100MBのデータセット(膨張後のデータは約100GB)を処理するのに十分なはずです…まあ、私たちはそれを経験し、同じ問題に直面しました。

たとえば、実際のサイズの供給チェーンデータセットは、DIMのアプローチで必要とされるように、通常1テラバイトを超えます。この場合、典型的なデータサイエンティストは、ワークステーションに64GBのRAMしかないため、バグをローカルで再現することができません。さらに、Python/Plasmaのフロンティアにおける問題もあります。

上記の主な批判に加えて、副次的な懸念事項もあります。たとえば、導入と結論でベースラインとして言及されている動的計画法9は、単なる貧弱なベースラインです。動的計画法は古い技術(1950年代からのもの)であり、最適化と学習の組み合わせに関しては最新の状況を反映していません。

確かに、供給チェーンの文献はこの点で不足していますが、それは著者が研究分野外で関連するベースラインを見つける必要があることを意味します。たとえば、AlphaGo Zero10は、深層学習を最適化の目的で応用する驚くべきアプリケーションにおいて、ほぼ80年前の動的計画法技術と比較してはるかに優れた知的なベースラインです。

結論として、私の批判が示唆するようなことに反して、これはほとんどの論文よりも優れており、批判に値するものです。異なる可能性を秘めたプログラミングは、サプライチェーンにとって素晴らしいツールです。Lokadは何年もの間それを使用してきましたが、このプログラミングパラダイムでできることはまだまだ尽きていません。

DIMによって示されているように、探求する余地はまだまだあります。異なる可能性を秘めたシミュレータは素晴らしいアイデアであり、テックジャイアントのようなAmazonが主流のサプライチェーン理論の核心的な教義に挑戦すると、孤独ではなくなると感じます-私たちがやっているように。Lokadでは、モンテカルロとオートディフ11を組み合わせる方法を見つけるプロジェクトがあります。それらの異なる可能性を秘めたシミュレータにうまく適合するでしょう。

お楽しみに!


  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, Joannes Vermorelによる講義, March 2021. ↩︎

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

  4. M5予測競争のSKUレベルでのNo1, Joannes Vermorelによる講義, January 2022. ↩︎

  5. 確率的予測による小売在庫割当, Joannes Vermorelによる講義, May 2022. ↩︎

  6. 供給チェーンのための定量的原則, Joannes Vermorelによる講義, January 2021. ↩︎

  7. オンラインでAmazonから借りた強力なサーバーで、典型的な高性能デスクトップワークステーションの約15倍のRAMと8つのハイエンドプロフェッショナルGPUを搭載しています。 ↩︎

  8. Joannes Vermorelによる製品指向の供給チェーン向けデリバリーでは、「SCOは平均的なソフトウェア製品ではありません」と述べています。, December 2020. ↩︎

  9. 動的計画法は「構造化メモ化」と名付けられるべきでした。低レベルのアルゴリズム技術として、まだまだ重要ですが、この技術は強化学習とはまったく異なる領域に属していると言えます。構造化メモ化は、バランスの取れた木や疎行列のような基本的なアルゴリズムのトリックの領域に属しています。 ↩︎

  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, December 2017. ↩︎

  11. montecarloautodiffは、Envisionの特別なプログラムブロックであり、それぞれランダム化プロセスと微分可能プロセスをサポートしています。これらを組み合わせると、_differentiable simulator_が必要とするビルディングブロックに非常に近いものが得られます。 ↩︎