L'addestramento del modello è il processo di "insegnamento" a un modello di machine learning, al fine di ottimizzare le prestazioni su un set di dati di addestramento di attività di esempio pertinenti agli eventuali casi d'uso del modello. Se i dati di addestramento assomigliano molto ai problemi del mondo reale di cui si occuperà il modello, impararne i pattern e le correlazioni consentirà a un modello addestrato di fare previsioni accurate su nuovi dati.
Il processo di addestramento è la fase più critica nel ciclo di vita dei modelli AI, dai sistemi di forecasting basati su algoritmi di regressione lineare di base alle complesse reti neurali che alimentano l'AI generativa.
L'addestramento del modello è la fase del machine learning (ML) in cui avviene l'apprendimento. Nel machine learning, l'apprendimento implica la regolazione dei parametri di un modello ML. Questi parametri includono pesi e bias nelle funzioni matematiche che costituiscono i loro algoritmi. L'obiettivo di questa regolazione è quello di produrre output più accurati. I valori specifici di questi pesi e bias, che sono il risultato finale dell'addestramento dei modelli, sono la manifestazione tangibile della "conoscenza" di un modello.
Dal punto di vista matematico, l'obiettivo di questo apprendimento è quello di ridurre al minimo una funzione di perdita che quantifica l'errore degli output nelle attività di addestramento. Quando l'output della funzione di perdita scende al di sotto di una soglia predeterminata, ovvero l'errore del modello nelle attività di addestramento è sufficientemente piccolo, il modello viene considerato "addestrato". Nell'apprendimento per rinforzo, l'obiettivo è invertito: invece di ridurre al minimo una funzione di perdita, i parametri del modello sono ottimizzati per aumentare al massimo una funzione di ricompensa.
Nella pratica, l'addestramento dei modelli comporta un ciclo in cui i dati vengono raccolti e resi accurati, l'esecuzione del modello su tali dati di addestramento, la misurazione delle perdite, l'ottimizzazione dei parametri e il test delle prestazioni del modello su set di dati di convalida. Questo workflow procede in modo iterativo fino al raggiungimento di risultati soddisfacenti. Un'addestramento adeguato potrebbe anche richiedere l'aggiustamento degli iperparametri, ovvero scelte strutturali che influenzano il processo di apprendimento ma non sono di per sé "apprendibili", in un processo chiamato ottimizzazione degli iperparametri.
A volte, un modello già addestrato può essere messo a punto per attività o domini più specifici attraverso un ulteriore apprendimento su nuovi dati di addestramento. Sebbene sia l'addestramento originale da zero, sia la successiva messa a punto siano un "addestramento", in questo contesto il primo è solitamente chiamato "pre-addestramento" (per motivi di disambiguazione). Il fine-tuning, o messa a punto, è uno dei diversi tipi di apprendimento per trasferimento, un termine generico per le tecniche di machine learning che adattano i modelli preaddestrati a nuovi usi.
Sebbene i termini “modello” e “algoritmo” siano spesso usati in modo intercambiabile nel campo dell’intelligenza artificiale, non sono la stessa cosa. La distinzione risiede principalmente nella relazione di ciascun termine con l'addestramento del modello.
In altre parole, un modello AI viene utilizzato per fare previsioni o prendere decisioni, e un algoritmo è la logica matematica con cui opera il modello. Due modelli potrebbero utilizzare lo stesso algoritmo di base ma avere valori diversi per i pesi e le polarizzazioni all'interno di tale algoritmo, perché sono stati addestrati su dati diversi.
Il deep learning è un sottoinsieme del machine learning, i cui modelli sono delle reti neurali con molti livelli, e quindi "profonde", piuttosto che algoritmi progettati esplicitamente come regressione logistica o Naïve Bayes. Due modelli di deep learning potrebbero avere la stessa struttura, come un autoencoder standard, ma differiscono nel numero di livelli, nel numero di neuroni per livello o nelle funzioni di attivazione di ciascun neurone.
Nella maggior parte dei contesti, l'addestramento è pressoché un sinonimo di apprendimento: un data scientist addestra, mentre un modello apprende. L'apprendimento comporta la regolazione dei parametri di un algoritmo di machine learning fino a quando gli output del modello risultante non soddisfano alcune metriche di precisione o utilità. L'addestramento comporta la raccolta di dati di addestramento e l'ottimizzazione degli iperparametri, come la scelta di una funzione di perdita, l'impostazione della frequenza di aggiornamento dei parametri o la modifica dell'architettura di una rete neurale, per facilitare tale apprendimento.
I modelli AI sono generalmente classificati come appartenenti a uno dei tre distinti paradigmi di machine learning: apprendimento supervisionato, apprendimento non supervisionato o apprendimento per rinforzo. Ogni tipo di machine learning ha i propri casi d'uso, iperparametri, algoritmi e processi di addestramento unici.
L'apprendimento supervisionato è utilizzato quando un modello viene addestrato a prevedere l'output "corretto" per un input. Si applica alle attività che richiedono un certo grado di precisione rispetto a qualche "ground truth" esterno, come la classificazione o la regressione.
L'apprendimento non supervisionato è utilizzato quando un modello viene addestrato a discernere modelli e correlazioni intrinseche nei dati. A differenza dell'apprendimento supervisionato, l'apprendimento non supervisionato non presuppone l'esistenza di alcun ground truth esterno con cui confrontare i suoi output.
L'apprendimento per rinforzo è utilizzato quando un modello viene addestrato a valutare il suo ambiente e a intraprendere l'azione che otterrà la maggiore ricompensa.
Vale la pena notare che le definizioni e le distinzioni tra ciascun paradigma di apprendimento automatico non sono sempre formali o assolute. Ad esempio, l'apprendimento auto-supervisionato (SSL) può essere facilmente classificato come apprendimento supervisionato o non supervisionato, a seconda dell'aspetto delle definizioni di questi termini a cui si dà più importanza. L'apprendimento semi-supervisionato combina apprendimento supervisionato e non supervisionato.
Vale anche la pena notare che a volte è possibile utilizzare più tipi di machine learning per addestrare un singolo sistema di AI. Ad esempio, le versioni dei modelli linguistici di grandi dimensioni (LLM) utilizzate per applicazioni conversazionali come i chatbot, in genere sono sottoposte a un pre-addestramento auto-supervisionato, seguito da una messa a punto supervisionata e, successivamente, dall'apprendimento per rinforzo dal feedback umano (RLHF).
In quanto tipologia dominante di addestramento per le reti neurali che comprendono i modelli di deep learning, l'apprendimento supervisionato è alla base della maggior parte dei modelli AI attualmente più all'avanguardia. L'apprendimento supervisionato è il principale paradigma di addestramento per le attività che richiedono precisione, come la classificazione o la regressione.
Per addestrare un modello alla precisione è necessario confrontare le sue previsioni di output per un input specifico con le previsioni "corrette" per tale input, solitamente chiamate "ground truth". Nell'apprendimento supervisionato convenzionale, il ground truth è fornito da coppie di dati etichettati. Ad esempio, i dati di addestramento per i modelli di rilevamento degli oggetti accoppiano le immagini grezze (l'input) con le versioni annotate delle immagini che indicano la posizione e la classificazione di ogni oggetto al loro interno (l'output).
Poiché questo metodo di addestramento richiede la presenza di un essere umano all'interno del processo per fornire questo ground truth, si chiama apprendimento "supervisionato". Tuttavia, la caratteristica definitiva dell'apprendimento supervisionato non è il coinvolgimento umano, bensì l'uso di alcuni ground truth e la riduzione al minimo di una funzione di perdita che misura lo scostamento. Questa distinzione è diventata importante quando nuove tecniche di apprendimento innovative hanno escogitato modi per dedurre implicitamente "pseudoletichette" da dati senza etichetta.
Per accogliere una nozione più versatile di apprendimento supervisionato, la moderna terminologia di machine learning (ML) utilizza i termini "supervisione" o "segnali di supervisione" per riferirsi a qualsiasi fonte di ground truth. Nell'apprendimento auto-supervisionato, che è nominalmente "non supervisionato" in quanto utilizza dati senza etichetta, i segnali di supervisione derivano dalla struttura dei dati senza etichetta. Ad esempio, gli LLM vengono preaddestrati tramite SSL prevedendo parole mascherate in esempi di testo, dove il testo originale che funge da ground truth.
A differenza dell'apprendimento supervisionato, l'apprendimento non supervisionato non presuppone la preesistenza di risposte "corrette" e quindi non utilizza segnali di supervisione o funzioni di perdita convenzionali. Gli algoritmi di apprendimento non supervisionato cercano di scoprire modelli intrinseci nei dati non etichettati, come somiglianze, correlazioni o potenziali raggruppamenti, e sono più utili quando tali modelli non sono necessariamente evidenti agli osservatori umani.
Le categorie principali di algoritmi di apprendimento non supervisionato includono:
Come suggerisce il nome, gli algoritmi di apprendimento non supervisionati possono essere intesi in qualche modo come "capaci di ottimizzarsi". Ad esempio, questa animazione del professor Andrey Shabalin, Ph.D. dell'Università dello Utah, mostra come un algoritmo di k-means clustering ottimizza iterativamente il centroide di ciascun cluster.
Pertanto, l'addestramento di modelli AI che utilizzano algoritmi di apprendimento non supervisionato è solitamente una questione di messa a punto degli iperparametri. Ad esempio, in un algoritmo di clustering, il numero ideale di cluster () non è sempre ovvio e potrebbe richiedere una sperimentazione manuale per ottenere risultati ottimali.
Mentre l'apprendimento supervisionato addestra i modelli ottimizzandoli in modo che corrispondano a esemplari ideali e gli algoritmi di apprendimento non supervisionato si adattano a un set di dati, i modelli di apprendimento per rinforzo vengono addestrati in modo olistico attraverso tentativi ed errori. I problemi di rinforzo non prevedono una sola risposta "giusta", bensì prevedono decisioni "buone" e decisioni "cattive" (o magari neutre).
Al posto delle coppie indipendenti di dati input-output utilizzate nell'apprendimento supervisionato, l'apprendimento per rinforzo (RL) utilizza tuple di dati stato-azione-ricompensa interdipendenti. Un framework matematico per l'apprendimento per rinforzo si basa principalmente su questi componenti:
L'obiettivo di un algoritmo RL è quello di ottimizzare una politica per ottenere la massima ricompensa. Nell'apprendimento per rinforzo profondo, la politica è rappresentata come una rete neurale i cui parametri sono continuamente aggiornati per aumentar al massimo la funzione di ricompensa (anziché ridurre al minimo una funzione di perdita).
Il ciclo di vita dello sviluppo del modello comprende diversi processi, alcuni dei quali ripetuti ciclicamente in modo iterativo fino al raggiungimento di risultati soddisfacenti.
Sebbene l'apprendimento per rinforzo, l'apprendimento supervisionato e l'apprendimento non supervisionato abbiano ciascuno elementi di addestramento unici per il proprio paradigma, il workflow generale richiesto per addestrare un modello è costituito da questi passaggi:
La selezione del giusto algoritmo (o architettura di reti neurali) non dipende solo dal problema che si deve risolvere e dai tipi di dati con cui il modello lavorerà. Il tipo di modello ideale dipende anche dal fatto che si dia priorità alla velocità e all'efficienza rispetto a precisione e prestazioni (o viceversa) e dal budget e dalle risorse hardware o di calcolo a disposizione. Ad esempio, l'addestramento o il fine-tuning di un LLM spesso richiedono più unità di elaborazione grafica (GPU).
Ottenere dati di addestramento di alta qualità per il proprio caso d'uso non è banale, soprattutto per i modelli di deep learning che spesso richiedono molte migliaia, se non milioni, di esempi per un addestramento adeguato. Sebbene una pipeline di dati proprietaria offra opportunità uniche di personalizzazione e vantaggi competitivi, sono disponibili set di dati open source affidabili per la maggior parte dei domini e delle attività. In alcuni campi, in particolare quello dell'elaborazione del linguaggio naturale (PNL), la generazione di dati sintetici è un'opzione sempre più praticabile.
Per essere utilizzati per l'addestramento, i dati non elaborati, specialmente se acquisiti direttamente o da più fonti di dati, richiedono in genere una pre-elaborazione, che potrebbe includere pulizia dei dati, normalizzazione dei valori e standardizzazione della formattazione. Esistono molti servizi per automatizzare questo processo, in parte o completamente, come Docling, uno strumento open source che converte i PDF e altri formati di file in testo più leggibili dalla macchina, mantenendo importanti elementi strutturali.
Per l'apprendimento supervisionato, i dati devono essere etichettati e talvolta annotati con dettagli significativi. Ad esempio, le immagini utilizzate per addestrare i modelli di segmentazione delle immagini devono essere etichettate fino al livello di pixel. Questa etichettatura può comportare tempo e manodopera significativi, che dovrebbero entrambi essere presi in considerazione nelle tempistiche e nel budget.
Anche dopo avere scelto l'algoritmo o l'architettura del modello, restano delle scelte da fare. Gli algoritmi di ML convenzionali sono raramente univoci e le reti neurali sono ancora meno standardizzate. La selezione dei corretti iperparametri, ovvero gli elementi modulari di un algoritmo che sono esterni all'ottimizzazione dei parametri, è essenziale per un addestramento efficiente e di successo.
Quando l'addestramento non procede in modo soddisfacente, o quando si lavora con algoritmi di apprendimento non supervisionato o algoritmi di apprendimento supervisionato non parametrici come i decision tree, le prestazioni del modello possono essere ottimizzate e migliorate attraverso l'ottimizzazione degli iperparametri. Potrebbero essere necessari prove ed errori per arrivare al tasso di apprendimento ottimale, alla dimensione del lotto, alla funzione di perdita (e ai termini di regolarizzazione) o all'algoritmo di ottimizzazione.
Uno di questi parametri è l'inizializzazione dei parametri apprendibili. In genere sono randomizzati, ma anche la randomizzazione dei parametri prevede strategie multiple. I parametri iniziali ottimali possono anche essere “appresi” attraverso una tecnica chiamata meta-apprendimento.
Dopo avere impostato i parametri e gli iperparametri iniziali, il modello elabora una serie di esempi di dati di input tratti dal set di dati di addestramento. Poiché i parametri iniziali sono casuali, in genere il modello non produce ancora output "buoni". L'obiettivo della prima sessione di addestramento è semplicemente quello di stabilire una linea di base per poi ottimizzarla. La dimensione del batch, ovvero il numero di esempi che vengono elaborati in ogni "batch" prima di calcolare le perdite e ottimizzare i parametri, è di per sé un iperparametro importante.
Esistono molti framework open source per la configurazione e l'esecuzione di modelli di machine learning per l'addestramento, come PyTorch, Keras o TensorFlow. La maggior parte opera su Python o JavaScript e, essendo progetti guidati dalla comunità, offre ampie librerie di tutorial per i principianti.
Via via che il modello attraversa gli esempi di addestramento, la funzione di perdita tiene traccia della discrepanza tra gli output del modello e gli aggiornamenti "corretti" per ogni input. Nel deep learning, dove i modelli sono reti neurali composte da varie equazioni annidate l'una nell'altra, la retropropagazione viene utilizzata per calcolare come ciascun nodo della rete neurale contribuisce alla perdita complessiva.
Nell'apprendimento supervisionato, l'obiettivo formale dell'addestramento è di solito quello di ridurre al minimo tale funzione di perdita. Alcune architetture di modelli, come gli autoencoder variazionali (VAE), riformulano invece il problema in termini di massimizzazione di alcuni proxy per la funzione di perdita. Gli algoritmi RL cercano in genere di massimizzare una funzione di ricompensa e, talvolta contemporaneamente, minimizzare un termine di regolarizzazione che penalizza i comportamenti indesiderati.
L'ottimizzazione di un algoritmo ML viene solitamente eseguita da un algoritmo separato. In matematica, un algoritmo di ottimizzazione è progettato per minimizzare o massimizzare un'altra funzione, in questo caso una funzione di perdita o una funzione di ricompensa, determinando i valori ottimali per le variabili in quella funzione. Nel machine learning (ML), queste variabili sono i pesi e i bias in un algoritmo o tra diversi nodi di una rete neurale.
L'algoritmo di ottimizzazione ideale dipende dal tipo di modello di cui si sta eseguendo l'addestramento. Molti algoritmi di ML, e in particolare i modelli basati su reti neurali, utilizzano variazioni della discesa del gradiente. Alcuni algoritmi con funzioni quadratiche, come le macchine a vettori di supporto (SVM), potrebbero essere meglio serviti dalla programmazione quadratica. Gli algoritmi di regressione lineare sono in genere ottimizzati tramite algoritmi dei minimi quadrati . L'apprendimento per rinforzo possiede i suoi algoritmi di ottimizzazione, come l'ottimizzazione delle politiche prossimali (PPO), l'ottimizzazione delle preferenze dirette (DPO) o l'advantage actor critic (A2C).
Questa sequenza di fasi di addestramento (ottimizzazione degli iperparametri, esecuzione del modello su un batch di dati di addestramento, calcolo della perdita e ottimizzazione dei parametri) viene ripetuta su più iterazioni fino a quando la perdita non è stata sufficientemente ridotta al minimo.
Le ottime prestazioni sui dati di addestramento non sono di per sé una prova conclusiva che il modello sia stato addestrato e preparato con successo per la distribuzione nel mondo reale. Bisogna fare attenzione a evitare l'overfitting, dove un modello ha essenzialmente memorizzato i dati di addestramento ma non può generalizzarsi bene a nuovi dati (vanificando quindi lo scopo dell'addestramento). L'overfitting può essere inteso come l'equivalente dell'apprendimento automatico dell'insegnamento alla prova.
Per evitare l'overfitting, la pratica standard consiste nell'accantonare una parte del set di dati di addestramento in un processo chiamato convalida incrociata. Questo processo consente di testare il modello su nuovi dati che non ha visto, garantendo che sia stato addestrato correttamente.
Abbiamo intervistato 2.000 organizzazioni in merito alle loro iniziative di AI per scoprire cosa funziona, cosa non funziona e come giocare d'anticipo.
IBM Granite è la nostra famiglia di modelli AI aperti, efficienti e affidabili, su misura per le aziende e ottimizzati per scalare le applicazioni di AI. Esplora le opzioni di linguaggio, codice, serie temporali e guardrail.
Accedi al nostro catalogo completo di oltre 100 corsi online acquistando oggi stesso un abbonamento individuale o multiutente che ti consentirà di ampliare le tue competenze su una gamma di prodotti a un prezzo contenuto.
Condotto dai migliori leader di pensiero di IBM, il programma di studi è stato progettato per aiutare i dirigenti aziendali ad acquisire le conoscenze necessarie per dare priorità agli investimenti in AI che possono favorire la crescita.
Vuoi ottenere un ritorno migliore sui tuoi investimenti nell'AI? Scopri come lo scaling della GenAI in settori chiave può favorire il cambiamento, aiutando le tue menti migliori a creare e fornire nuove soluzioni innovative.
Scopri come incorporare in tutta sicurezza l'AI generativa e il machine learning nella tua azienda.
Approfondisci i 3 elementi critici di una solida strategia AI: creare un vantaggio competitivo, scalare l'AI attraverso l'azienda e promuovere un'AI affidabile.