00:00:07 Programmazione differenziabile come nuovo termine.
00:01:38 L’idea centrale dell’ottimizzazione basata sui gradienti nell’apprendimento profondo.
00:03:48 La svolta della differenziazione automatica nel calcolo dei gradienti.
00:06:00 Le origini della programmazione differenziabile e il suo impatto sull’apprendimento automatico.
00:07:43 La complessità delle attività apparentemente semplici e il progresso iterativo nell’IA.
00:09:33 Transizione dalle reti neurali all’apprendimento profondo e alla programmazione differenziabile.
00:11:22 I vantaggi della programmazione differenziabile nell’ottimizzazione della supply chain.
00:13:26 Accoppiamento di prezzi, previsione della domanda e allocazione delle scorte nella gestione della supply chain.
00:15:00 Programmazione differenziabile nell’apprendimento automatico e nell’affrontare le incertezze.
00:16:00 Programmazione differenziabile nella supply chain e confronto con le grandi aziende tecnologiche.
00:18:19 Applicazione di tecniche di intelligenza artificiale da altri settori ai problemi della supply chain.
00:20:15 Vantaggi della programmazione differenziabile per la modellazione predittiva e l’ottimizzazione nelle supply chain.
00:22:01 Le sfide future per la programmazione differenziabile nella gestione della supply chain.
00:24:16 Considerazioni finali.

Riassunto

Kieran Chandler ha intervistato Joannes Vermorel, fondatore di Lokad, sulla programmazione differenziabile e la sua importanza nell’IA e nell’ottimizzazione della supply chain. La programmazione differenziabile è emersa da importanti progressi nelle tecniche di differenziazione automatica ed è evoluta dalle reti neurali e dal deep learning. La modularità della programmazione differenziabile consente un’assemblaggio dei modelli più flessibile e versatile, rendendola utile per l’ottimizzazione della supply chain. Sebbene ci siano preoccupazioni sulla affidabilità, Vermorel sottolinea l’efficacia delle tecniche di apprendimento automatico. Lokad, nonostante un budget più limitato, rimane competitiva adattando le ricerche delle grandi aziende tecnologiche alle applicazioni della supply chain. La programmazione differenziabile offre una soluzione più espressiva per creare ricette numeriche adatte ai problemi aziendali, anche se raggiungere risultati consistenti senza errori rimane una sfida.

Riassunto esteso

Kieran Chandler, conduttore dell’intervista, ha discusso dell’argomento della programmazione differenziabile con Joannes Vermorel, fondatore di Lokad, un’azienda specializzata nell’ottimizzazione della supply chain. Vermorel ha fornito un’analisi delle origini e dell’importanza della programmazione differenziabile come concetto e del suo rapporto con l’IA e il deep learning.

Yann Lecun, direttore della ricerca sull’IA di Facebook, ha recentemente suggerito che il termine “deep learning” abbia superato la sua utilità come buzzword e ha proposto l’uso di “programmazione differenziabile” per riflettere gli sviluppi più recenti nel software. Vermorel ha commentato l’evoluzione costante della terminologia nel campo dell’IA, affermando che non appena si trova una soluzione per un problema, questa non viene più considerata AI e viene attribuito un nuovo nome, con la programmazione differenziabile come ultimo esempio.

Le origini della programmazione differenziabile possono essere rintracciate nell’ottimizzazione basata sui gradienti, un concetto fondamentale nel deep learning. L’ottimizzazione basata sui gradienti prevede l’addestramento di un modello con milioni di parametri utilizzando una funzione obiettivo, che valuta la qualità dei risultati del modello. Man mano che vengono osservati nuovi punti dati, viene calcolato il gradiente, o derivata multidimensionale, per guidare gli aggiustamenti dei parametri, migliorando gradualmente il modello.

Storicamente, le reti neurali, che precedono il deep learning, utilizzavano tecniche complesse come la retropropagazione per calcolare i gradienti. Queste tecniche erano difficili da implementare e avevano una velocità di esecuzione relativamente lenta. Una svolta è avvenuta circa dieci anni fa, quando i ricercatori hanno iniziato a utilizzare la differenziazione automatica, una tecnica scoperta per la prima volta negli anni ‘60. La differenziazione automatica semplifica il calcolo dei gradienti, ma è rimasta in gran parte ignorata dalla comunità scientifica fino a quando il suo potenziale è stato realizzato più di recente.

