Accélérer l'inférence dans des modèles quantifiés
Votre entreprise utilise depuis un certain temps un modèle Llama pour son agent conversationnel de service à la clientèle, avec quantification. L'une des plus grandes plaintes des clients est que le robot répond très lentement et produit parfois des réponses étranges.
Vous soupçonnez que cela pourrait être dû à une quantification en 4 bits sans normalisation. Dans votre analyse, vous supposez aussi que le compromis de vitesse vient des calculs d'inférence, qui utilisent des flottants 32 bits.
Vous voulez ajuster les configurations de quantification pour améliorer la vitesse d'inférence de votre modèle. Les importations suivantes ont déjà été chargées : AutoModelForCausalLM, AutoTokenizer et BitsAndBytesConfig.
Cette activité fait partie du cours
Ajustement fin avec Llama 3
Instructions de l’exercice
- Définissez le type de quantification à 4 bits normalisé pour réduire les valeurs aberrantes et ainsi produire moins de réponses dénuées de sens.
- Réglez le type de calcul à bfloat16 pour accélérer les vitesses de calcul à l'inférence.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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
)