Appliquer la quantification dynamique

Modèles d'IA évolutifs avec PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Pourquoi quantifier ?

$$

  • Réduction mémoire

Icône représentant une réduction de la mémoire

Modèles d'IA évolutifs avec PyTorch Lightning

Pourquoi quantifier ?

$$

  • Réduction mémoire
  • Accélération CPU

Icônes représentant une réduction de la mémoire et un éclair

Modèles d'IA évolutifs avec PyTorch Lightning

Pourquoi quantifier ?

$$

  • Réduction mémoire
  • Accélération CPU
  • Inférence mobile

Icônes représentant une réduction de la mémoire, un éclair et un appareil mobile

Modèles d'IA évolutifs avec PyTorch Lightning

Qu’est-ce que la quantification dynamique ?

$$

  • Réduit la précision des poids et opérations
  • Accélère l'inférence
  • Idéale pour les appareils à ressources limitées

$$

import torch
from torch.quantization 
import quantize_dynamic


model_quantized = quantize_dynamic( model, {torch.nn.Linear}, dtype=torch.qint8 )
Modèles d'IA évolutifs avec PyTorch Lightning

Évaluer l’impact de la quantification

Schéma d’une balance entre le modèle original et le quantifié, illustrant le compromis précision/efficacité

Modèles d'IA évolutifs avec PyTorch Lightning

Comparaison des performances

$$

  • ⚡ Comparer vitesse d’inférence et empreinte mémoire

$$

  • 📊 Déterminer les pertes de précision acceptables

$$

  • ⛗ Décider de la pertinence selon le déploiement
Modèles d'IA évolutifs avec PyTorch Lightning

Comparer les performances

import time

def measure_time(model, data_loader):
      model.eval()  # Set model to evaluation mode
    start_time = time.time()
    for inputs in data_loader:

_ = model(inputs) end_time = time.time() return end_time - start_time
original_time = measure_time(model, test_loader) quant_time = measure_time(model_quant, test_loader) print(f"Original Model Time: {original_time:.2f}s") print(f"Quantized Model Time: {quant_time:.2f}s")
Modèles d'IA évolutifs avec PyTorch Lightning

Passons à la pratique !

Modèles d'IA évolutifs avec PyTorch Lightning

Preparing Video For Download...