La discussione ruota attorno al concetto di programmazione differenziabile e al suo sviluppo, nonché alle sue applicazioni nell’ottimizzazione della supply chain.

La programmazione differenziabile è emersa come risultato delle svolte nelle tecniche di differenziazione automatica, che hanno permesso il calcolo dei gradienti per qualsiasi programma, non solo per qualsiasi funzione. Questo approccio ha consentito lo sviluppo di reti computazionali più complesse che possono essere applicate a una gamma più ampia di problemi. Il termine “programmazione differenziabile” deriva dall’idea di calcolare la derivata di un programma.

Lo sviluppo della programmazione differenziabile è stato iterativo, basandosi su concetti precedenti nelle reti neurali e nel deep learning. I progressi nel campo sono stati costanti negli ultimi 50-60 anni, anche se inizialmente c’era l’erronea convinzione che certi problemi, come identificare un cane, sarebbero stati più facili da risolvere rispetto a calcoli complessi come il calcolo di un logaritmo. In realtà, problemi apparentemente semplici come il riconoscimento degli oggetti e il mantenimento dell’equilibrio si sono rivelati più sfidanti, mentre i calcoli sono diventati relativamente facili con l’architettura informatica moderna.

La transizione dalle reti neurali al deep learning ha comportato l’abbandono dell’ispirazione biologica per concentrarsi su ciò che funzionava con l’hardware informatico. La fase successiva, la programmazione differenziabile, si è basata sulla modularità del deep learning, consentendo la composizione, l’impilamento, la concatenazione e la miscelazione di modelli di apprendimento automatico. Questa modularità è stata fondamentale per l’ottimizzazione della supply chain, che coinvolge elementi diversi come prezzi, prodotti, clienti, posizioni e contenitori.

Man mano che le persone hanno iniziato a creare strumenti di deep learning che assomigliavano a linguaggi di programmazione, l’idea di programmazione differenziabile è emersa come un’estensione naturale. Le tecniche di differenziazione automatica hanno reso semplice progettare e sviluppare gli strumenti necessari. Nella pratica, la programmazione differenziabile prevede la combinazione di vari modelli e blocchi, proprio come un approccio a mattoncini Lego. Tuttavia, rispetto al deep learning, la programmazione differenziabile consente un assemblaggio di modelli più flessibile e versatile.

Vermorel spiega che la programmazione differenziabile consente un’espressività programmabile, consentendo agli utenti di ripensare ai problemi e di esprimere le loro soluzioni in modo più preciso ed efficiente. Fornisce un esempio di come la programmazione differenziabile possa essere utilizzata per ottimizzare la determinazione dei prezzi, la previsione della domanda e l’allocazione delle scorte. Questi fattori sono interconnessi; modificare la strategia di pricing avrà un impatto sulla domanda, che a sua volta influenzerà la produzione richiesta e i livelli di scorte.

La programmazione differenziabile consente agli utenti di scrivere programmi che lasciano spazi vuoti per i parametri da ottimizzare. Un supply chain scientist può scrivere questi programmi e utilizzare la tecnologia appropriata per l’ottimizzazione. Chandler solleva preoccupazioni sulla affidabilità delle soluzioni prodotte dalla programmazione differenziabile poiché coinvolge spazi vuoti e si basa sull’apprendimento automatico. Vermorel riconosce i limiti, ma sottolinea che le tecniche di apprendimento automatico hanno già dimostrato la loro efficacia, come dimostrato dal loro successo nel superare i giocatori umani in giochi come Go e scacchi.

Quando gli viene chiesto degli sforzi di ricerca e sviluppo nella programmazione differenziabile presso Lokad rispetto alle grandi aziende tecnologiche come Facebook, Vermorel ammette che il loro budget è significativamente più piccolo. Tuttavia, sottolinea che le ricerche condotte da queste grandi aziende tecnologiche vengono spesso pubblicate, consentendo a società più piccole come Lokad di studiare e trarre ispirazione dal loro lavoro. La sfida principale per Lokad è rimanere aggiornati con queste pubblicazioni e adattare i risultati della ricerca a una mentalità di supply chain.

