Cos'è il fine tuning efficiente dal punto di vista dei parametri (PEFT)?

Copia URL

Per garantire l'efficacia di un modello linguistico di grandi dimensioni (LLM) occorrono importanti investimenti di denaro e risorse. Il fine tuning efficiente dal punto di vista dei parametri (PEFT) consiste in un insieme di tecniche grazie alle quali è possibile ottimizzare solo una parte dei parametri di un LLM e quindi risparmiare risorse. 

IL PEFT rende la personalizzazione degli LLM più accessibile e permette di ottenere risultati equiparabili a quelli del fine tuning tradizionale. 

Scopri Red Hat AI

Il fine tuning e il PEFT sono due tecniche di allineamento degli LLM. In entrambi i casi il processo prevede di ottimizzare il modello LLM fornendogli i dati desiderati in modo che generi risultati rilevanti per contesti specifici. In sostanza, il PEFT è un'evoluzione del fine tuning tradizionale.

Nel fine tuning tradizionale si ottimizza un LLM riaddestrando l'intero modello, ma questo processo richiede molte risorse di elaborazione, dati e tempo. 

Il PEFT prevede invece di modificare solo una piccola parte dei parametri del modello, il che ne fa un'opzione più accessibile per le organizzazioni che non dispongono di grandi risorse. 

Red Hat AI

Il PEFT permette di addestrare i modelli linguistici di grandi dimensioni più rapidamente e su hardware più piccoli. 

Nello specifico i vantaggi del PEFT sono:

  • Addestramento rapido: dato che vengono aggiornati meno parametri, il PEFT accelera la sperimentazione e l'iterazione.
  • Risparmio di risorse: il PEFT richiede meno memoria GPU rispetto al fine tuning tradizionale e si può svolgere su hardware di livello consumer. Questo significa che non occorre un server dedicato ma l'addestramento di un LLM può avvenire tranquillamente su un laptop.
  • Capacità di superare la dimenticanza catastrofica: la dimenticanza catastrofica si verifica quando fornendo nuovi dati per l'addestramento al modello, questo si dimentica le conoscenze già acquisite. Il PEFT contribuisce a ridurre il rischio di dimenticanza catastrofica perché non viene aggiornato l'intero modello ma solo alcuni dei suoi parametri.
  • Portabilità: i modelli addestrati con il PEFT hanno dimensioni ridotte, sono più facili da gestire e da distribuire su piattaforme diverse. Questo significa che sarà più semplice aggiornare e ottimizzare il modello in un ambiente operativo.
  • Sostenibilità: il PEFT richiede meno risorse di elaborazione e questo ne fa una tecnica di addestramento più ecosostenibile.
  • Accessibilità: i team e le organizzazioni che non dispongono di grandi risorse di elaborazione possono comunque ottimizzare i modelli e migliorarne le prestazioni.

Un LLM è composto dai diversi livelli della rete neurale. Può essere utile immaginarlo come un diagramma di flusso con un livello iniziale in cui vengono inseriti dati e uno finale che fornisce i risultati. Tra il livello iniziale e quello finale si trovano molti altri livelli e ciascuno ha un ruolo chiave nel processo di elaborazione dei dati.

Per modificare il modo in cui un modello linguistico elabora le informazioni è necessario intervenire sui parametri. 

Tecnica PEFT: come ottimizzare gli LLM con le GPU

Cosa sono i parametri di un LLM?

I parametri, anche detti "pesi", definiscono la capacità di un LLM di comprendere il linguaggio. 

Immaginiamo i parametri come un ingranaggio regolabile all'interno di una macchina. Ogni parametro ha un valore numerico specifico e la variazione di quel valore incide sulla capacità del modello di interpretare e generare il linguaggio. 

Un LLM può contenere miliardi (se non addirittura centinaia di miliardi) di parametri. Più parametri ci sono, più complesse sono le attività che il modello è in grado di svolgere. 

Tuttavia, è anche vero che più aumenta il numero di parametri del modello e maggiori saranno le risorse hardware necessarie per farlo funzionare. Non tutte le organizzazioni dispongono di tali risorse hardware ed è per questo motivo che è nato il PEFT. 

Per aumentare l'efficienza dei modelli, scopri come eliminare i parametri superflui mantenendo lo stesso livello di accuratezza.

Ottimizzare parametri ma in modo efficiente

Il PEFT opera in maniera strategica per modificare solo un ristretto numero di parametri e conserva la maggior parte della struttura esistente del modello. Le modifiche si possono apportare in diversi modi. Ad esempio:

Congelamento dei livelli: durante il processo di inferenza, i calcoli vengono propagati in tutti i livelli della rete neurale. Congelando alcuni di questi livelli, si riduce la potenza di elaborazione necessaria per eseguire i calcoli. 

