Passa al contenuto principale

Ottimizzazione

Comprendere l'ottimizzazione

Nell'addestramento di modelli di intelligenza artificiale (AI) e machine learning (ML) per scopi specifici, data scientist e data engineer hanno scoperto che è più semplice ed economico modificare modelli LLM pre-addestrati piuttosto che addestrarne di nuovi da zero. Un modello LLM di base è una potente AI generalista, addestrata su enormi set di dati per comprendere e generare testo simile a quello umano su un’ampia gamma di argomenti e attività.

La capacità di sfruttare il deep learning di modelli esistenti può ridurre il consumo di potenza computazionale e la quantità di dati orchestrati necessari per personalizzare il modello su casi d’uso specifici.

L'ottimizzazione consiste nell'adattare o integrare i modelli pre-addestrati allenandoli ulteriormente su set di dati più piccoli e mirati. Questo processo, che oggi è diventato un passaggio essenziale nel ciclo di sviluppo degli LLM, consente di adattare a una varietà di casi d'uso le capacità linguistiche grezze dei modelli di base.

Ecco altre informazioni utili

Guida compatta all'ottimizzazione e alla creazione di LLM personalizzati

Impara le tecniche per ottimizzare e pre-addestrare il tuo LLM utilizzando Mosaic AI

Richiedi la guida

Il grande libro dell’AI generativa

Apprendi le best practice per la creazione di applicazioni di GenAI di qualità.

Leggi

Primi passi con l'AI generativa

Sviluppa competenze di AI generativa in 5 brevi tutorial. Ottieni un certificato Databricks.

Comincia la formazione

Come funziona l'ottimizzazione degli LLM

I modelli linguistici di grandi dimensioni pre-addestrati vengono allenati su enormi quantità di dati così che imparino a comprendere il linguaggio naturale e a generare risposte simili a quelle umane. Ciò li rende un punto di partenza naturale per un modello di base.

L'ottimizzazione (o fine-tuning) di questi modelli ne migliora la capacità di eseguire compiti specifici (come l'analisi del sentiment, la risposta a domande o il riassunto di documenti) con una maggiore precisione. Sebbene siano disponibili LLM di terze parti, l'ottimizzazione di un modello con i dati di un'organizzazione consente di ottenere risultati specifici per il settore di riferimento.

Importanza e vantaggi dell'ottimizzazione

L'ottimizzazione collega l'intelligenza degli LLM generalisti ai dati aziendali, permettendo alle organizzazioni di adattare i modelli di AI generativa (GenAI) alle loro particolari esigenze con un livello maggiore di specificità e rilevanza. Anche le piccole aziende possono costruire modelli personalizzati in base alle loro necessità e ai loro budget.

L'ottimizzazione riduce significativamente la necessità di investire in costose infrastrutture per addestrare modelli da zero. Affinando i modelli pre-addestrati, le organizzazioni possono accelerare il time-to-market e ridurre la latenza di inferenza, perché il modello viene ottimizzato per casi d'uso specifici in modo più efficiente.

Le tecniche di ottimizzazione aiutano inoltre a ridurre il consumo di memoria e ad accelerare il processo di addestramento di modelli con conoscenze specialistiche e specifiche del settore, risparmiando così tempo e risorse.

Quando si ottimizza un modello linguistico con dati proprietari su Databricks, i set di dati unici dell'organizzazione non sono esposti ai rischi di terze parti associati agli ambienti di addestramento di modelli generici.

Tipi di ottimizzazione