Vermorel sottolinea che il focus principale delle grandi aziende tecnologiche è sui grandi problemi di intelligenza artificiale, come la visione artificiale, il riconoscimento vocale, la sintesi vocale e l’elaborazione del linguaggio naturale. Queste aree non sono direttamente correlate alla gestione della supply chain, che è dove risiede l’expertise di Lokad. Mantenendo un’attenzione costante sulla ricerca prodotta da queste grandi aziende tecnologiche e riadattandola per applicazioni di supply chain, Lokad mira a rimanere competitiva nel campo della programmazione differenziabile per l’ottimizzazione della supply chain.

Vermorel sottolinea che molti degli insight ottenuti dalla ricerca sull’intelligenza artificiale non sono specifici per immagini o linguaggio, ma piuttosto fondamentali per l’apprendimento dai dati. Questi insight possono essere applicati a problemi diversi, inclusa la gestione della supply chain, dove potrebbero addirittura funzionare meglio.

Il principale vantaggio della programmazione differenziabile nella gestione della supply chain, secondo Vermorel, è la sua capacità di gestire l’incertezza e la modellazione predittiva senza deviare l’attività aziendale. La sfida sta nel allineare le soluzioni numeriche con i driver aziendali specifici pur rimanendo versatili ed espressivi. La programmazione differenziabile offre una soluzione più espressiva, facilitando la creazione di ricette numeriche adatte al problema aziendale.

Vermorel osserva che una delle sfide più grandi nell’applicare la programmazione differenziabile alla gestione della supply chain è stabilire una serie di costrutti e blocchi di programmazione che funzionino bene per l’industria. Sebbene la differenziazione automatica possa differenziare qualsiasi programma, è fondamentale trovare modi specifici per creare problemi che producano non solo buoni risultati, ma anche risultati stabili e affidabili adatti alla produzione. L’obiettivo è ottenere risultati coerenti senza fallimenti catastrofici, il che rappresenta ancora una sfida.

Trascrizione completa

Kieran Chandler: Oggi, continueremo la nostra mini-serie esaminando le sue origini. Quindi, Joannes, la programmazione differenziabile è un altro termine di moda nel mondo della tecnologia. Abbiamo davvero bisogno di un altro?

Joannes Vermorel: Credo di sì. È molto interessante perché non appena le persone iniziano ad avere una soluzione che funziona per i problemi, improvvisamente non è più intelligenza artificiale. Viene con un nome diverso. L’intelligenza artificiale è il termine generico per dire che è terra incognita; non sappiamo come risolvere quelle classi di problemi. Non appena abbiamo una soluzione, la soluzione ha un nome e tipicamente è stata una serie di progressi relativamente iterativi con molte iterazioni. Quindi viene con un nome che riflette ciò che domina come parte della ricetta numerica in questa soluzione.

Kieran Chandler: Ok, e poi passiamo alla programmazione differenziabile. Qual è la storia dietro questo? Da dove viene il nome e come siamo arrivati a questo punto?

Joannes Vermorel: Il nome deriva da uno degli ingredienti che ha alimentato il deep learning, ovvero l’idea dell’ottimizzazione basata sul gradiente. Cosa significa? Un’ottimizzazione basata sul gradiente significa che hai un modello con potenzialmente milioni di parametri. Il modo in cui addestri questi parametri è attraverso una funzione obiettivo, un’equazione che ti dice se i tuoi risultati sono buoni o cattivi. L’idea è che ogni volta che guardi un punto dati, hai le informazioni che fluiscono all’indietro attraverso questa funzione e puoi calcolare il gradiente. Il gradiente ti dice che se orienti i parametri solo un po’ in questa direzione, migliorerai localmente la funzione obiettivo solo un po’. Questa è l’idea alla base della discesa del gradiente stocastico, che è l’algoritmo utilizzato per ottimizzare gli algoritmi di apprendimento automatico moderni e tutto il deep learning, ad esempio.

