6 consigli per guidare un progetto di apprendimento automatico

Machine Learning e Deep Learning non sono più solo parole d'ordine. Questa tecnologia, un tempo di frontiera, si è trasformata in una componente cruciale dello stack tecnologico di imprese e startup, trasformando lo sviluppo del software. Dal momento che il Machine Learning (ML) si intreccia con i processi decisionali delle aziende, vogliamo distinguere che lo stack tecnologico ML è un processo e non solo un software statico.

Le soluzioni di Machine Learning sono guidate dalla disponibilità e dalla quantità dei dati giusti, il che cambia il modo di pensare alla costruzione, alla manutenzione e al miglioramento dell'infrastruttura. La costruzione di soluzioni di Machine Learning non è semplice a causa di questi fattori. I data scientist, gli sviluppatori software e gli ingegneri DevOps devono collaborare in diverse aree per produrre una soluzione utile. Questo articolo illustra 6 best practice che ogni organizzazione che conduce un progetto di Machine-Learning dovrebbe seguire.

1. Definire gli obiettivi e specificare i requisiti del progetto

Definire un obiettivo concreto non è così semplice come sembra. Gli approcci che si possono utilizzare per risolvere un problema sono molteplici e non sempre è chiaro quale sia il migliore. Si può essere tentati di dedicare meno tempo a definire chiaramente gli obiettivi, ma gli obiettivi mal definiti sono il modo in cui i progetti finiscono per far deragliare le iniziative, poiché il team che costruisce la soluzione non sa a cosa dare priorità e può perdersi a fare test per vedere cosa possono ottenere i vari modelli, distruggendo lo slancio del progetto, la probabilità di lanciarlo e il ritorno sull'investimento (ROI) a causa dello sviluppo infinito.

Avere obiettivi e priorità chiaramente definiti è essenziale per gestire gli obiettivi di Machine Learning della vostra azienda. Spesso si finisce per sforare i tempi a causa di un ambito in continua espansione e della mancanza di criteri di valutazione, che possono far spostare l'attenzione dall'identificazione delle soluzioni che hanno un ROI e soddisfano gli obiettivi aziendali. Fin dall'inizio del progetto, tutti devono lavorare per lo stesso obiettivo.

2. Creare una lista di controllo prima di iniziare il progetto ML

Dovreste avere un'idea solida di come appariranno i vostri progressi prima ancora di scrivere la vostra prima riga di codice. Pensate alle seguenti domande prima di iniziare il vostro progetto di ML:

Che cosa vuole ottenere il vostro progetto di ML?
Avete i dati giusti?
Come verranno valutate le prestazioni del modello?
Il modello deve essere leggero e funzionare sul computer dell'utente o sul server dell'azienda?
Il modello può elaborare i dati in anticipo o ha bisogno di un modello leggero che possa funzionare in tempo reale?
Esiste l'infrastruttura necessaria?
Le prestazioni extra di modelli più grandi e di un maggior numero di GPU sono effettivamente importanti per il caso d'uso o valgono il ROI?
Quali sono i requisiti per la distribuzione?
La spiegabilità è necessaria?

3. Pianificare e definire il processo iterativo

Anche se il modello iniziale viene utilizzato in produzione, il lavoro non è ancora terminato. La chiave per un'implementazione di successo del Machine Learning è iniziare in piccolo, mettere in funzione un MVP con i dati che si hanno a disposizione e fare un benchmark della soluzione per vedere se l'accuratezza del modello è o può essere paragonata a prestazioni di livello umano. Una volta fatto questo, si valuta se c'è un ROI in ulteriori iterazioni, investendo per ottenere più dati e migliori, e potenzialmente risolvendo i casi limite che non hanno abbastanza dati con tecniche non-ML.

Ripetete sempre la procedura per ogni nuova soluzione e apportate le modifiche prima dell'iterazione successiva. Gli obiettivi aziendali variano quasi sempre. La tecnologia di base, la ricerca, i metodi e l'hardware che alimentano le soluzioni ad alta intensità di calcolo si evolvono. Tutto ciò può comportare la necessità di perfezionare o ottimizzare il modello per adattarlo alle mutevoli condizioni del mondo o del settore in cui si opera, ai dati con cui si lavora, alle nuove capacità o ai nuovi sistemi.

4. Raccogliere dati storici dai sistemi esistenti

A volte i requisiti non sono molto evidenti, rendendo difficile l'identificazione immediata dell'obiettivo giusto. Quando si integra il Machine Learning in sistemi preesistenti, questo è spesso il caso. Raccogliete il maggior numero possibile di informazioni dal sistema attuale prima di entrare nello specifico delle prestazioni dell'applicazione e della funzione che il Machine Learning svolgerà.

In questo modo è possibile svolgere il compito in questione utilizzando i dati storici. Inoltre, questi dati possono evidenziare immediatamente le aree che necessitano di ottimizzazione e la linea d'azione ottimale.

5. Garantire l'accesso ai dati necessari

Dopo aver inquadrato il problema, sono necessarie le informazioni pertinenti. Vale la pena di consultarle perché la maggior parte delle fonti di dati sono accessibili gratuitamente su siti web come Kaggle e Set di dati UCI. Se il problema è distinto, potrebbe essere necessario raccogliere, organizzare e archiviare i propri dati. Lo scraping da Internet e la categorizzazione manuale dei dati raccolti sono due opzioni frequenti. Ottenere la giusta qualità e una quantità sufficiente dei dati necessari è spesso ciò che consente di creare soluzioni di ML utili che hanno maggiori probabilità di entrare in produzione dopo i test iniziali.

6. Valutare e ottenere il giusto stack tecnologico

I modelli di ML scelti devono essere eseguiti manualmente per verificarne l'accuratezza dopo la selezione. Ad esempio, nel caso dell'email marketing personalizzato, è necessario adattare la strategia e testare più variabili se le email promozionali inviate non generano un tasso di conversione superiore a quello di base.

È necessario selezionare la tecnologia migliore dopo l'esito positivo dei test manuali. I team di data science dovrebbero essere liberi di scegliere tra vari stack tecnologici per consentire la sperimentazione e la selezione dello stack tecnologico che semplifica il ML. Il benchmarking deve essere effettuato per velocità, stabilità, ROI, capacità di risolvere i problemi della forza lavoro/dei clienti, casi d'uso futuri e prestazioni su dispositivo o cloud.

In che modo l'intelligenza artificiale può aiutare?

I modelli di Machine Learning e Deep Learning richiedono un'ampia conoscenza del dominio, l'accesso a dati etichettati di alta qualità e risorse computazionali per l'addestramento e il miglioramento continuo dei modelli. Il miglioramento dei modelli di apprendimento automatico è un'abilità che si sviluppa affrontando metodicamente le carenze dei modelli esistenti con i vincoli dati. Skim AI offre soluzioni utili a tutti i livelli, dagli studenti agli amministratori delegati, per aiutarvi a superare il rumore, a individuare intuizioni migliori e a prendere decisioni migliori sulla base dei dati che contano.

it_ITItaliano