Cos'è l'addestramento del modello?

13 febbraio 2025

Autori

Dave Bergmann

Senior Writer, AI Models

IBM

Cole Stryker

Editorial Lead, AI Models

Gather

Cos'è l'addestramento del modello?

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.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI 


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Modelli e algoritmi a confronto

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.

  • Gli algoritmi sono procedure, solitamente descritte in linguaggio matematico o pseudocodice, utilizzate per produrre previsioni o prendere decisioni in base all'input che ricevono.
  • I modelli sono l'output del processo di ottimizzazione dei parametri di un algoritmo per migliorarne le prestazioni su uno specifico set di dati di addestramento e poi su nuovi dati simili a quegli esempi di addestramento. In termini di data science, questo processo è chiamato "adattamento" di un algoritmo a un set di dati.

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.

Tipi di addestramento del modello

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).

Apprendimento supervisionato

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.

Apprendimento non supervisionato

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:

  • Gli algoritmi di clustering suddividono i punti dati senza etichetta in "cluster" o raggruppamenti, in base alla loro prossimità o somiglianza gli uni con gli altri. Ad esempio, il k-means clustering, un noto algoritmo di clustering, viene utilizzato nella segmentazione del mercato per raggruppare i clienti con attributi simili in K gruppi.
  • Gli algoritmi di associazione individuano le correlazioni, ad esempio tra una particolare azione e determinate condizioni. Ad esempio, le aziende di e-commerce come Amazon utilizzano modelli di associazione senza supervisione per alimentare i motori di raccomandazione.
  • Gli algoritmi di riduzione della dimensionalità sono progettati per ridurre la complessità dei dati rappresentandoli con un numero minore di caratteristiche, ovvero rappresentandoli in meno dimensioni, e preservandone le caratteristiche più significative. Hanno diversi casi d'uso, tra cui compressione dei dati, visualizzazione dei dati e progettazione delle funzioni.

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 (K) non è sempre ovvio e potrebbe richiedere una sperimentazione manuale per ottenere risultati ottimali.

Apprendimento per rinforzo

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:

  • Lo spazio di stato contiene tutte le informazioni disponibili rilevanti per le decisioni che il modello potrebbe prendere. Cambia solitamente con ogni azione eseguita dal modello.
  • Lo spazio di azione contiene tutte le decisioni che il modello è autorizzato a prendere in un determinato momento. In un gioco da tavolo, lo spazio di azione comprende tutte le mosse legittime disponibili in quel momento. Nella generazione del testo, lo spazio di azione include l'intero "vocabolario" di token disponibili per un LLM.
  • La funzione di ricompensa determina il feedback positivo (o negativo) da fornire al modello quale risultato di ogni azione in un segnale di ricompensa, ovvero una quantificazione scalare di tale feedback. Ad esempio, quando si addestra un programma di scacchi con RL, una funzione di ricompensa potrebbe incentivare le mosse che aumentano la probabilità di vincere e disincentivare le mosse che riducono la probabilità di vincere. Nell'addestramento di un'auto a guida autonoma, una funzione di ricompensa potrebbe disincentivare le manovre che violano le leggi o che riducono la probabilità di sicurezza.
  • Una politica è il "processo mentale" che guida il comportamento di un agente RL. Matematicamente parlando, una politica (π) è una funzione che assume uno stato (s) come input e restituisce un'azione (a):  π(s)a.

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).

Come addestrare un modello di machine learning

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:

  • Selezione del modello
  • Raccolta dati
  • Preparazione dati
  • Selezione degli iperparametri
  • Prestazioni sui dati di addestramento
  • Calcolo della perdita (o della ricompensa)
  • Ottimizzazione dei parametri 
  • Valutazione del modello

Selezione del modello

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).

Raccolta dati

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.

Preparazione dati

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.

Selezione degli iperparametri

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.

Prestazioni sui dati di addestramento

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.

Calcolo della perdita (o della ricompensa)

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.

Ottimizzazione dei parametri

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.

Valutazione del modello

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.

Mixture of Experts | Podcast

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Soluzioni correlate
IBM watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e una minima quantità di dati.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda con l'esperienza leader di settore e il portfolio di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live