Quindi, abbiamo questo approccio basato sul gradiente con molti parametri e l’idea è spostare i parametri un po’ ogni volta che osservi un nuovo punto dati in modo da migliorare gradualmente. Il problema diventa quindi come calcolare questo gradiente. A proposito, il gradiente è solo un nome importante per le derivate multidimensionali. Se hai fatto l’algebra al liceo, hai guardato le derivate, la pendenza di una curva in una dimensione. Se hai molte dimensioni, le chiamerai gradiente. Poiché hai molti parametri, vuoi calcolare la pendenza per ognuno di quei parametri.

Si scopre che storicamente, le reti neurali, che probabilmente sono arrivate prima del deep learning, avevano tutte sorti di tecniche molto complesse chiamate retropropagazione dei gradienti. In termini di complessità di implementazione e prestazioni, era complicato e piuttosto lento. Non che fosse lento, ma più lento rispetto a quello che abbiamo oggi. Una delle scoperte che ha sbloccato la programmazione differenziabile è stata che le persone hanno iniziato a capire circa dieci anni fa che potevano utilizzare una tecnica chiamata differenziazione automatica, che è, tra l’altro, vecchia di 50 anni. È stata scoperta per la prima volta a metà degli anni ‘60, quindi è passato parecchio tempo. Ma è rimasta in gran parte ignorata dalla comunità scientifica. È stata riscoperta più volte, ma in qualche modo quelle scoperte non hanno ottenuto una diffusa attenzione.

Non persone che stavano lavorando per unire cose che erano campi completamente diversi, e quindi quei progressi sono rimasti, direi, in gran parte ignorati. E così, la comunità di apprendimento automatico era un po’ bloccata con le tecniche di retropropagazione che erano molto complicate, molto noiose da implementare, e improvvisamente le persone hanno iniziato a capire che con queste tecniche di differenziazione automatica, potevano calcolare il gradiente per letteralmente qualsiasi programma, non solo qualsiasi funzione, qualsiasi programma. E questo è stato qualcosa di completamente rivoluzionario in termini di implementazione. Improvvisamente potevi creare una rete computazionale arbitrariamente complicata, non solo impilando più strati, ma avendo un programma completamente arbitrario e poi applicare queste stesse tecniche di discesa del gradiente. Ed è da qui che deriva il termine programmazione differenziabile, dall’idea che stai differenziando, nel senso di calcolare la derivata di un programma. Da qui deriva il nome e riflette un po’ l’ambizione di questi ultimi sviluppi nell’apprendimento automatico di pensare a architetture super complesse per le reti computazionali che possono essere come programmi arbitrari e il nome programmazione differenziabile.

Kieran Chandler: Ok, molte cose da considerare. Cerchiamo di analizzarne un po’. Hai detto che alcune di queste idee sono emerse negli anni ‘50 e ‘60. Non è proprio come lo sviluppo rapido che stiamo vedendo nell’IA e cose del genere. Quindi in realtà c’è un approccio piuttosto iterativo per arrivare alla programmazione differenziabile?

Joannes Vermorel: Assolutamente, ma la realtà è che anche il deep learning prima di quello era super iterativo e le reti neurali prima di quello erano super iterative. Voglio dire, il ritmo dei progressi è stato effettivamente piuttosto rapido negli ultimi 50-60 anni. È stato incredibilmente rapido. E ciò che è intrigante è che, sai, all’inizio degli anni ‘60, le persone pensavano che, “Oh, se riusciamo a risolvere la moltiplicazione, l’espansione o tutti quei calcoli difficili, allora identificare un cane sarà super facile. Dopotutto, chiunque per strada può dire che questo è un cane, ma ci vuole un matematico super addestrato per calcolare il logaritmo. Quindi ovviamente, calcolare un logaritmo è molto più complicato che identificare se hai un cane di fronte a te”.

E la sorpresa più grande è venuta dal fatto che in realtà è il contrario. Quei problemi che diamo completamente per scontati, come ad esempio riuscire a mantenere l’equilibrio stando in piedi su due piedi, sono complicati. Voglio dire, è dove in realtà, se smetti di muoverti, cadi semplicemente. Quindi è completamente dinamico. Non è, sai, stare in piedi, avere un robot bipede è come un incubo ingegneristico. È molto più facile avere cose che funzionano su ruote e che sono completamente stabili per design.

