Previsione tramite Deep Learning (2018)

Come parte del nostro impegno principale per offrire le previsioni più accurate che la tecnologia possa produrre, siamo orgogliosi di annunciare che la nostra quinta generazione di motore di previsione è ora attiva su Lokad. Questo motore offre il più grande miglioramento di precisione che siamo mai riusciti a ottenere in un’unica versione.

Dalla previsione probabilistica al deep learning

power-clouds
Il design del motore si basa su un tipo di machine learning relativamente recente chiamato deep learning. Per le supply chain, miglioramenti significativi nella precisione delle previsioni possono tradursi in ritorni altrettanto significativi, servendo più clienti, servendoli più velocemente e affrontando meno rischi di inventario. Circa 18 mesi fa, abbiamo annunciato la quarta generazione della nostra tecnologia di previsione. La quarta generazione è stata la prima a fornire vere previsioni probabilistiche. Le previsioni probabilistiche sono essenziali nelle supply chain perché i costi si concentrano sugli estremi statistici, quando la domanda si rivela inaspettatamente alta o bassa. Al contrario, i metodi di previsione tradizionali - come le previsioni giornaliere, settimanali o mensili tradizionali - che si concentrano solo sulla fornitura di previsioni medie o medie, sono ciechi al problema. Di conseguenza, tali metodi di solito non riescono a fornire ritorni soddisfacenti per le aziende. La quinta generazione non nega le sue origini; abbraccia anche le previsioni probabilistiche e si basa sull’esperienza acquisita con la generazione precedente.

Per caso, si scopre che il deep learning si rivela particolarmente adatto alle previsioni probabilistiche per design. La motivazione di questa prospettiva era, tuttavia, del tutto estranea alle preoccupazioni delle supply chain. Gli algoritmi di deep learning favoriscono l’ottimizzazione basata su una prospettiva probabilistica / bayesiana con metriche come l’entropia incrociata perché queste metriche forniscono valori di gradiente enormi che sono particolarmente adatti alla discesa del gradiente stocastica, l’algoritmo “unico” che rende possibile il deep learning.

Nel caso specifico delle supply chain, accade che le basi del deep learning siano completamente allineate con i requisiti effettivi del business!

Oltre l’hype dell’intelligenza artificiale

L’intelligenza artificiale - alimentata dal deep learning nella pratica - è stata la parola di moda dell’anno nel 2017. Le affermazioni sono audaci, avvincenti e, beh, confuse. Dal punto di vista di Lokad, osserviamo che la maggior parte di queste tecnologie AI aziendali non soddisfa le aspettative. Molte poche aziende possono ottenere finanziamenti superiori a mezzo miliardo di dollari, come Instacart, per creare un team di deep learning di classe mondiale al fine di affrontare con successo una sfida della supply chain.

Con questa versione, Lokad sta rendendo accessibile la tecnologia di previsione di grado AI a qualsiasi azienda ragionevolmente “digitalizzata”. Ovviamente, il tutto è ancora alimentato dai dati storici della supply chain, quindi i dati devono essere accessibili a Lokad, ma la nostra tecnologia non richiede alcuna competenza nel deep learning. A differenza di praticamente tutte le tecnologie AI “aziendali”, Lokad non si basa sull’ingegneria manuale delle caratteristiche. Per quanto riguarda i nostri clienti, l’aggiornamento dalle nostre previsioni probabilistiche precedenti al deep learning sarà senza soluzione di continuità. Lokad è la prima azienda software a fornire una tecnologia di previsione di grado AI chiavi in mano, accessibile sia a piccoli ecommerce con un solo dipendente che a reti di supply chain più grandi che possono includere migliaia di sedi e un milione di riferimenti di prodotto.

L’era del calcolo GPU

