الدرس 12: Quantization — INT8/FP8
FP16 خفّض استهلاك الذاكرة إلى النصف. أما Quantization فيذهب أبعد: تمثيل الأوزان والتنشيطات كأعداد صحيحة بطول 8 بت (INT8) — بايت واحد بدلاً من أربعة، أصغر بأربع مرات وسريع على وحدات INT. الثمن: خطأ تقريب صغير. سرّ الحفاظ على الدقة هو calibration. في هذا الدرس نرى الصيغة، والمفاضلة (trade-off)، ولماذا
Quantization يشبه تقريب الأسعار إلى دولارات كاملة بدلاً من السنتات. توفّر مساحة وتحسب بسرعة، وتكون النتيجة النهائية عادةً متطابقة تقريباً — طالما اخترت 'التقريب' الصحيح (scale).
- INT8 quantization
- تمثيل القيم كأعداد صحيحة بطول 8 بت (بايت واحد) بدلاً من FP32 (4 بايت). أصغر وأسرع بأربع مرات، مقابل تكلفة في الدقة.
- Scale
- معامل يربط مدى FP32 بمدى الأعداد الصحيحة. q = round(x / scale); dequantize: x ≈ q * scale.
- Calibration
- تشغيل بيانات تمثيلية لقياس المدى الحقيقي للقيم واختيار scale يقلّل خطأ التقريب إلى أدنى حد.