Quindi i problemi super semplici, come stare in piedi, identificare se quello che hai di fronte è un cane o un pollo, o qualcos’altro completamente diverso, come solo un poster con una foto di un cane sul poster invece di avere un vero cane. Quei problemi sono molto difficili, e i problemi come calcolare i logaritmi sono in realtà super facili con l’architettura di calcolo che abbiamo. Quindi è stata una grande sorpresa, e ci sono voluti letteralmente decenni per capire che dovevamo scoprire anche solo per iniziare a affrontare problemi super fondamentali.

Da qui il fatto che si parla di intelligenza artificiale da decenni, i progressi sono stati molto reali, molto costanti, ma è solo che c’era così tanto da scoprire che sembrava, forse da un punto di vista esterno, che fosse un po’ lento solo perché le persone hanno posto le aspettative sbagliate fin dall’inizio. Ma sta arrivando, e sta ancora facendo molti progressi, e ora abbiamo capito che abbiamo probabilmente

Kieran Chandler: E che ne dici della programmazione differenziabile? Qual è stata l’ispirazione dietro tutto ciò?

Joannes Vermorel: La chiave, l’idea molto interessante, è stata una transizione dalle reti neurali al deep learning. L’idea era di abbandonare completamente tutta l’ispirazione biologica e di capire che se volevamo andare avanti, dovevamo scartare l’ispirazione biologica per concentrarci su ciò che funziona effettivamente con l’hardware del computer. Una delle chiavi che ha guidato il deep learning è stata la sua modularità. Puoi costruire modelli di apprendimento automatico in modo estremamente modulare; puoi comporli, impilarli, concatenarli e mescolarli in molti modi.

Kieran Chandler: E perché è di primaria importanza per le supply chain?

Joannes Vermorel: È perché vogliamo mescolare cose come prezzi, prodotti, clienti, posizioni, contenitori e tutti i tipi di oggetti molto diversi che devono essere messi insieme per risolvere i problemi delle supply chain. Devi affrontare tutta questa diversità. Quando inizi ad avere modelli che puoi comporre in molti modi, finisci per avere un linguaggio di programmazione, letteralmente. La cosa interessante è che le persone hanno iniziato a costruire strumenti nel deep learning che erano sempre più simili a veri e propri linguaggi di programmazione. Ad esempio, Microsoft ha rilasciato il loro toolkit di rete computazionale, CNTK, che aveva BrainScript, un linguaggio di programmazione specifico per il dominio del deep learning. La prossima fase è stata passare alla programmazione completa.

Kieran Chandler: Quindi è un po’ come un approccio a mattoncini Lego, combinando diversi blocchi da diversi luoghi e combinando questi modelli in modi diversi. Come funziona effettivamente nella pratica? Come stai implementando questa codifica dietro di esso?

Joannes Vermorel: I Lego erano praticamente l’archetipo di ciò che le persone avevano con il deep learning, in effetti. Si trattava di combinare blocchi, ma in modi piuttosto limitati. C’è uno spettro tra il deep learning e la programmazione differenziabile senza una chiara demarcazione. La differenza era che le persone sono passate dai Lego, dove si trattava solo di assemblare parti, alla programmazione, dove puoi fare la stessa cosa ma con espressività programmabile. Per le supply chain, ciò significa che puoi riesaminare i problemi ed esprimere la tua soluzione in modo molto più succinto e mirato al problema che stai cercando di risolvere.

Kieran Chandler: Puoi darmi un esempio?

Joannes Vermorel: Certamente, cerchiamo di ottimizzare congiuntamente i prezzi, la previsione della domanda e l’allocazione delle scorte. Quando ci pensi, tutte queste cose sono completamente accoppiate. Sto facendo una previsione della domanda, ma so che se modifico la mia strategia di prezzi, modificherò la domanda. Se modifico la domanda, ha un impatto su quanto devo produrre e immagazzinare perché la domanda sarà diversa. Tutte queste cose sono completamente accoppiate e hanno dipendenze che puoi scrivere letteralmente.

Kieran Chandler: È complicato in un certo senso. Se ho più domanda, ho bisogno di più scorte per soddisfare la domanda. È piuttosto ovvio, e se metto il prezzo a un punto più alto, allora per la domanda che preserverò, avrò un margine più alto. Ci sono molte cose che sono come calcoli completi e pratici, ma la domanda è: come metti insieme tutti questi ingredienti per fare qualcosa che sia sia una previsione che un’ottimizzazione?

