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 di fine tuning tradizionale.
Fine tuning tradizionale e PEFT a confronto
Il fine tuning e il PEFT sono entrambi tecniche di allineamento degli LLM. Implementano le modifiche necessarie e forniscono a un LLM i dati necessari alla produzione dell'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, ed è per questo che, solitamente, è 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 il "catastrophic forgetting": il "catastrophic forgetting" (lett. "oblio catastrofico") si verifica quando, dopo aver ricevuto nuovi dati di addestramento, il modello dimentica le conoscenze apprese in precedenza. 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 e più aumenta la necessità di risorse hardware. Non tutte organizzazioni hanno 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 rinunciare alla 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 pre-addestrato. 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: pensa agli adattatori come a un'espansione per un gioco da tavolo. Gli adattatori vengono aggiunti ai livelli all'interno del modello pre-addestrato 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
Che cos'è il fine tuning?
Il fine tuning è un metodo impiegato per comunicare le tue intenzioni all'LLM, affinché quest'ultimo possa fornire un output su misura in base ai tuoi obiettivi.
Pensaci: un LLM potrebbe saper scrivere un'email nello stile di Shakespeare ma non conoscere 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 pre-addestrato con un insieme di dati altamente 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 al fine di ottenere gli output desiderati.
Al momento della scelta di una tecnica di allineamento degli LLM, bisogna considerare i seguenti fattori:
- Dipendenza dai dati: qual è la quantità di dati necessaria? I dati a tua disposizione ti consentirebbero 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
Il fine tuning efficiente dal punto di vista dei parametri è una delle numerose tecniche di allineamento supportate da Red Hat® OpenShift® AI.
OpenShift AI è una piattaforma MLOps, flessibile e scalabile, dotata di strumenti per creare, distribuire e gestire le applicazioni basate sull'intelligenza artificiale. OpenShift AI supporta l'intero ciclo di vita dei modelli e degli esperimenti di AI/ML, sia on premise che nel cloud pubblico.
Scopri di più su Red Hat OpenShift AI
Red Hat® AI è un ampio portafoglio di prodotti e servizi che facilitano ogni fase del percorso con l'IA, tanto nelle fasi iniziali quanto al momento di passare al cloud ibrido. Inoltre, è in grado di sostenere le iniziative di IA generativa e predittiva negli scenari di utilizzo esclusivi della tua azienda.
Red Hat AI si basa su tecnologie open source e su un ecosistema di partner caratterizzato da prestazioni, stabilità e capacità di supportare GPU su più infrastrutture. Inoltre, è in grado di ottimizzare in modo efficiente modelli di piccoli dimensioni e destinati a scopi specifici, garantendo flessibilità di distribuzione ovunque risiedano i dati.
Definizione della strategia aziendale per l'IA: una guida introduttiva
Leggi questa guida introduttiva per scoprire come Red Hat OpenShift AI e Red Hat Enterprise Linux AI possono accelerare il percorso di adozione dell'IA.