Velocizzare l'inferenza nei modelli quantizzati
La tua azienda utilizza da un po' un modello Llama per il chatbot di assistenza clienti con quantizzazione. Una delle lamentele più frequenti è che il bot risponde molto lentamente e a volte genera risposte strane.
Sospetti che ciò possa dipendere dalla quantizzazione a 4 bit senza normalizzazione. Dall’analisi, pensi anche che il compromesso in termini di velocità derivi dai calcoli in inferenza, che usano float a 32 bit.
Vuoi regolare le configurazioni di quantizzazione per migliorare la velocità di inferenza del modello. I seguenti import sono già stati caricati: AutoModelForCausalLM, AutoTokenizer e BitsAndBytesConfig.
Questo esercizio fa parte del corso
Fine-tuning con Llama 3
Istruzioni dell'esercizio
- Imposta il tipo di quantizzazione a 4 bit normalizzato per ridurre gli outlier e ottenere meno risposte senza senso.
- Imposta il tipo di calcolo su bfloat16 per aumentare la velocità dei calcoli in inferenza.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
# Set quantization type to normalized 4-bit
____=____,
# Set compute data type to be bfloat16
____=____
)
model = AutoModelForCausalLM.from_pretrained(
"Maykeye/TinyLLama-v0",
quantization_config=bnb_config,
low_cpu_mem_usage=True
)