คืออะไร Quantization
ลดความแม่นยำในการคำนวณเพื่อความเร็ว
Quantization คือเทคนิคการเพิ่มประสิทธิภาพโครงข่ายประสาทที่แปลงน้ำหนักและการเปิดใช้งานของโมเดลจากรูปแบบความแม่นยำสูง (FP32) เป็นความแม่นยำต่ำ (INT8, INT4) เพื่อลดขนาดโมเดลและเร่งการอนุมาน
ประเภทของ Quantization
- Post-Training Quantization (PTQ) — หลังการฝึกโมเดล
- Quantization-Aware Training (QAT) — ระหว่างการฝึก
- Dynamic Quantization — ระหว่างการอนุมาน
- Static Quantization — ด้วยการสอบเทียบข้อมูล
รูปแบบความแม่นยำ
- FP32 — จุดลอยตัว 32 บิต (ต้นฉบับ)
- FP16 — 16 บิต (ครึ่งความแม่นยำ)
- INT8 — จำนวนเต็ม 8 บิต (บีบอัด 4 เท่า)
- INT4 — จำนวนเต็ม 4 บิต (บีบอัด 8 เท่า)
ประโยชน์
- ลดขนาดโมเดล 2-8 เท่า
- เพิ่มความเร็วการอนุมาน 2-4 เท่า
- ลดการใช้พลังงาน
- สามารถทำงานบนอุปกรณ์ edge ได้
เครื่องมือ
- TensorRT (NVIDIA)
- ONNX Runtime
- PyTorch quantization
- TensorFlow Lite