Consigli su LoRA e QLoRA per i LLM

Questa pagina fornisce consigli di configurazione per l'ottimizzazione di modelli linguistici di grandi dimensioni (LLM) su Vertex AI utilizzando Low-Rank Adaptation of Large Language Models (LoRA) e la relativa versione più efficiente in termini di memoria, QLoRA.

Consigli per l'ottimizzazione

La seguente tabella riepiloga i nostri consigli per il perfezionamento degli LLM utilizzando LoRA o QLoRA:

Specifica Consigliato Dettagli
Efficienza della memoria GPU QLoRA QLoRA ha un utilizzo di memoria GPU di picco inferiore di circa il 75% rispetto a LoRA.
Velocità LoRA LoRA è circa il 66% più veloce di QLoRA in termini di velocità di ottimizzazione.
Efficienza in termini di costi LoRA Sebbene entrambi i metodi siano relativamente economici, LoRA è fino al 40% meno costoso di QLoRA.
Lunghezza massima della sequenza più elevata QLoRA Una lunghezza massima della sequenza più elevata aumenta il consumo di memoria della GPU. QLoRA utilizza meno memoria GPU, quindi può supportare sequenze più lunghe.
Miglioramento dell'accuratezza Uguale Entrambi i metodi offrono miglioramenti simili in termini di precisione.
Dimensione batch maggiore QLoRA QLoRA supporta batch di dimensioni molto maggiori. Ad esempio, di seguito sono riportate le dimensioni del batch consigliate per l'ottimizzazione di openLLaMA-7B sulle seguenti GPU:
  • 1 x A100 40G:
    • LoRA: si consiglia una dimensione del batch pari a 2.
    • QLoRA: si consiglia una dimensione del batch di 24.
  • 1 x L4:
    • LoRA: la dimensione del batch 1 non riesce a causa di un errore di esaurimento della memoria (OOM).
    • QLoRA: si consiglia una dimensione del batch di 12.
  • 1 x V100:
    • LoRA: la dimensione del batch 1 non riesce a causa di un errore di esaurimento della memoria (OOM).
    • QLoRA: si consiglia una dimensione del batch pari a 8.