CommencezCommencez gratuitement

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

Voir le cours

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
)
Modifier et exécuter le code