Áp dụng lượng tử hóa động

Mô hình AI có khả năng mở rộng với PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

Vì sao dùng lượng tử hóa?

$$

  • Giảm bộ nhớ

Biểu tượng thể hiện giảm bộ nhớ tính toán

Mô hình AI có khả năng mở rộng với PyTorch Lightning

Vì sao dùng lượng tử hóa?

$$

  • Giảm bộ nhớ
  • Tăng tốc trên CPU

Biểu tượng thể hiện giảm bộ nhớ tính toán và tia sét

Mô hình AI có khả năng mở rộng với PyTorch Lightning

Vì sao dùng lượng tử hóa?

$$

  • Giảm bộ nhớ
  • Tăng tốc trên CPU
  • Suy luận trên di động

Biểu tượng thể hiện giảm bộ nhớ tính toán, tia sét và thiết bị di động

Mô hình AI có khả năng mở rộng với PyTorch Lightning

Lượng tử hóa động là gì?

$$

  • Giảm độ chính xác của trọng số và phép toán
  • Tăng tốc suy luận
  • Lý tưởng cho thiết bị hạn chế tài nguyên

$$

import torch
from torch.quantization 
import quantize_dynamic


model_quantized = quantize_dynamic( model, {torch.nn.Linear}, dtype=torch.qint8 )
Mô hình AI có khả năng mở rộng với PyTorch Lightning

Đánh giá tác động của lượng tử hóa

Sơ đồ cái cân cân bằng giữa mô hình gốc và mô hình đã lượng tử hóa, thể hiện đánh đổi giữa độ chính xác và hiệu năng

Mô hình AI có khả năng mở rộng với PyTorch Lightning

So sánh hiệu năng

$$

  • ⚡ So sánh tốc độ suy luận và bộ nhớ sử dụng

$$

  • 📊 Xác định mức đánh đổi độ chính xác chấp nhận được

$$

  • ⛗ Quyết định mức phù hợp theo nhu cầu triển khai
Mô hình AI có khả năng mở rộng với PyTorch Lightning

So sánh hiệu suất

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")
Mô hình AI có khả năng mở rộng với PyTorch Lightning

Ayo berlatih!

Mô hình AI có khả năng mở rộng với PyTorch Lightning

Preparing Video For Download...