Consigli su LoRA e QLoRA per i LLM

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

Consigli per l'ottimizzazione

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

Specifica Consigliato Dettagli
Efficienza della memoria GPU QLoRA QLoRA ha un utilizzo massimo della memoria GPU inferiore di circa il 75% rispetto a LoRA.
Velocità LoRA LoRA è circa il 66% più veloce di QLoRA in termini di velocità di sintonizzazione.
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 GPU. QLoRA utilizza meno memoria GPU, quindi può supportare lunghezze di sequenza massime più elevate.
Miglioramento dell'accuratezza Uguale Entrambi i metodi offrono miglioramenti dell'accuratezza simili.
Dimensione batch più grande QLoRA QLoRA supporta batch di dimensioni molto maggiori. Ad esempio, di seguito sono riportati i consigli per le dimensioni dei batch per l'ottimizzazione di openLLaMA-7B sulle seguenti GPU:
  • 1 x A100 40G:
    • LoRA: è consigliata una dimensione del batch pari a 2.
    • QLoRA: è consigliata una dimensione del batch di 24.
  • 1 x L4:
    • LoRA: la dimensione del batch pari a 1 non riesce a causa di un errore di esaurimento della memoria (OOM).
    • QLoRA: è consigliata una dimensione del batch di 12.
  • 1 x V100:
    • LoRA: la dimensione del batch pari a 1 non riesce a causa di un errore di esaurimento della memoria (OOM).
    • QLoRA: è consigliata una dimensione del batch di 8.