Joannes Vermorel: La risposta è la programmazione differenziabile con tecniche specifiche in cui puoi scrivere quei programmi che lasceranno molto spazio vuoto. Saranno tutti i parametri che desideri ottimizzare, e avrai uno scienziato delle supply chain che scriverà tutto ciò e la tecnologia appropriata per fare l’ottimizzazione.

Kieran Chandler: Quindi quello che stai dicendo con questi spazi vuoti è che stai effettivamente scrivendo un programma in cui non conosci tutte le risposte?

Joannes Vermorel: Sì, è corretto.

Kieran Chandler: Come puoi saperlo e avere la certezza che arriverai effettivamente alla risposta giusta se ci sono questi spazi vuoti?

Joannes Vermorel: In effetti, è simile al fenomeno del machine learning. Stai imparando, quindi non hai garanzie che otterrai buoni risultati. Detto questo, non penso che al giorno d’oggi sia diverso dal deep learning e da tutte le tecniche di machine learning precedenti. Ad esempio, i programmi di machine learning hanno ora superato tutti i giocatori umani in giochi come Go e scacchi. Quindi, non è come se non avessimo segni chiari che funzioni effettivamente, anche al di là delle capacità umane per problemi ancora piuttosto limitati, rispetto all’identificazione di dove si trova un cane in un ambiente urbano disordinato, che è un problema molto più difficile.

Kieran Chandler: Hai menzionato alcune prospettive delle supply chain per la programmazione differenziabile. Dal punto di vista della ricerca e sviluppo, quanto è vicino ciò che stiamo facendo qui da Lokad rispetto a ciò che fanno Facebook e altre grandi aziende tecnologiche nella programmazione differenziabile?

Joannes Vermorel: Credo che i grandi player tecnologici come Google, Facebook e Microsoft abbiano un budget molto più grande per la ricerca e lo sviluppo. Da Lokad, facciamo del nostro meglio, ma siamo realisti, non ho nemmeno l'1% del budget di AI di Microsoft o Facebook. Questa è una realtà per la maggior parte delle aziende B2B al momento. Quei mercati sono ancora piuttosto di nicchia e non c’è nessuna azienda nella supply chain che direbbe di avere 2.000 ricercatori di AI. Tuttavia, la buona notizia è che quei giganti come Google, Amazon e Facebook stanno effettivamente pubblicando molto, quindi la maggior parte delle loro ricerche è pubblicata. Ciò significa che una delle sfide chiave che affrontiamo da Lokad è tenere d’occhio tutte quelle pubblicazioni e trarne costantemente ispirazione. Ri-ingegnerizziamo ciò che stanno facendo ma con una mentalità di supply chain perché quelle grandi squadre stanno lavorando sui grandi problemi di AI come la computer vision, il riconoscimento del parlato, la sintesi del parlato e l’elaborazione del linguaggio naturale, che non è affatto ciò che le persone stanno cercando di risolvere nella supply chain.

Kieran Chandler: Quindi come potresti passare da quei grandi problemi di AI come il riconoscimento delle immagini e il riconoscimento del parlato alla supply chain? Come possono essere correlati?

Joannes Vermorel: Le persone hanno scoperto l’idea chiave del progresso negli ultimi decenni, che è il meccanismo fondamentale dell’apprendimento e il meccanismo fondamentale dell’ottimizzazione numerica efficiente e scalabile. Quello che è molto interessante è che la maggior parte delle intuizioni che stanno scoprendo non sono specifiche per le immagini. Sono più a livello fondamentale.

Kieran Chandler: Quindi, ho sentito parlare di un trucco che funziona solo per le immagini, ma ci sono molte pubblicazioni in cui il trucco o l’intuizione scoperta non è affatto specifico. Succede solo che per convalidare le intuizioni e gli esperimenti, devono ingegnerizzare una soluzione, e questa soluzione è ingegnerizzata per le immagini. Ma il trucco potrebbe essere applicato a problemi completamente diversi. Potrebbe non funzionare naturalmente con la stessa efficienza su problemi completamente diversi, ma a volte funzionerà anche meglio. Puoi approfondire questo argomento?