power-clouds Il deep learning è rimasto in qualche modo di nicchia fino a quando la comunità è riuscita a migliorare il proprio blocco di costruzione del software per sfruttare le GPU (unità di elaborazione grafica). Queste GPU differiscono notevolmente dalle CPU (unità di elaborazione centrale), che ancora alimentano la maggior parte delle app al giorno d'oggi con le eccezioni degne di nota dei videogiochi, che si basano intensamente sia sulle CPU che sulle GPU. Insieme alla riscrittura completa del nostro motore di previsione per questa quinta iterazione, abbiamo anche migliorato significativamente l'infrastruttura a basso livello di Lokad. Infatti, per servire le aziende, la piattaforma Lokad ora sfrutta sia le GPU che le CPU. Lokad sta ora approfittando delle macchine alimentate da GPU che possono essere affittate su Microsoft Azure, la piattaforma di cloud computing che supporta Lokad. Attraverso la potenza di elaborazione massiccia delle GPU, non solo rendiamo le nostre previsioni più accurate, ma le rendiamo anche molto più veloci. Attraverso una griglia di GPU, otteniamo ora tipicamente le previsioni circa 3-6 volte più velocemente, per qualsiasi set di dati di dimensioni considerevoli (*).

(*) Per set di dati ultra-piccoli, il nostro motore di previsione di quinta generazione è effettivamente più lento e richiede alcuni minuti in più, il che è in gran parte trascurabile nella pratica.

Lanci di prodotti e promozioni

Il nostro motore di previsione di quinta generazione sta apportando miglioramenti sostanziali alle situazioni di previsione difficili, in particolare i lanci di prodotti e le promozioni. Dal nostro punto di vista, i lanci di prodotti, sebbene molto difficili, rimangono leggermente più facili delle previsioni delle promozioni. La differenza nella difficoltà è determinata dalla qualità dei dati storici, che è inevitabilmente inferiore per le promozioni rispetto ai lanci di prodotti. I dati delle promozioni migliorano nel tempo una volta che sono in atto i processi di garanzia di qualità appropriati.

In particolare, vediamo il deep learning come un’opportunità enorme per i marchi di moda che stanno lottando con i lanci di prodotti che dominano le loro vendite: lanciare un nuovo prodotto non è l’eccezione, è la regola. Poi, poiché le varianti di colore e dimensione gonfiano notevolmente il numero di SKU, la situazione diventa ancora più complessa.

Le nostre FAQ sulla previsione

Quali modelli di previsione stai utilizzando?

Il nostro motore di previsione profonda utilizza un singolo modello costruito secondo i principi del deep learning. A differenza dei modelli statistici classici, è un modello che presenta decine di milioni di parametri addestrabili, ovvero circa 1000 volte più parametri rispetto al nostro modello di machine learning non profondo più complesso precedente. Il deep learning supera nettamente gli approcci di machine learning più vecchi (foreste casuali, alberi potenziati con il gradiente). Tuttavia, vale la pena notare che questi approcci di machine learning più vecchi stavano già superando tutti i classici delle serie temporali (Box-Jenkins, ARIMA, Holt-Winters, smoothing esponenziale, ecc).

Impari dai tuoi errori di previsione?

Sì. Il processo di addestramento statistico, che alla fine genera il modello di deep learning, sfrutta tutti i dati storici disponibili a Lokad. I dati storici vengono sfruttati attraverso un processo noto come backtesting. Pertanto, più dati storici sono disponibili per il modello, più opportunità ha il modello di imparare dai propri errori.

Il tuo motore di previsione gestisce la stagionalità, le tendenze, i giorni della settimana?

Sì, il motore di previsione gestisce tutte le ciclicità comuni e anche le quasi-ciclicità, il cui importanza viene spesso sottovalutata. Per quanto riguarda il codice, il modello di deep learning utilizza intensivamente un approccio a serie temporali multiple per sfruttare le ciclicità osservate in altri prodotti, al fine di migliorare l’accuratezza delle previsioni di un singolo prodotto. Naturalmente, due prodotti possono condividere la stessa stagionalità, ma non lo stesso pattern dei giorni della settimana. Il modello è in grado di catturare questo pattern. Inoltre, uno dei principali vantaggi del deep learning è la capacità di catturare correttamente la variabilità della stagionalità stessa. Infatti, una stagione può iniziare prima o dopo a seconda di variabili esterne, come il meteo, e queste variazioni vengono rilevate e riflessi nelle nostre previsioni.

