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 più accessibile la personalizzazione degli LLM 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 più rapido: prevedendo l'aggiornamento di meno parametri, il PEFT accelera la sperimentazione e l'iterazione.
  • Risparmio di risorse: il PEFT richiede molta meno memoria GPU rispetto al fine tuning tradizionale e si può eseguire su hardware di livello consumer. Pertanto 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 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. Sarà quindi 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.

Cos'è l'IA aziendale? 

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, ciascuno dei quali ha un ruolo chiave nel processo di elaborazione dei dati nella rete neurale.

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, la cui variazione 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, maggiori saranno le risorse hardware necessarie per farlo funzionare. Non tutte le organizzazioni possono permettersi di investire in tali risorse hardware, per questo le tecniche di ottimizzazione come il PEFT sono così importanti. 

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

Ottimizzare i 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 preaddestrata del modello. Le modifiche possono essere apportate in diversi modi, tra cui:

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 i livelli 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)
  • Ottimizzazione tramite prefisso
  • Ottimizzazione tramite 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 un'email nella lingua di Shakespeare oppure lo si può personalizzare perché apprenda tutte le caratteristiche dei prodotti venduti da un'azienda.

Per addestrare 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 più dati personalizzati, affinché sia in grado di svolgere mansioni specifiche 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, consumando quindi molta energia, 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 molto elevati ed è più facile da utilizzare. 

Le altre tecniche di allineamento degli LLM da prendere in considerazione 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 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

Artificial intelligence: cos'è il machine learning?

Il machine learning (apprendimento automatico) è una tecnologia che permette di addestrare computer a individuare schemi, eseguire analisi predittive e imparare dall'esperienza.

Cosa sono i large language model (LLM)?

Un modello linguistico di grandi dimensioni (LLM) è un modello di intelligenza artificiale che si avvale del machine learning per comprendere e generare linguaggio umano.

Cos'è l'IA aziendale?

Adottare l'IA a livello enterprise significa integrare strumenti di intelligenza artificiale (IA) e software di machine learning in processi e operazioni scalabili, che permettono alle aziende di ridurre notevolmente le tempistiche e aumentare l'efficienza.

AI/ML: risorse consigliate

Articoli correlati