L'ottimizzazione può migliorare l'accuratezza e la rilevanza delle risposte di un modello, rendendolo più efficace in applicazioni specializzate rispetto ai modelli di base addestrati in modo generico. Questo processo mira ad adattare il modello affinché comprenda e generi testi specifici per un particolare dominio o settore. Il modello viene dunque affinato su un set di dati composto da testi del dominio target per fornirgli un contesto più ampio e approfondire la sua conoscenza di attività specifiche del settore. Sebbene l'ottimizzazione possa essere molto dispendiosa in termini di risorse, nuove tecniche rendono il processo molto più efficiente. Di seguito sono riportati alcuni dei principali metodi di ottimizzazione adottati dalle organizzazioni per affinare i propri LLM:

  • Ottimizzazione completa: comporta l'ottimizzazione o l'addestramento di tutti i livelli della rete neurale. Sebbene questo approccio produca generalmente i migliori risultati, è anche il più costoso in termini di risorse e tempo.
  • Ottimizzazione parziale: riduce il carico computazionale aggiornando solo un sottoinsieme selezionato di parametri pre-addestrati, concentrandosi su quelli più critici per le prestazioni del modello nelle attività a valle pertinenti.
  • Ottimizzazione additiva: prevede l'aggiunta di nuovi parametri o livelli al modello, mantenendo congelati i pesi pre-addestrati ed eseguendo l'addestramento solo sui nuovi componenti.
  • Apprendimento con pochi esempi ("few-shot learning"): quando la raccolta di un set di dati di grandi dimensioni etichettato non è praticabile, questa tecnica fornisce al modello pochi esempi (o "shot") del compito richiesto.
  • Apprendimento trasferito: questa tecnica consente a un modello di eseguire un'attività diversa da quella per cui è stato inizialmente addestrato. L'idea è di sfruttare la conoscenza che il modello ha acquisito da un grande set di dati generico e applicarla a un compito più specifico o correlato.

Ottimizzazione efficiente dei parametri

L'ottimizzazione efficiente dei parametri (Parameter-Efficient Fine-Tuning, PEFT) è un insieme di tecniche progettate per adattare modelli di grandi dimensioni pre-addestrati a compiti specifici, riducendo al minimo il consumo di risorse computazionali e di memoria. Questo approccio è particolarmente vantaggioso per applicazioni con risorse limitate o che richiedono molteplici operazioni di ottimizzazione. I metodi PEFT, come l'adattamento a matrici di basso rango (Low-Rank Adaptation, LoRA) e l'ottimizzazione basata su adattatori, funzionano introducendo un numero ridotto di parametri addestrabili invece di aggiornare l'intero modello. I livelli adattatori, un componente chiave del PEFT, sono modelli leggeri e addestrabili inseriti in ogni livello di un modello pre-addestrato.

Questi adattatori, che si presentano in varianti come Sequenziale, Residuale e Parallelo, regolano l'output del modello senza alterare i pesi originali, consentendo così personalizzazioni specifiche per il compito senza compromettere le conoscenze di base del modello. Il metodo LoRA consente ad esempio di ottimizzare in modo efficiente modelli linguistici di grandi dimensioni per attività come la generazione di descrizioni di prodotti. L'adattamento quantizzato a basso rango (Quantized Low-Rank Adaptation, QLoRA) si concentra invece sulla riduzione del carico di memoria e di calcolo tramite quantizzazione. Il metodo QLoRA ottimizza la memoria utilizzando matrici quantizzate a basso rango, e risulta pertanto estremamente efficiente nel caso in cui le risorse hardware siano limitate.

Quando utilizzare l'ottimizzazione

L'ottimizzazione consente di addestrare il modello su un set di dati più mirato, utilizzando ad esempio la terminologia specifica di un settore o interazioni focalizzate su determinati compiti. Questo aiuta il modello a generare risposte più pertinenti per il caso d'uso, che si tratti di personalizzare il modello, di integrare le sue conoscenze di base o di estendere le sue capacità per affrontare nuovi compiti e settori.

  • Adattamento a compiti specifici: l'ottimizzazione può essere utilizzata quando si dispone di un modello linguistico pre-addestrato e si desidera adattarlo per eseguire un'attività specifica, come l'analisi del sentiment o la generazione di testi utilizzando dati settoriali specifici. Invece di addestrare un modello da zero, è possibile partire da un modello pre-addestrato e affinarlo sul compito desiderato, sfruttando la sua comprensione generale del linguaggio.
  • Mitigazione del bias: l'ottimizzazione può essere utilizzata per ridurre o contrastare i bias presenti in un modello pre-addestrato fornendo dati di addestramento bilanciati e rappresentativi.
  • Sicurezza dei dati e conformità: quando si lavora con dati sensibili, è possibile eseguire l'ottimizzazione localmente sulla propria infrastruttura sicura per garantire che il modello non esca mai da un ambiente controllato.
  • Disponibilità limitata di dati: l'ottimizzazione è particolarmente vantaggiosa quando si dispone di un set limitato di dati etichettati per un determinato compito. Invece di addestrare un modello da zero, è possibile sfruttare le conoscenze di un modello pre-addestrato e adattarlo al compito specifico con un set di dati più piccolo.
  • Apprendimento continuo: l'ottimizzazione è vantaggiosa per scenari di apprendimento continuo, in cui il modello deve adattarsi a dati e requisiti in evoluzione nel tempo. Essa consente, infatti, di aggiornare periodicamente il modello senza dover ripartire da zero.

