L'adattamento di basso rango (LoRA) è un modo per adattare un modello di machine learning di grandi dimensioni per usi specifici senza riaddestrare l'intero modello.
Dopo aver letto questo articolo sarai in grado di:
Copia link dell'articolo
L'adattamento di basso rango (LoRA) è una tecnica per adattare rapidamente i modelli di machine learning a nuovi contesti. LoRA aiuta a rendere modelli di machine learning complessi e complessi molto più adatti per usi specifici. Funziona aggiungendo pezzi leggeri al modello originale, anziché modificare l'intero modello. LoRA aiuta gli sviluppatori ad ampliare rapidamente i casi d'uso dei modelli di machine learning che creano.
I modelli di machine learning di grandi dimensioni e complessi, come quelli utilizzati per i modelli linguistici di grandi dimensioni (LLM) tipo ChatGPT, richiedono molto tempo e molte risorse per essere impostati. Potrebbero avere migliaia di miliardi di parametri impostati su valori specifici. Una volta completato questo processo, il modello può essere potente e preciso in generale, ma non è necessariamente ottimizzato per svolgere compiti specifici.
Per far funzionare un modello in contesti specifici può essere necessario un notevole lavoro di riaddestramento, modificandone tutti i parametri. Considerata la quantità di parametri presenti in tali modelli, questo riaddestramento risulta costoso e richiede molto tempo. LoRA fornisce un modo rapido per adattare il modello senza doverlo riaddestrare.
Immagina che Jim si trasferisca dall'Europa al Nord America e che tutti i suoi elettrodomestici (forno a microonde, bollitore per l'acqua calda e così via) non siano compatibili con le prese della sua nuova casa, poiché queste due regioni seguono standard diversi per le prese elettriche. Jim ha due opzioni. Potrebbe strappare e sostituire tutte le prese della sua casa in modo che si adattino alle spine dei suoi elettrodomestici. Oppure potrebbe semplicemente acquistare degli adattatori economici e collegare i suoi elettrodomestici in questo modo.
LoRA è come la seconda opzione di Jim. Invece di riaddestrare completamente un modello dall'inizio alla fine, LoRA aggiunge al modello una parte leggera e modificabile in modo che si adatti al nuovo contesto. Per gli sviluppatori di intelligenza artificiale, questo è molto più rapido e richiede meno risorse, proprio come per Jim è più economico acquistare qualche adattatore in un negozio di ferramenta che assumere un appaltatore che sostituisca le prese elettriche nei suoi muri.
Un modello di machine learning è la combinazione di un algoritmo di machine learning con un set di dati. Il risultato di questa combinazione è un programma per computer in grado di identificare schemi, trovare oggetti o tracciare relazioni tra elementi anche in set di dati mai visti prima.
Per compiti complessi come la generazione di testo, la produzione di immagini o l'esecuzione di altre applicazioni moderne di machine learning, i modelli attingono a grandi quantità di dati e utilizzano algoritmi altamente complessi. Piccole modifiche agli algoritmi o al set di dati fanno sì che il modello produca risultati diversi. Tuttavia, ottenere i risultati desiderati in un contesto specifico può richiedere molta formazione.
Invece di rifare l'intero modello, LoRA congela i pesi* e i parametri del modello così come sono. Quindi, al di sopra di questo modello originale, viene aggiunta un'aggiunta più leggera, chiamata matrice di basso rango, che viene poi applicata ai nuovi input per ottenere risultati specifici per il contesto. La matrice di basso rango si adatta ai pesi del modello originale in modo che gli output corrispondano al caso d'uso desiderato.
*Nei modelli di machine learning, un "peso" è un valore matematico che aiuta a determinare l'importanza dei diversi tipi di input.
Una matrice, in matematica, è un insieme o una raccolta di numeri, come:
Le matrici sono una parte importante del funzionamento dei modelli di machine learning e delle reti neurali. Per tali usi, possono essere molto più grandi dell'esempio sopra. Per LoRA, la cosa importante da capire è che le matrici di basso rango sono più piccole e hanno molti meno valori rispetto alle matrici più grandi. Non occupano molta memoria e richiedono meno passaggi per sommarle o moltiplicarle. Ciò le rende più rapidi da elaborare per i computer.
LoRA aggiunge matrici di basso rango al modello di machine learning originale congelato. Queste matrici contengono nuovi pesi da applicare al modello durante la generazione dei risultati. Questo processo modifica gli output prodotti dal modello con una potenza di calcolo e un tempo di addestramento minimi.
Nell'analogia usata sopra, Jim ha acquistato degli adattatori economici per collegare i suoi elettrodomestici alla presa a muro. Le matrici di basso rango sono come quegli adattatori economici, in cui le prese sono i modelli di machine learning originali.
Machine learning è un termine che si riferisce a un tipo di algoritmo statistico in grado di imparare a individuare schemi nei dati senza ricevere istruzioni specifiche da un essere umano. Il machine learning è in grado di generalizzare partendo da esempi per classificare dati mai visti prima. È fondamentale per molti tipi di applicazioni di intelligenza artificiale (IA).
Cloudflare consente agli sviluppatori di integrare rapidamente i modelli di machine learning più diffusi tramite servizi quali:
Scopri di più sulla piattaforma Cloudflare for AI completa.