LoRA: differenze tra le versioni

Da Wiki AI.
Nessun oggetto della modifica
Nessun oggetto della modifica
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
{{Template concetto
|NomeInglese=LoRA
}}
LoRA, acronimo di "Low Rank Adaptation", è un metodo di fine tuning per modelli di grandi dimensioni che diminuisce drasticamente il numero di parametri da addestrare.
LoRA, acronimo di "Low Rank Adaptation", è un metodo di fine tuning per modelli di grandi dimensioni che diminuisce drasticamente il numero di parametri da addestrare.


Riga 20: Riga 23:
=== Links ===
=== Links ===
https://brev.dev/blog/how-qlora-works
https://brev.dev/blog/how-qlora-works
[[Categoria:Concetto]]
 
{{#seo:
            |title=LoRA
            |title_mode=append
            |keywords=LoRA, QLoRA, modelli di linguaggio, fine tuning, quantizzazione, basso rango, matrici, layer, Mistral, Llama, addestramento
            |description=Questo articolo spiega LoRA (Low Rank Adaptation), un metodo di fine tuning per modelli di linguaggio di grandi dimensioni. LoRA riduce il numero di parametri da addestrare, rendendo il processo più efficiente. Viene descritto anche QLoRA, una variante che combina la quantizzazione con LoRA, consentendo l'addestramento su hardware meno potente.
            |image=File:Lora.png
            }}

Versione attuale delle 13:47, 17 ago 2024

LoRA
Nome Inglese LoRA
Sigla

LoRA, acronimo di "Low Rank Adaptation", è un metodo di fine tuning per modelli di grandi dimensioni che diminuisce drasticamente il numero di parametri da addestrare.

QLoRA è un metodo che combina quantizzazione e LoRa, permettendo di utilizzare delle GPU piccole per fare fine-tuning su modelli di dimensioni enormi (miliardi di parametri).

Il rango delle matrici

Il rango di una matrice rappresenta il numero di colonne linearmente indipendenti: intuitivamente, matrici di rango più basso sono computazionalmente più economiche da moltiplicare. La Decomposizione di Basso Rango è il processo di approssimazione di una matrice A derivando approssimazioni di rango minore. Ricordiamo che nelle reti neurali, ogni strato è rappresentato da una matrice e ogni operazione di inferenza determina dei prodotti tra le matrici e i vettori (o tensori) in input o prodotti dal layer precedente.

Come funziona LoRA

Normalmente il fine-tuning adatta tutti i parametri del modello, ed è computazionalmente dispendioso. In dettaglio:

  1. Si parte da un modello iniziale, per esempio Llama o Mistral
  2. Si creano delle approssimazioni (low-rank) delle matrici del modello, che verranno utilizzate per il lavoro di fine tuning. Normalmente vengono create queste approssimazioni per tutti i layer del modello ma esistono eccezioni
  3. Invece di modificare direttamente i layer originali, LoRa applica una trasformazione fra le matrici low-rank e i layer originali
  4. Viene eseguito il fine-tuning sulle matrici low-rank
  5. Durante l'inferenza, i layer originali vengono utilizzati in congiunzione con i layer LoRa, che diventano una specie di "add-on"
Il modello Mistral prima e dopo QLora


Links

https://brev.dev/blog/how-qlora-works