Gli LLM possono anche essere ottimizzati per applicazioni specifiche di settore. Nella sanità, ad esempio, il fine-tuning del modello su dati medici proprietari può portare a diagnosi e trattamenti più accurati. Analogamente, nelle applicazioni finanziarie i modelli ottimizzati possono essere addestrati a rilevare le frodi analizzando i dati delle transazioni e il comportamento dei clienti.

Il processo di ottimizzazione

  1. Configurazione dell'ambiente: l'ottimizzazione di un modello è tipicamente un processo iterativo, quindi la maggior parte dei modelli open source verrà addestrata più di una volta. Diventa pertanto fondamentale, in termini di prestazioni e costi, avere tutti i dati di addestramento sulla stessa piattaforma di ML.Ottimizzare un modello di GenAI su dati aziendali richiede l'accesso a informazioni proprietarie e, man mano che l'azienda avanza sulla curva di maturità dell'AI, il numero di modelli in esecuzione non potrà che aumentare, facendo crescere la domanda di accesso ai dati. L'ambiente di addestramento deve essere in grado di tenere traccia del movimento dei dati (derivazione) e di gestire tutti i parametri del modello in memoria. Di conseguenza, per garantire efficienza computazionale, solitamente è necessaria un'architettura parallela.
  2. Scelta di un modello di base: oggi esistono molti set di dati, modelli e librerie di prompt open source per diverse attività. Per selezionare un modello che corrisponda il più possibile alle caratteristiche del compito target, occorre valutare fattori come architettura, dimensioni, livelli di dati di addestramento e prestazioni nel task specifico.
  3. Preparazione dei dati: i dati devono essere trasformati in un formato adatto all'ottimizzazione supervisionata. Questo processo consente di addestrare ulteriormente un modello affinché generi testo basandosi su un prompt fornito.
  4. Regolazione dei parametri del modello: si parte da un modello esistente e lo si arricchisce o ottimizza con dati aziendali. È possibile estendere questi modelli utilizzando tecniche come generazione potenziata dal recupero (RAG), PEFT o ottimizzazione standard.
  5. Addestramento e valutazione: durante l'addestramento, è essenziale monitorare regolarmente i progressi del modello per verificarne l'efficacia e implementare le modifiche necessarie. Questo comporta valutare le prestazioni del modello utilizzando un set di dati di validazione separato.

Ottimizzazione nel machine learning

Gli LLM sono modelli di machine learning progettati per eseguire compiti legati al linguaggio come traduzioni, risposte a domande, chat e riassunto di contenuti, oltre a generazione di contenuti e codice. I modelli LLM estrapolano valore da grandi set di dati e rendono tale "conoscenza" accessibile in modo immediato. Questo processo di "apprendimento trasferito" utilizza modelli pre-addestrati per calcolare caratteristiche da riutilizzare in altri modelli, riducendo significativamente il tempo necessario per addestrare e ottimizzare un nuovo modello. Vedi Creazione di caratteristiche per l'apprendimento trasferito per ulteriori informazioni e un esempio.

Sfide e best practice

Sfide comuni

  • Drift del modello: le prestazioni di un modello possono deteriorarsi nel tempo. Potrebbero diventare necessari un monitoraggio costante e un'ottimizzazione regolare per mantenere prestazioni ottimali.
  • Sperimentazione di più modelli: testare rapidamente più modelli può rivelarsi complesso a causa della difficoltà di gestire credenziali, limiti di richiesta, permessi e sintassi di query diversi tra vari fornitori di modelli.
  • Mancanza di contesto aziendale: i modelli di base hanno una conoscenza ampia, ma mancano di informazioni interne e di competenze specifiche del settore.
  • Operativizzazione dei modelli: le richieste e le risposte del modello devono essere monitorate costantemente per motivi di qualità, debugging e sicurezza. Le differenze tra le interfacce dei modelli rendono difficili la governance e l'integrazione.
  • Overfitting: se un modello viene addestrato troppo specificamente su un set di dati, potrebbe perdere la capacità di generalizzare efficacemente su dati nuovi e sconosciuti.
  • Amplificazione del bias: se i pregiudizi presenti nel modello pre-addestrato vengono rafforzati durante l'ottimizzazione, possono intensificare i bias nei nuovi set di dati.
  • Complessità degli iperparametri: senza framework e strumenti adeguati, trovare le giuste configurazioni di iperparametri può essere un processo lungo e oneroso in termini di risorse computazionali.