Joannes Vermorel: Sì, hai ragione. A volte viene scoperta una tecnica che è interessante per le immagini ma non è rivoluzionaria. Viene comunque pubblicata, poiché è considerata nuova e contribuisce al progresso scientifico. Tuttavia, quando si applica questa tecnica a un contesto diverso, come una supply chain, si possono ottenere progressi significativi. Quindi, funziona in entrambi i modi.

Kieran Chandler: Qual è il principale vantaggio, dal punto di vista di Lokad, della programmazione differenziabile? È l’idea che puoi rispondere a tutti quegli elementi sconosciuti che sono presenti in una supply chain e a tutti quegli spazi vuoti in cui non sai effettivamente cosa succederà in futuro?

Joannes Vermorel: La grande sfida che affrontiamo nella supply chain è come avere modelli predittivi e ottimizzazioni predittive che non tradiscano il business. Non è banale perché non si tratta di ottenere risposte generiche; si tratta di avere una classe molto specifica di decisioni che ottimizzano il business in modi altamente specifici, che si allineano con i driver aziendali che si definiscono. Non cerchiamo di far sì che le tecniche di AI scoprano gli obiettivi aziendali; gli obiettivi aziendali vengono stabiliti con un’intelligenza di livello umano per definire la strategia e la prospettiva. Il problema ha molta struttura e la sfida più grande è assicurarsi che le ricette numeriche che stai creando si allineino con quei driver aziendali. È molto difficile - di solito, finisci con un buco rotondo e un tassello quadrato che semplicemente non si adattano. La programmazione differenziabile è un modo per affrontare questo problema.

Kieran Chandler: Essere molto più espressivi, e questo è la chiave per assicurarsi di poter, sai, creare ricette numeriche che si adattino effettivamente al problema aziendale che hai di fronte. Sai, se hai accesso a un linguaggio di programmazione, allora sei molto di più, direi, espressivo e versatile. Improvvisamente diventa, sai, nella pratica, molto più facile far combaciare le cose. Ok, cominciamo a concludere. Hai accennato all’inizio che la programmazione differenziabile era solo l’inizio di una lunga strada con molte sfide davanti.

Joannes Vermorel: Sì, dove siamo su quella strada e quali sono le sfide più grandi che affronteremo… La sfida più grande è probabilmente stabilire una serie di, probabilmente identificare, una serie di costrutti e blocchi di costruzione, sai, blocchi di costruzione di programmazione che funzionino davvero bene per la supply chain. Quindi, ricorda, la differenziazione automatica ti consente di differenziare qualsiasi programma, vero, ma come hai sottolineato, non è perché sai, smetti o inizi a inserire parametri nel tuo programma e dici: “Beh, qualsiasi cosa funzionerà perché posso ottimizzare i miei parametri”. No, la realtà è che non è qualsiasi tipo di programma che funziona. Sì, puoi differenziare qualsiasi programma che ha quei parametri, ma la realtà è che se stessi, sai, scrivendo un programma a caso con parametri in mezzo, quando avvii la tua ottimizzazione, sai, la tua differenziazione automatica, i risultati che otterrai saranno una completa schifezza. Quindi no, deve essere, dobbiamo identificare modi specifici di creare quei problemi che producono non solo risultati che non sono solo buoni ma anche molto stabili e affidabili. Vedi, preferisci, vogliamo avere cose che possiamo portare in produzione, quindi essere migliori in media non è sufficiente. Vuoi avere qualcosa che non solo sia migliore ma anche molto affidabile, e quindi non generi, sai, meraviglie di una volta, qualcosa che sia criticamente cattivo. Vuoi risultati molto stabili, molto affidabili, che non falliscano in modi catastrofici una volta all’anno. E questo è ancora probabilmente in parte davanti a noi.

Kieran Chandler: Fantastico. Bene, è qui che ci fermiamo oggi. Grazie per il tuo tempo, Joannes.

Joannes Vermorel: Grazie.

Kieran Chandler: Grazie mille per averci seguito. Torneremo la prossima settimana con l’ultimo episodio di questa mini-serie sulla programmazione differenziabile. Ma fino ad allora, grazie per la visione.