Cos'è il fine tuning efficiente dal punto di vista dei parametri (PEFT)?
Il funzionamento dei modelli linguistici di grandi dimensioni (LLM) richiede una quantità notevole di denaro e risorse di elaborazione. Il fine tuning efficiente dal punto di vista dei parametri (PEFT) è un insieme di tecniche che modifica solo una parte dei parametri all'interno di un LLM per risparmiare risorse.
Il PEFT rende più accessibile la personalizzazione degli LLM e crea risultati paragonabili a quelli di un modello fine tuning tradizionale.
Fine tuning tradizionale e PEFT a confronto
Il fine tuning e il PEFT sono entrambe tecniche di allineamento degli LLM. Implementano le modifiche necessarie e forniscono a un LLM i dati desiderati per produrre l'output desiderato. Possiamo descrivere il PEFT come un'evoluzione del fine tuning tradizionale.
Il fine tuning tradizionale apporta modifiche a un LLM mediante l'addestramento dell'intero modello, il che richiede un grande quantità di dati, tempo e risorse di elaborazione.
Al contrario, il PEFT modifica solo una piccola parte dei parametri all'interno di un modello, il che di solito lo rende più accessibile per le organizzazioni che non dispongono di grandi risorse.
Red Hat AI
Quali sono i vantaggi del PEFT?
Il PEFT offre il vantaggio di addestrare più rapidamente modelli di grandi dimensioni su hardware più piccoli.
Nello specifico, i vantaggi del PEFT includono:
- Addestramento più rapido: poiché vengono aggiornati meno parametri, il PEFT accelera la sperimentazione e l'iterazione.
- Risparmio delle risorse: il PEFT utilizza molta meno memoria GPU rispetto al fine tuning tradizionale e può essere eseguito su hardware di fascia media. Ciò significa che puoi addestrare un LLM su un computer portatile senza dover ricorrere a un server dedicato.
- Capacità di superare l'oblio catastrofico: il "catastrophic forgetting" (lett. "oblio catastrofico") si verifica quando il modello dimentica le conoscenze già apprese quando vengono forniti nuovi dati di addestramento. Con il PEFT è più facile evitare questa occorrenza, perché prevede l'aggiornamento solo di alcuni parametri anziché dell'intero modello.
- Portabilità: i modelli ottimizzati con il PEFT sono più piccoli, più gestibili e più facili da distribuire su più piattaforme. Ciò semplifica l'aggiornamento e il miglioramento del modello in un ambiente di lavoro.
- Sostenibilità: il PEFT è in linea con gli obiettivi operativi ecologici perché utilizza meno risorse di elaborazione.
- Accessibilità: i team e le organizzazioni con meno risorse di elaborazione possono ottimizzare i modelli e ottenere comunque i risultati desiderati.
Come funziona il PEFT?
Gli LLM sono costituiti da più livelli di rete neurale. Può essere utile immaginarli come un diagramma di flusso, con un livello iniziale in cui vengono inseriti i dati e uno finale che fornisce i risultati. Tra questi due livelli se ne trovano molti altri, ognuno dei quali svolge un ruolo nell'elaborazione dei dati mentre si spostano all'interno della rete neurale.
Per modificare il modo in cui un modello linguistico elabora le informazioni, è necessario intervenire sui suoi parametri.
Cosa sono i parametri in un LLM?
I parametri (talvolta chiamati pesi) determinano la comprensione del linguaggio da parte di un LLM.
I parametri sono come un ingranaggio regolabile all'interno di una macchina. Ciascuno ha un valore numerico specifico, il cui spostamento influisce sulla capacità del modello di interpretare e generare il linguaggio.
Un LLM può contenere miliardi (anche centinaia di miliardi) di parametri. Maggiore è il numero di parametri di un modello, più complesse saranno le attività che è in grado di eseguire.
Tuttavia, più cresce il numero di parametri in un modello più aumenta la necessità di risorse hardware. Le organizzazioni potrebbero non avere i mezzi per investire in queste risorse, motivo per cui tecniche di ottimizzazione come il PEFT sono così importanti.
Per aumentare l'efficienza del modello, scopri come eliminare i parametri non necessari senza compromettere la precisione.
Fine tuning dei parametri in modo efficiente
Il PEFT modifica strategicamente solo un numero limitato di parametri, preservando la maggior parte della struttura del modello preaddestrato. Ecco alcuni modi per apportare queste modifiche:
Congelamento dei livelli del modello: durante l'inferenza, i calcoli vengono inviati attraverso tutti i livelli di una rete neurale. Congelando alcuni di questi livelli, si riduce la potenza di elaborazione necessaria per eseguire i calcoli.
Aggiunta di adattatori: gli adattatori possono essere paragonati a un pacchetto di espansione per un gioco da tavolo. Gli adattatori vengono aggiunti ai livelli all'interno del modello preaddestrato e a loro volta vengono addestrati per apprendere informazioni specifiche sul dominio o sull'applicazione. In questo scenario, il modello originale non cambia, ma acquisisce nuove funzionalità.
Esistono diversi metodi per eseguire il PEFT, tra cui:
- LoRA (low-rank adaptation)
- QLoRA (quantized low-rank adaptation)
- Prefix tuning
- Prompt tuning
- P-tuning
Uno dei principali strumenti in questo ambito è vLLM. vLLM è un server e un motore di inferenza efficiente in termini di memoria, progettato per migliorare la velocità e la potenza di elaborazione dei modelli linguistici di grandi dimensioni in un ambiente di cloud ibrido. Il supporto di vLLM per il PEFT, specifico per la gestione di più adattatori LoRA, fornisce un enorme aumento dell'efficienza consentendo a un modello di base di rimanere caricato nella memoria della GPU.
L'utilizzo di vLLM per il PEFT consente a un modello di gestire più versioni di fine tuning contemporaneamente. In altre parole, il PEFT crea file di piccole dimensioni e vLLM ottimizza la distribuzione di tali file condividendo e distribuendo le risorse di memoria, come la cache chiave-valore (KV), da un singolo modello sottostante.
Che cos'è il fine tuning?
Il fine tuning è un metodo impiegato per comunicare le proprie intenzioni all'LLM, affinché quest'ultimo possa fornire un output su misura in base ai tuoi obiettivi.
Pensaci: un LLM può essere in grado di scrivere un'email nello stile di Shakespeare, ma non conosce i dettagli dei prodotti offerti dalla tua azienda.
Per addestrare il modello con le tue informazioni specifiche, puoi utilizzare il fine tuning.
Il fine tuning è il processo di addestramento di un modello preaddestrato con un insieme di dati molto personalizzato, in modo che possa eseguire in modo efficace attività specifiche. Questi dati di addestramento aggiuntivi modificano i parametri del modello e ne creano una nuova versione che sostituisce quella originale.
Il fine tuning è fondamentale per personalizzare un LLM per uno scenario di utilizzo specifico, ma spesso è piuttosto costoso.
Perché il fine tuning è costoso?
Diversi fattori contribuiscono al costo del fine tuning di un LLM, ad esempio:
- Requisiti della GPU: il fine tuning richiede molta potenza di elaborazione. Le unità di elaborazione grafica (GPU) hanno costi elevati sia al momento dell'acquisto che per le attività di gestione, e devono essere in funzione per lunghi periodi di tempo durante il processo di fine tuning. Anche il consumo energetico e il raffreddamento possono essere dispendiosi.
- Requisiti dei dati: i gruppi di dati necessari per il fine tuning di un LLM con nuove informazioni devono essere di alta qualità e categorizzati in modo corretto. L'acquisizione, la creazione e la pre-elaborazione di questi dati può richiedere molto tempo e denaro.
Qual è la tecnica di allineamento degli LLM più adatta per la mia azienda?
Quando si parla di "allineamento dell'LLM" si fa riferimento al processo di addestramento e personalizzazione di un modello linguistico per produrre gli output desiderati.
Al momento della scelta di una tecnica di allineamento degli LLM, tieni presente i seguenti fattori:
- Dipendenza dai dati: quanti dati sono necessari? I dati a tua disposizione basterebbero a consentirti di adottare questa tecnica?
- Precisione: quanto incide questa tecnica sull'accuratezza del modello dopo l'ottimizzazione?
- Complessità per gli utenti: quanto è facile da usare?
Rispetto al fine tuning tradizionale, il PEFT richiede meno dati, ha una percentuale di accuratezza molto elevata ed è più intuitivo.
Un'altra opzione per l'allineamento degli LLM è la retrieval-augmented generation (RAG). La RAG è un metodo che integra i dati presenti all'interno di un modello linguistico di grandi dimensioni con sorgenti di dati esterne selezionate, ad esempio uno specifico repository, raccolte di determinati testi e documentazione preesistente. La RAG ha un'elevata dipendenza dai dati, ma è anche estremamente accurata ed è meno complessa da utilizzare rispetto al fine tuning.
Il ruolo di Red Hat
Red Hat® AI è progettato per un'inferenza rapida, flessibile ed efficiente tramite un server basato su vLLM. Collega in modo affidabile i modelli ai dati per unificare la personalizzazione e lo sviluppo di agenti specializzati su un'unica piattaforma. Realizzati su una base open source, i nostri prodotti offrono il pieno controllo dei flussi di lavoro dell'IA, dall'inizio alla fine, su qualsiasi scala.
Red Hat AI Portfolio include Red Hat AI Enterprise, una piattaforma per il deployment, la gestione e la scalabilità dell'inferenza IA, i flussi di lavoro Agentic AI e le applicazioni basate sull'IA su qualsiasi infrastruttura.
A che punto è la tua strategia di sovranità digitale? Introduzione al Red Hat Sovereignty Readiness Assessment Tool
Il Red Hat Sovereignty Readiness Assessment Tool è uno strumento per l’autovalutazione accessibile dal web, che fornisce una base di riferimento chiara e obiettiva del controllo digitale della tua organizzazione in sette ambiti fondamentali.