Best practice

  • Sfruttare i modelli pre-addestrati: i modelli pre-addestrati conoscono già una grande quantità di dati e hanno una comprensione generale del linguaggio. Questo permette ai team di dati di concentrarsi su un addestramento mirato e specifico del settore.
  • Iniziare in piccolo: quando le risorse computazionali sono limitate, l'utilizzo di modelli più piccoli riduce il consumo di memoria e potenza, rendendo più facili sperimentazione e iterazione. Si può iniziare con piccoli sottoinsiemi di dati e incrementare gradualmente fino al set di dati completo.
  • Utilizzare set di dati di alta qualità: è necessario accertarsi che il set di dati sia rappresentativo del compito e del dominio per ridurre al minimo rumore ed errori.
  • Sperimentare con diversi formati di dati: includere diversi tipi di input di dati aiuta il modello a essere più versatile e ad adattarsi a una gamma più ampia di scenari.
  • Utilizzare iperparametri: gli iperparametri devono essere regolati per bilanciare l'efficienza dell'apprendimento e prevenire l'overfitting. Sperimentare con diversi valori di iperparametri può migliorare la precisione del modello.

Quando evitare l'ottimizzazione

Per evitare l'overfitting del modello, è preferibile non aggiungere o ottimizzare compiti già molto simili a quelli del modello pre-addestrato, in quanto questo potrebbe ridurne la capacità di generalizzare sui set di dati originali. In alternativa, l'accuratezza del modello può essere migliorata espandendo i set di dati di addestramento.

Il futuro dell'ottimizzazione

Democratizzare l'AI generativa implica ridurre la dipendenza da ingenti risorse computazionali e semplificare una personalizzazione affidabile degli LLM. L'ottimizzazione di LLM su larga scala richiede strumenti più automatizzati e intelligenti per ridurre ulteriormente tale dipendenza.

Tecnologie avanzate come il metodo LoRA ottimizzano il processo di fine-tuning, aprendo la strada a strumenti in grado di accedere a fonti esterne per validare le informazioni in tempo reale, verificare la correttezza delle risposte e migliorare automaticamente le prestazioni del modello.

Ulteriori integrazioni potrebbero portare allo sviluppo di LLM in grado di generare autonomamente i propri set di dati di addestramento, formulando domande e affinandosi sulla base delle risposte curate. Questo faciliterebbe l’integrazione degli LLM ottimizzati in un flusso di lavoro aziendale, migliorando le operazioni di business.

Oggi, in molti casi d'uso, i modelli di AI hanno una precisione pari o vicina a quella umana, ma persistono preoccupazioni relative all'etica e ai bias nello sviluppo degli LLM. Per questo, i provider devono continuare a impegnarsi per garantire pratiche di AI responsabili ed eque.

L'addestramento di LLM per compiti, settori o set di dati specifici amplia le capacità di questi modelli generalisti. Un servizio unificato per l’addestramento, l'implementazione, la governance, l'interrogazione e il monitoraggio consente di gestire tutti i modelli da un’unica piattaforma e di interrogarli tramite un’unica API, migliorando efficienza, accuratezza e sostenibilità.

In prospettiva futura, i progressi nell'ottimizzazione multimodale stanno ampliando i confini dell’AI, permettendo ai modelli di integrare tipi di dati diversi come immagini, testo e audio in un'unica soluzione ottimizzata. Via via che i modelli di AI ottimizzati diventano più precisi, efficienti e scalabili, il loro ruolo nelle operazioni aziendali diverrà sempre più strategico, favorendo un’adozione diffusa in tutti i settori.

Torna al Glossario