I modelli linguistici di grandi dimensioni (LLM) sono strumenti potenti che possono aiutare a svolgere molte attività diverse, dalla scrittura di email alla risposta a domande complesse. A volte, però, questi modelli non comprendono esattamente ciò che devono fare per il tuo progetto specifico. È qui che entra in gioco l'ottimizzazione. È come insegnare a uno studente intelligente le competenze specifiche di cui ha bisogno per un determinato lavoro.
L'ottimizzazione prevede l'ulteriore addestramento di un LLM preaddestrato su un set di dati specifico per l'attività (un processo di apprendimento per trasferimento). Pensa a un modello preaddestrato che ha già appreso molte informazioni generali e che viene messo a punto per specializzarsi in un'area particolare.
L'ottimizzazione e la Retrieval Augmented Generation (RAG) sono due modi diversi per adattare gli LLM a usi specifici. La scelta del metodo giusto dipende da fattori come il tipo di attività, la disponibilità di dati sufficienti e l'obiettivo che si vuole raggiungere.
Tecnica | Differenza principale | Vantaggi | Challenges |
Ottimizzazione | Modifica il parametro del modello. | Maggiore accuratezza, maggiore specificità, riduzione delle allucinazioni, interazioni personalizzate, convenienza, riduzione dei bias. | Rischio di "oblio catastrofico", costi delle risorse più elevati, maggiori esigenze di dati e potenziale "overfitting". |
RAG | Potenzia i prompt con conoscenze esterne. | Integrazione dinamica delle conoscenze, pertinenza contestuale, versatilità, minore necessità di una formazione approfondita. | Accuratezza limitata (ad esempio, la RAG può fare riferimento solo ai dati a cui ha accesso e non fa inferenze in base al suo addestramento), complessità della manutenzione dei sistemi RAG, potenziale di allucinazioni. |
Tecnica
Differenza principale
Vantaggi
Challenges
Ottimizzazione
Modifica il parametro del modello.
Maggiore accuratezza, maggiore specificità, riduzione delle allucinazioni, interazioni personalizzate, convenienza, riduzione dei bias.
Rischio di "oblio catastrofico", costi delle risorse più elevati, maggiori esigenze di dati e potenziale "overfitting".
RAG
Potenzia i prompt con conoscenze esterne.
Integrazione dinamica delle conoscenze, pertinenza contestuale, versatilità, minore necessità di una formazione approfondita.
Accuratezza limitata (ad esempio, la RAG può fare riferimento solo ai dati a cui ha accesso e non fa inferenze in base al suo addestramento), complessità della manutenzione dei sistemi RAG, potenziale di allucinazioni.
Dovresti considerare l'ottimizzazione quando vuoi che un LLM:
L'ottimizzazione si basa sulle fondamenta di un LLM preaddestrato. Questi modelli preaddestrati hanno già appreso un'enorme quantità di conoscenze linguistiche generali da set di dati di grandi dimensioni. Durante l'ottimizzazione, il modello viene esposto a un set di dati più piccolo e specifico per l'attività e i parametri interni del modello, che possiamo immaginare come milioni di piccole "manopole" che controllano le sue conoscenze, vengono regolati per adattarsi meglio agli esempi nel nuovo set di dati. Questo processo di "riaddestramento" aggiorna finemente la struttura interna del modello in modo che diventi un esperto del nuovo argomento. Analizziamo il processo di ottimizzazione in alcuni passaggi pratici:
Prima di poter iniziare l'ottimizzazione, è fondamentale preparare i dati. La qualità e la struttura dei dati influiscono direttamente sulle prestazioni del modello ottimizzato. Questa fase prevede la raccolta, la pulizia, la formattazione e la suddivisione dei dati in set appropriati per l'addestramento, la convalida e il test.
Quando si parla di ottimizzazione, hai diverse opzioni per decidere quanto del modello preaddestrato vuoi perfezionare. L'approccio scelto dipende da fattori quali le dimensioni del set di dati, le risorse di computing disponibili e il livello di accuratezza desiderato. I due approcci principali sono l'ottimizzazione completa e la parameter-efficient fine-tuning (PEFT) (PEFT).
Nell'ottimizzazione completa, tutti i parametri del modello vengono aggiornati durante l'addestramento. Questo approccio è adatto quando il set di dati specifico per l'attività è di grandi dimensioni e significativamente diverso dai dati di pre-addestramento.
La parameter-efficient fine-tuning (PEFT) offre un modo più intelligente ed efficiente per eseguire l'ottimizzazione. Invece di riaddestrare l'intero modello (che è lento e costoso), i metodi PEFT congelano l'LLM originale e aggiungono piccoli nuovi strati addestrabili.
Immagina di dover aggiungere alcune pagine di post-it con le nuove informazioni specializzate a un libro di testo di 1000 pagine, invece di doverlo riscrivere completamente. Questo rende il processo molto più veloce ed economico. I metodi PEFT più diffusi includono LoRA (Low-Rank Adaptation) e QLoRA (Quantized Low-Rank Adaptation), che offrono un modo più efficiente per ottimizzare gli LLM.
Ora che i dati sono preparati e la tecnica è stata selezionata, è il momento di addestrare il modello. È qui che il modello apprende dai tuoi dati e regola i suoi parametri per migliorare le prestazioni sull'attività specifica. Un monitoraggio e una regolazione attenti delle impostazioni di addestramento sono essenziali per ottenere risultati ottimali.
La fase finale prevede la valutazione delle prestazioni del modello ottimizzato e la sua distribuzione per l'uso nel mondo reale. Ciò richiede di valutarne l'accuratezza e l'efficienza, per poi integrarlo nell'applicazione o nel sistema. Potrebbe essere necessario un monitoraggio e un riaddestramento continui per mantenere prestazioni ottimali nel tempo.
Esistono diversi modi per ottimizzare un modello, a seconda dei tuoi obiettivi e delle tue risorse:
Tipo | Descrizione | Casi d'uso |
Ottimizzazione supervisionata | Il modello viene addestrato su un set di dati etichettato con coppie input-output. | Classificazione del testo, riconoscimento di entità denominate, analisi del sentiment. |
Ottimizzazione delle istruzioni | Il modello viene addestrato su un set di dati di istruzioni e risposte desiderate. | Chatbot, sistemi di risposta alle domande, generazione di codice. |
Apprendimento few-shot | Il modello riceve alcuni esempi dell'attività desiderata all'interno del prompt. | Adattamento a nuove attività con dati limitati. |
Transfer learning | Il modello sfrutta le conoscenze acquisite dal pre-addestramento su un set di dati per uso generico. | Adattamento alle attività correlate. |
Ottimizzazione specifica per il dominio | Il modello viene adattato a un particolare dominio o settore. | Analisi di documenti legali, generazione di report medici, previsioni finanziarie. |
Apprendimento multi-task | Il modello viene addestrato su più attività contemporaneamente. | Migliorare le prestazioni tra attività correlate. |
Ottimizzazione sequenziale | Il modello viene adattato a una serie di attività correlate in più fasi. | Perfezionamento graduale delle funzionalità per attività complesse. |
Tipo
Descrizione
Casi d'uso
Ottimizzazione supervisionata
Il modello viene addestrato su un set di dati etichettato con coppie input-output.
Classificazione del testo, riconoscimento di entità denominate, analisi del sentiment.
Ottimizzazione delle istruzioni
Il modello viene addestrato su un set di dati di istruzioni e risposte desiderate.
Chatbot, sistemi di risposta alle domande, generazione di codice.
Apprendimento few-shot
Il modello riceve alcuni esempi dell'attività desiderata all'interno del prompt.
Adattamento a nuove attività con dati limitati.
Transfer learning
Il modello sfrutta le conoscenze acquisite dal pre-addestramento su un set di dati per uso generico.
Adattamento alle attività correlate.
Ottimizzazione specifica per il dominio
Il modello viene adattato a un particolare dominio o settore.
Analisi di documenti legali, generazione di report medici, previsioni finanziarie.
Apprendimento multi-task
Il modello viene addestrato su più attività contemporaneamente.
Migliorare le prestazioni tra attività correlate.
Ottimizzazione sequenziale
Il modello viene adattato a una serie di attività correlate in più fasi.
Perfezionamento graduale delle funzionalità per attività complesse.
Per ottenere il massimo dall'ottimizzazione, segui queste best practice :
L'ottimizzazione offre alcuni potenziali vantaggi:
Maggiore accuratezza
Può migliorare significativamente l'accuratezza e la pertinenza dell'output del modello per il tuo caso d'uso specifico, riducendo potenzialmente le allucinazioni dell'AI.
Addestramento più rapido
L'ottimizzazione è più rapida e richiede meno dati rispetto all'addestramento di un modello da zero.
Conveniente
Può essere più conveniente rispetto all'addestramento di un nuovo modello perché richiede meno potenza di calcolo e dati.
Personalizzazione
L'ottimizzazione ti consente di personalizzare il comportamento del modello in modo che sia in linea con le tue esigenze e i tuoi obiettivi specifici.
Bias ridotto
Può fornire un controllo migliore sul comportamento del modello, riducendo potenzialmente il rischio di generare contenuti parziali o controversi.
Finestra contestuale più ampia
L'ottimizzazione può essere utilizzata per aumentare la finestra di contesto degli LLM, consentendo di elaborare e conservare più informazioni.
Sebbene il perfezionamento possa offrire molti vantaggi, è necessario essere consapevoli di alcune possibili sfide:
L'ottimizzazione può essere applicata a un'ampia gamma di casi d'uso:
Assistenza clienti
Ottimizza un LLM per comprendere e rispondere alle richieste dei clienti in modo più efficace, anche all'interno dei chatbot.
La capacità degli LLM di generare riassunti concisi e accurati in domini o stili di scrittura specifici può essere migliorata attraverso l'ottimizzazione.
Creazione di contenuti
Crea post di blog, articoli o descrizioni di prodotti in uno stile specifico con un modello ottimizzato.
Analisi dei dati
Ottimizza un modello per classificare e analizzare dati di testo, come post di social media o recensioni dei clienti.
Genera codice in un linguaggio di programmazione o framework specifico con un modello ottimizzato.
Traduzione automatica
Google Traduttore utilizza l'ottimizzazione per migliorare la qualità della traduzione automatica adattando il modello a coppie di lingue e domini specifici.
Google Cloud offre un ecosistema solido per supportare gli sforzi di ottimizzazione dei modelli, fornendo tutto il necessario, da una piattaforma di machine learning unificata all'hardware specializzato richiesto per accelerare i calcoli complessi. Che tu stia personalizzando un foundation model o perfezionando il tuo, questi servizi semplificano l'intero workflow.
Inizia a creare su Google Cloud con 300 $ di crediti gratuiti e oltre 20 prodotti Always Free.