IA 101
Modelli di apprendimento automatico personalizzati vs già pronti?

Quando è meglio costruire piuttosto che acquistare una soluzione già pronta?
Le aziende possono adottare diversi approcci per lo sviluppo di modelli. Dai servizi di apprendimento automatico completamente gestiti, a modelli personalizzati. A seconda dei requisiti aziendali, della competenza disponibile e delle limitazioni di pianificazione, devono prendere una decisione: dovrebbero sviluppare soluzioni personalizzate da zero? O dovrebbero scegliere un servizio già pronto?
Per tutte le fasi dei carichi di lavoro di apprendimento automatico, deve essere presa una decisione su come i diversi pezzi del puzzle si incastreranno insieme. Dalla raccolta dei dati, alla preparazione e alla visualizzazione, fino all’ingegneria delle caratteristiche, all’addestramento del modello e alla valutazione, gli ingegneri di apprendimento automatico si chiedono costantemente la stessa domanda: sarà una soluzione implementata personalmente, scritta e sviluppata da zero? O sarà un servizio già pronto?
Ma quando è meglio costruire piuttosto che acquistare una soluzione già pronta? I principali fattori di differenziazione tra i due approcci: gli sforzi di pre-elaborazione, la velocità di sviluppo e la competenza richiesta.
Cose da considerare quando si decide di utilizzare modelli di apprendimento automatico personalizzati o già pronti?
Sforzi di pre-elaborazione
I progetti di apprendimento automatico affrontano tutti i tipi di sfide, ma forse la sfida più grande è la disponibilità di dati di addestramento. La mancanza di dati di addestramento può fermare un progetto prima ancora che inizi. Prima che un progetto inizi, può affrontare costi di pre-elaborazione significativi per la raccolta dei dati, l’etichettatura dei dati, la pulizia e gli sforzi di pre-elaborazione. Questo è il noto trabocchetto in cui molti progetti di apprendimento automatico falliscono: la pre-elaborazione finisce per occupare l’80% delle risorse allocate, mentre poche risorse sono lasciate per l’addestramento effettivo del modello e la valutazione.
Le soluzioni già pronte alleviano le tensioni e i dolori degli sforzi di pre-elaborazione. Sono state progettate per eseguire le operazioni più comuni con solo una piccola configurazione richiesta. La cosa migliore è: le soluzioni già pronte esistono per tutte le fasi dei carichi di lavoro di apprendimento automatico.
D’altra parte, le implementazioni personalizzate richiedono solitamente più sforzi di pre-elaborazione. Ciò non significa che debbano essere scartate completamente: sono ancora necessarie per regolare un certo stadio di apprendimento automatico alle specifiche del problema da risolvere. Un set di dati particolarmente sporco può richiedere alcune regole di pulizia speciali. Allo stesso tempo, un set di caratteristiche specifico può richiedere un’ingegneria delle caratteristiche personalizzata, proprio come le architetture neurali possono richiedere leggere modifiche. In questo caso, le soluzioni personalizzate costruite da zero sono probabilmente in grado di coprire tutte le esigenze.
Velocità di sviluppo
Le soluzioni già pronte si concentrano sulla configurazione piuttosto che sull’implementazione. Invece di allocare risorse per capire cosa deve essere fatto, i team di apprendimento automatico si concentreranno su come i diversi pezzi del puzzle si incastreranno insieme. Questo approccio consente alle aziende, ai ricercatori e agli ingegneri di implementare rapidamente prototipi e prove di concetto. Invece di reinventare la ruota, le soluzioni già pronte rendono possibile sfruttare le conoscenze esistenti, risparmiando così tempo di sviluppo.
Le soluzioni personalizzate implementate da zero sono note per essere molto più lente in termini di velocità di sviluppo. Ciò è dovuto alle loro esigenze di manutenzione aumentate: gli ingegneri devono capire sia il cosa che il come della soluzione. Allo stesso modo, più la soluzione è complessa, più tempo e risorse sono richiesti per garantirne la scalabilità e la disponibilità durante la produzione. Da questo punto di vista, le soluzioni personalizzate e gli sforzi di tempo sono direttamente proporzionali: più la soluzione è complessa, più tempo richiederà.
Di solito, tuttavia, la verità si trova a metà strada: un codice esistente verrà rifattorizzato e adattato alle esigenze del progetto corrente. Tale è il caso dell’approccio di apprendimento trasferito ben noto all’addestramento del modello.
Competenza
Proprio come ci sono molti livelli in cui il machine learning viene eseguito, ci sono molti livelli di competenza ai quali i modelli di apprendimento automatico possono essere sviluppati, che vanno da interfacce senza codice a modelli costruiti da zero.
Le soluzioni già pronte esistono per le quali è richiesta poca competenza in materia di apprendimento automatico. Utilizzando interfacce intuitive e anche approcci di trascinamento e rilascio, è diventato estremamente semplice per chiunque (dai business analyst agli ingegneri software) costruire e distribuire un tipo di modello di apprendimento automatico. Sebbene questo approccio semplice allo sviluppo del modello possa funzionare per scopi di prototipazione, è improbabile che soddisfi i requisiti dei sistemi di produzione.
La competenza è ancora necessaria per configurare, impostare e mantenere correttamente le soluzioni già pronte in produzione. Soluzioni alternative, patch di codice, connessioni a diverse interfacce API e gestione dei problemi di distribuzione sono compiti comuni richiesti per garantire le prestazioni dei modelli in ambienti di produzione.
Le soluzioni personalizzate sono solitamente implementate a livello infrastrutturale e non c’è via di uscita: la competenza è definitivamente richiesta. A seconda delle dimensioni dell’azienda e degli obiettivi del progetto, possono essere necessari team multidisciplinari per la manutenzione dei sistemi di produzione. I data scientist, gli ingegneri di apprendimento automatico e gli analisti aziendali si uniscono per dare un senso ai risultati dell’inferenza e mantenere i modelli di produzione.
Cosa dovresti utilizzare: un modello di apprendimento automatico già pronto o personalizzato?
Una soluzione di apprendimento automatico sarà costruita da molti componenti e servizi individuali che devono unirsi in una soluzione coerente. Non si tratta mai di andare al 100% personalizzato o al 100% già pronto, poiché diversi problemi aziendali richiedono diverse soluzioni. Più spesso di quanto non si pensi, le soluzioni basate sull’apprendimento automatico sono costruite da una miscela di entrambi: servizi già pronti per estrarre informazioni generali, combinati con modelli personalizzati per una maggiore accuratezza e per la modellazione della conoscenza specifica del dominio.
Il trucco è sapere quando implementare soluzioni personalizzate da zero e quali parti del progetto possono sfruttare i vantaggi dei servizi già pronti. Ciò dipende notevolmente dal tipo di problema che si sta affrontando, dai requisiti aziendali, dai dati disponibili e dalle limitazioni generali dell’ambiente di sviluppo.
Per ulteriori informazioni su intelligenza artificiale e tendenze tecnologiche, vedere Josh Miramant, CEO di Blue Orange Digital, per soluzioni guidate dai dati per Supply Chain, automazione dei documenti sanitari e altro.
Potresti anche apprezzare:
Utilizza il NLP per classificare i commenti sui social media
Come l’elaborazione del linguaggio viene migliorata attraverso il modello BERT open source di Google
