การใช้ dynamic quantization

AI Models แบบ Scalable ด้วย PyTorch Lightning

Sergiy Tkachuk

Director, GenAI Productivity

ทำไมต้องใช้ quantization?

$$

  • ลดการใช้หน่วยความจำ

ไอคอนแสดงการลดการใช้หน่วยความจำ

AI Models แบบ Scalable ด้วย PyTorch Lightning

ทำไมต้องใช้ quantization?

$$

  • ลดการใช้หน่วยความจำ
  • เร่งความเร็วบน CPU

ไอคอนแสดงการลดหน่วยความจำและสายฟ้า

AI Models แบบ Scalable ด้วย PyTorch Lightning

ทำไมต้องใช้ quantization?

$$

  • ลดการใช้หน่วยความจำ
  • เร่งความเร็วบน CPU
  • ประมวลผลบนอุปกรณ์มือถือ

ไอคอนแสดงการลดหน่วยความจำ สายฟ้า และอุปกรณ์มือถือ

AI Models แบบ Scalable ด้วย PyTorch Lightning

Dynamic quantization คืออะไร?

$$

  • ลดความละเอียดของ weights และการคำนวณ
  • เพิ่มความเร็วในการ inference
  • เหมาะสำหรับ deployment บนอุปกรณ์ที่มีทรัพยากรจำกัด

$$

import torch
from torch.quantization 
import quantize_dynamic


model_quantized = quantize_dynamic( model, {torch.nn.Linear}, dtype=torch.qint8 )
AI Models แบบ Scalable ด้วย PyTorch Lightning

ประเมินผลกระทบของ quantization

แผนภาพตาชั่งที่สมดุลระหว่างโมเดลต้นฉบับและโมเดลที่ผ่าน quantization แสดงถึงการแลกเปลี่ยนระหว่างความแม่นยำและประสิทธิภาพ

AI Models แบบ Scalable ด้วย PyTorch Lightning

การเปรียบเทียบประสิทธิภาพ

$$

  • ⚡ เปรียบเทียบความเร็ว inference และการใช้หน่วยความจำ

$$

  • 📊 กำหนดระดับการสูญเสียความแม่นยำที่ยอมรับได้

$$

  • ⛗ ตัดสินใจว่าควรใช้ quantization หรือไม่ตามความต้องการของ deployment
AI Models แบบ Scalable ด้วย 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")
AI Models แบบ Scalable ด้วย PyTorch Lightning

มาฝึกกันเถอะ!

AI Models แบบ Scalable ด้วย PyTorch Lightning

Preparing Video For Download...