Aggiunta di adattatori: gli adattatori sono come il pacchetto di espansione di un gioco. Vengono aggiunti sopra un livello del modello pre-addestrato e vengono addestrati per acquisire informazioni su uno specifico dominio o applicazione. Con questo approccio il modello originale non subisce variazioni, ma acquisisce nuove capacità. 

Tra le tecniche per eseguire il PEFT ricordiamo:

  • LoRA (Low-Rank Adaptation)
  • QLoRA (Quantized Low-Rank Adaptation)
  • Fine tuning dei prefissi
  • Fine tuning dei prompt
  • P-tuning

Scopri le differenze fra LoRA e QLoRA

Il fine tuning serve per comunicare le proprie intenzioni all'LLM affinché il modello possa personalizzare il proprio risultato in base a obiettivi specifici.

Ad esempio si può ottimizzare un LLM perché sia in grado di scrivere nella lingua di Shakespeare oppure lo si può personalizzare perché apprenda tutte le caratteristiche dei prodotti venduti da un'azienda.

Per ottimizzare il modello in modo che sia in grado di eseguire compiti rilevanti si utilizza il fine tuning. 

Il fine tuning è un processo di addestramento ulteriore di un modello pre-addestrato con un numero più limitato di dati, affinché il modello sia in grado di svolgere mansioni specifiche per un dominio in modo efficiente. Questi dati aggiuntivi che vengono forniti al modello ne modificano i parametri e creano una nuova versione che sostituisce il modello originale.

Il fine tuning è un processo cruciale per sviluppare LLM capaci di operare in scenari di utilizzo specifici. Il fine tuning tradizionale però ha costi molto elevati. 

Perché il fine tuning costa così tanto?

Sono diversi i fattori che incidono sul costo del fine tuning di un LLM:

  • GPU: il fine tuning richiede molta potenza di elaborazione. Le unità di elaborazione grafica (GPU) sono costose, rimangono operative per lunghi periodi di tempo durante il processo di fine tuning e richiedono sistemi di raffreddamento adeguati.
  • Dati: i dataset necessari per il fine tuning di un LLM devono essere di alta qualità e adeguatamente etichettati. L'acquisizione, la creazione e la pre-elaborazione di tali dati richiede tempo e ha dei costi importanti. 

Con allineamento di un LLM si intende il processo di addestramento e personalizzazione di un modello linguistico perché questo generi risultati rilevanti per l'organizzazione.

Per decidere quale tecnica di allineamento è quella giusta per la tua organizzazione, considera i seguenti aspetti:

  • Dipendenza dai dati: quanti dati occorreranno? Hai accesso ai dati necessari per la tecnica di allineamento che desideri adottare?
  • Accuratezza: una volta concluso il processo di ottimizzazione quanto sarà accurato il modello?
  • Complessità di utilizzo: quanto è difficile da utilizzare?

Rispetto al fine tuning tradizionale, il PEFT richiede meno dati, garantisce livelli di accuratezza elevati ed è facile da utilizzare. 

Le altre tecniche di allineamento degli LLM sono:

  • 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.
  • InstructLab: creato da IBM e Red Hat, il progetto della community InstructLab estende la possibilità di contribuire allo sviluppo del modello linguistico a tutti i dipendenti dell'organizzazione.
    • InstructLab ha una bassa dipendenza dai dati perché utilizza dati sintetici in aggiunta ai dati generati da esseri umani. L'accuratezza è paragonabile a quella offerta dal fine tuning ed è di facile utilizzo. 

Il fine tuning efficiente dal punto di vista dei parametri è una delle numerose tecniche di allineamento offerte 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 di adozione e utilizzo dell'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 di ciascuna 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 piccole dimensioni e destinati a scopi specifici, garantendo flessibilità di distribuzione ovunque risiedano i dati.

Intelligenza artificiale (IA): Red Hat OpenShift AI

Red Hat® OpenShift® AI è una piattaforma di intelligenza artificiale e machine learning (AI/ML) open source per ambienti hybrid cloud.

Continua a leggere

LoRA e QLoRA a confronto

LoRA (Low-Rank Adaptation) e QLoRA (Quantized Low-Rank Adaptation) sono due tecniche di addestramento dei modelli di IA.

Che cos'è vLLM?

vLLM è una raccolta di codice open source che rende più efficienti i calcoli eseguiti dai modelli di linguaggio.

Cos'è l'inferenza IA?

L'inferenza IA è il momento in cui un modello di IA fornisce una risposta basata sui dati. Si tratta del passaggio finale dei complessi processi della tecnologia di machine learning.

AI/ML: risorse consigliate