Применение динамического квантования

Масштабируемые модели ИИ с PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Зачем использовать квантование?

$$

  • Снижение потребления памяти

Иконка, символизирующая снижение потребления памяти

Масштабируемые модели ИИ с PyTorch Lightning

Зачем использовать квантование?

$$

  • Снижение потребления памяти
  • Ускорение на CPU

Иконки, символизирующие снижение потребления памяти и молнию

Масштабируемые модели ИИ с PyTorch Lightning

Зачем использовать квантование?

$$

  • Снижение потребления памяти
  • Ускорение на CPU
  • Инференс на мобильных устройствах

Иконки, символизирующие снижение потребления памяти, молнию и мобильное устройство

Масштабируемые модели ИИ с PyTorch Lightning

Что такое динамическое квантование?

$$

  • Снижает точность представления весов и операций
  • Ускоряет инференс
  • Оптимально для развёртывания на устройствах с ограниченными ресурсами

$$

import torch
from torch.quantization 
import quantize_dynamic


model_quantized = quantize_dynamic( model, {torch.nn.Linear}, dtype=torch.qint8 )
Масштабируемые модели ИИ с PyTorch Lightning

Оценка влияния квантования

Диаграмма весов, балансирующих исходную и квантованную модели — компромисс между точностью и эффективностью

Масштабируемые модели ИИ с PyTorch Lightning

Сравнение производительности

$$

  • ⚡ Сравните скорость инференса и объём занимаемой памяти

$$

  • 📊 Определите допустимые потери в точности

$$

  • ⛗ Оцените целесообразность квантования с учётом требований развёртывания
Масштабируемые модели ИИ с PyTorch Lightning

Сравнение производительности моделей

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

Давайте потренируемся!

Масштабируемые модели ИИ с PyTorch Lightning

Preparing Video For Download...