Leader di pensiero
Lo sviluppo di apprendimento automatico di successo richiede un nuovo paradigma – Leader di pensiero

Di Victor Thu, presidente, Datatron
Le iniziative che utilizzano l’apprendimento automatico non possono essere trattate nello stesso modo dei progetti che coinvolgono software convenzionali. È fondamentale muoversi rapidamente in modo da poter testare le cose, risolvere i problemi e testarle di nuovo. In altre parole, è necessario essere in grado di fallire rapidamente – e farlo all’inizio del processo. Aspettare fino a più tardi in questo processo per trovare problemi può risultare molto costoso e lungo.
L’AI richiede un nuovo approccio
Quando si sviluppa software utilizzando il metodo tradizionale, si utilizza la logica decisionale. Per essere il più precisi possibile, si incorpora la logica che consente al software di funzionare correttamente. Non c’è (di solito) bisogno di modifiche dopo che la logica dell’applicazione è stata sviluppata, ad eccezione dei bug fix. È un processo di sviluppo molto metodico; si procede gradualmente assicurandosi che ogni passaggio nel processo sia accurato prima di passare al successivo. È una strategia collaudata che ha dimostrato costantemente la sua efficacia per lo sviluppo del software.
Tuttavia, non è possibile utilizzare la stessa strategia per i progetti di AI/ML perché semplicemente non funziona. Invece, è necessario avere la capacità di iterare rapidamente e frequentemente per trovare il successo con un progetto di ML. Poiché l’ML richiede un addestramento iniziale e è un processo, è necessario affrontarlo con la consapevolezza che non sarà accurato la prima volta che viene distribuito.
Questo processo richiede molteplici iterazioni. La realtà è che il primo modello incontrerà risultati inaspettati il 99% delle volte. Anche se si spendono mesi ad addestrare il modello in laboratorio, cambierà inevitabilmente una volta che incontrerà dati e traffico del mondo reale.
Non puntare alla perfezione immediata
Quindi, per testare un modello e determinare quali modifiche sono necessarie, è necessario essere in grado di metterlo in produzione rapidamente. È poi possibile apportare eventuali modifiche, rilasciarlo di nuovo e raffinarlo. Per questo motivo, non è necessario mettere troppa energia nel tentativo di rendere il modello perfetto prima di testarlo in produzione; il primo tentativo non sarà perfetto e nessuno dovrebbe aspettarselo.
Mentre il modello viene sviluppato in laboratorio, i miglioramenti aggiuntivi dal 92% al 95% di accuratezza potrebbero non essere significativi per alcuni casi d’uso. Perché no? Solo una piccola parte dei dati di addestramento è stata utilizzata per addestrare il modello di intelligenza artificiale. È possibile finire per investire molto tempo e denaro per ottenere quel po’ di accuratezza in più, rinunciando ai vantaggi che il modello potrebbe offrire nel frattempo.
Passaggi efficaci nella distribuzione di ML
Poiché c’è la possibilità che un modello fallisca o produca previsioni errate, gli scienziati di ML sono sometimes riluttanti a mettere un modello in produzione. Ha senso, fino a un certo punto. È necessario un sistema che consenta di visualizzare gli eventi mentre si verificano in tempo reale. Con questo approccio, è possibile immediatamente ritirare e aggiornare il modello e poi rilasciare rapidamente un nuovo modello. Invece di rimanere bloccati nell'”analisi paralizzante”, questo è il metodo più efficiente per mettere in produzione i modelli di apprendimento automatico.
È molto meglio semplicemente lanciare il modello e lasciarlo acquisire un po’ di esperienza. Ciò non elimina la necessità per gli scienziati dei dati di creare il modello il più accurato possibile fin dall’inizio. Ma non appena si completa la versione iniziale, si dovrebbe iniziare a raccogliere quei dati importanti il prima possibile.
Si potrebbe voler eseguire i modelli in modalità di test A/B o in modalità di shadow contro dati del mondo reale come parte di questo processo. In questo modo, è possibile confrontare fondamentalmente le prestazioni dei vari modelli e avere molti dati e prove prima di scegliere quale modello promuovere o demote.
Costruire un modello localizzato invece di concentrarsi sulla creazione di un unico modello globale per prevedere il comportamento per l’ambiente macro è un’altra best practice. Con un modello localizzato, è possibile utilizzare dati di situazioni specifiche in modo che il modello si comporti come si deve per ciascuna di quelle situazioni. Ciò risparmia tempo, dati e sforzi rispetto a un modello onnicomprensivo che richiederebbe una quantità significativa di queste risorse per funzionare.
Determinare la domanda di scarpe personalizzate sarà un esempio qui. Il modello globale potrebbe essere applicabile al resto del Nord America se fosse basato sulla popolazione di New York. Tuttavia, probabilmente non rappresenterebbe con precisione la domanda in altre parti del paese. Una strategia di modello localizzato avrebbe consentito di ottenere margini di profitto più alti, che si stanno ora perdendo.
I modelli richiedono aggiornamenti regolari, naturalmente. I modelli richiedono aggiornamenti continui perché i dati dell’ambiente sono sempre in cambiamento, a differenza del software tradizionale che può essere impostato una volta e lasciato solo. I modelli di ML si deteriorano nel tempo se non vengono iterati regolarmente. Ciò deve avvenire durante l’intero ciclo di vita del modello e deve essere monitorato attentamente.
Il nuovo paradigma dell’apprendimento automatico
Confrontare i modelli di apprendimento automatico con il software convenzionale non è saggio. Tuttavia, gli esperti di ML traggono vantaggio da una tecnica di deploy rapido per i modelli di AI/ML, proprio come gli ingegneri del software hanno fatto con DevOps. Per i progetti di ML, è necessario un sistema che renda possibile lanciare rapidamente i modelli. È necessario essere in grado di confrontare diversi modelli, contrastando efficacemente uno che è live con uno che non lo è. Queste e le altre best practice menzionate sopra aiuteranno a superare l’analisi paralizzante e a fallire rapidamente e precocemente in modo da poter scalare l’apprendimento automatico.












