Aplicar cuantización dinámica

Modelos de IA escalables con PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

¿Por qué usar cuantización?

$$

  • Reducción de memoria

Icono que representa una reducción de memoria de cómputo

Modelos de IA escalables con PyTorch Lightning

¿Por qué usar cuantización?

$$

  • Reducción de memoria
  • Aceleración en CPU

Iconos que representan reducción de memoria de cómputo y un rayo

Modelos de IA escalables con PyTorch Lightning

¿Por qué usar cuantización?

$$

  • Reducción de memoria
  • Aceleración en CPU
  • Inferencia en móvil

Iconos que representan reducción de memoria de cómputo, un rayo y un dispositivo móvil

Modelos de IA escalables con PyTorch Lightning

¿Qué es la cuantización dinámica?

$$

  • Reduce la precisión de pesos y operaciones
  • Mejora la velocidad de inferencia
  • Ideal para dispositivos con pocos recursos

$$

import torch
from torch.quantization 
import quantize_dynamic


model_quantized = quantize_dynamic( model, {torch.nn.Linear}, dtype=torch.qint8 )
Modelos de IA escalables con PyTorch Lightning

Evaluar el impacto de la cuantización

Diagrama de una balanza con dos modelos, el original y el cuantizado, representando el equilibrio entre precisión y eficiencia

Modelos de IA escalables con PyTorch Lightning

Comparar rendimiento

$$

  • ⚡ Compara velocidad de inferencia y huella de memoria

$$

  • 📊 Define compromisos de precisión aceptables

$$

  • ⛗ Decide si conviene cuantizar según el despliegue
Modelos de IA escalables con PyTorch Lightning

Comparar el rendimiento

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")
Modelos de IA escalables con PyTorch Lightning

¡Vamos a practicar!

Modelos de IA escalables con PyTorch Lightning

Preparing Video For Download...