Quantization

التكميم

التعريف

تقليل دقة أرقام الأوزان والتنشيطات (مثل من 32 بت إلى 8 أو 4 بت) لتصغير النموذج وتسريعه.

يقلل استهلاك الذاكرة وزمن الاستدلال مع خسارة صغيرة غالباً في الدقة. يكون بعد التدريب (PTQ) أو أثناءه (QAT). يتيح تشغيل نماذج لغوية كبيرة على عتاد محدود.

Definition

Quantization lowers the numeric precision of weights and activations, such as from 32-bit floats to 8- or 4-bit integers, shrinking model size and speeding inference.

شرح مبسّط للمبتدئين

كحفظ صورة بجودة أقل لتصغير حجمها مع بقاء معالمها واضحة.

شرح أكاديمي متخصص

\(q=\mathrm{round}(x/s)+z\) بمعامل تدرّج s ونقطة صفر z.

أمثلة عملية

  • نموذج لغوي بـ 4 بت على حاسوب محمول.
تكميم بسيط إلى 8 بت Python
import numpy as np

x = np.array([-1.0, 0.0, 0.5, 1.0])
s = np.abs(x).max() / 127
q = np.round(x / s).astype(int)
print(q.tolist())

شرح الكود

تُحوَّل القيم الحقيقية إلى أعداد صحيحة بين -127 و127.

النتيجة المتوقعة

[-127, 0, 64, 127]

التطبيقات والاستخدامات

  • الأجهزة الطرفية.

المزايا

  • ذاكرة وسرعة أفضل.

القيود والعيوب

  • انخفاض دقة محتمل.

تعلّم وراجع

مصطلحات مقترحة للتعلّم بعده