Dinamik nicelemeyi uygulama

PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Sergiy Tkachuk

Director, GenAI Productivity

Neden niceleme?

$$

  • Bellek azalır

Hesaplama belleğinin azalışını temsil eden bir simge

PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Neden niceleme?

$$

  • Bellek azalır
  • CPU hızlanır

Hesaplama belleğinde azalma ve bir şimşek simgesi

PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Neden niceleme?

$$

  • Bellek azalır
  • CPU hızlanır
  • Mobil çıkarım

Hesaplama belleğinde azalma, bir şimşek ve bir mobil cihazı gösteren simgeler

PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Dinamik niceleme nedir?

$$

  • Ağırlıkların ve işlemlerin duyarlılığını düşürür
  • Çıkarım hızını artırır
  • Kısıtlı kaynaklı cihazlara dağıtım için idealdir

$$

import torch
from torch.quantization 
import quantize_dynamic


model_quantized = quantize_dynamic( model, {torch.nn.Linear}, dtype=torch.qint8 )
PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Niceleme etkisini değerlendirme

Doğruluk ve verimlilik dengesi için, orijinal ve nicelemeli iki modeli dengeleyen bir teraziyi gösteren şema

PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Performans karşılaştırması

$$

  • ⚡ Çıkarım hızı ve bellek ayak izini karşılaştırın

$$

  • 📊 Kabul edilebilir doğruluk ödünlerini belirleyin

$$

  • ⛗ Dağıtım gereksinimlerine göre nicelemenin uygunluğuna karar verin
PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Performansı karşılaştırma

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")
PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Hadi pratik yapalım!

PyTorch Lightning ile Ölçeklenebilir AI Modelleri

Preparing Video For Download...