Applicare la quantizzazione dinamica

Modelli di AI scalabili con PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Perché usare la quantizzazione?

$$

  • Riduzione della memoria

Icona che rappresenta una riduzione della memoria di calcolo

Modelli di AI scalabili con PyTorch Lightning

Perché usare la quantizzazione?

$$

  • Riduzione della memoria
  • Accelerazione su CPU

Icone che rappresentano una riduzione della memoria di calcolo e un fulmine

Modelli di AI scalabili con PyTorch Lightning

Perché usare la quantizzazione?

$$

  • Riduzione della memoria
  • Accelerazione su CPU
  • Inferenza su mobile

Icone che rappresentano una riduzione della memoria di calcolo, un fulmine e un dispositivo mobile

Modelli di AI scalabili con PyTorch Lightning

Cos'è la quantizzazione dinamica?

$$

  • Riduce la precisione di pesi e operazioni
  • Velocizza l'inferenza
  • Ideale per dispositivi con risorse limitate

$$

import torch
from torch.quantization 
import quantize_dynamic


model_quantized = quantize_dynamic( model, {torch.nn.Linear}, dtype=torch.qint8 )
Modelli di AI scalabili con PyTorch Lightning

Valutare l'impatto della quantizzazione

Un diagramma con una bilancia che confronta il modello originale e quello quantizzato, a indicare il compromesso tra accuratezza ed efficienza

Modelli di AI scalabili con PyTorch Lightning

Confronto prestazioni

$$

  • ⚡ Confronta velocità d'inferenza e memoria

$$

  • 📊 Definisci compromessi di accuratezza accettabili

$$

  • ⛗ Decidi l'idoneità in base al deployment
Modelli di AI scalabili con PyTorch Lightning

Confrontare le prestazioni

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")
Modelli di AI scalabili con PyTorch Lightning

Let's practice!

Modelli di AI scalabili con PyTorch Lightning

Preparing Video For Download...