Di quali dati hai bisogno?

Come era il caso della nostra precedente generazione di tecnologia di previsione, per prevedere la domanda, il motore di previsione deve essere fornito - almeno - con la domanda storica giornaliera, e fornire un’analisi disaggregata degli ordini è ancora meglio. Per quanto riguarda la lunghezza della storia - più è lunga, meglio è. Sebbene non sia possibile rilevare la stagionalità con meno di 2 anni di storia, consideriamo 3 anni di storia buoni e 5 anni eccellenti. Per prevedere i tempi di consegna, il motore richiede tipicamente che gli ordini di acquisto contengano sia le date di ordine che le date di consegna. Specificare le attribuzioni del prodotto o SKU aiuta anche a raffinare considerevolmente le previsioni. Inoltre, fornire i livelli di stock è anche molto utile per noi, per fornirti una prima analisi significativa dello stock.

Puoi prevedere il mio foglio Excel?

Come regola generale, se tutti i tuoi dati rientrano in un unico foglio Excel, di solito non possiamo fare molto per te, e ad essere onesti, nessuno può farlo. I dati del foglio di calcolo sono probabilmente aggregati per settimana o per mese, e la maggior parte delle informazioni storiche viene persa attraverso tale aggregazione. Inoltre, in questo caso, il tuo foglio di calcolo non conterrà nemmeno molte informazioni sulle categorie e le gerarchie che si applicano ai tuoi prodotti. Il nostro motore di previsione sfrutta tutti i dati che hai, e fare un test su un piccolo campione non darà risultati soddisfacenti.

Cosa succede con le mancanze di stock e le promozioni?

Sia le mancanze di stock che le promozioni rappresentano un bias nelle vendite storiche. Poiché l’obiettivo è prevedere la domanda, e non le vendite, questo bias deve essere preso in considerazione. Un modo frequente - ma non corretto - di gestire questi eventi consiste nel riscrivere la storia, per riempire i vuoti e troncare i picchi. Tuttavia, non ci piace questo approccio, perché consiste nel fornire previsioni al motore di previsione, il che può comportare problemi di sovradattamento. Invece, il nostro motore supporta nativamente “flags” che indicano dove la domanda è stata censurata o gonfiata.

Prevedi nuovi prodotti?

Sì, lo facciamo. Tuttavia, per prevedere nuovi prodotti, il motore richiede le date di lancio degli altri prodotti “più vecchi”, nonché la loro domanda storica al momento del lancio. Inoltre, è consigliabile specificare alcune delle categorie dei tuoi prodotti e/o una gerarchia di prodotti. Il motore prevede effettivamente nuovi prodotti rilevando automaticamente i prodotti “più vecchi”, che possono essere considerati comparabili a quelli nuovi. Tuttavia, poiché non è ancora stata osservata alcuna domanda per i nuovi articoli, le previsioni si basano interamente sugli attributi ad essi associati.

Utilizzi dati esterni per affinare le previsioni?

Possiamo utilizzare dati di prezzi competitivi ottenuti tipicamente attraverso aziende di terze parti specializzate nello scraping web, ad esempio. I dati sul traffico web possono anche essere utilizzati e eventualmente acquisiti per arricchire i dati storici al fine di aumentare ulteriormente l’accuratezza statistica. In pratica, il più grande ostacolo nell’utilizzo di fonti di dati esterne non è il motore di previsione di Lokad - che è piuttosto capace - ma l’allestimento e il mantenimento di un flusso di dati di alta qualità collegato a tali fonti di dati esterne.