Consigli su LoRA e QLoRA per gli LLM

Questa pagina fornisce suggerimenti sulla configurazione per l'ottimizzazione di modelli linguistici di grandi dimensioni (LLM) su Vertex AI utilizzando l'adattamento basso di posizioni dei modelli linguistici di grandi dimensioni (LoRA) e la sua versione più efficiente in termini di memoria, QLoRA.

Consigli sull'ottimizzazione

La seguente tabella riassume i nostri suggerimenti per l'ottimizzazione degli LLM utilizzando LoRA o QLoRA:

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