مستوى المقال: مبتدئ
لو عايز تشغّل نموذج ذكاء اصطناعي قوي زي Llama 3 على لابتوبك العادي من غير ما تشتري كرت شاشة بآلاف الدولارات، الـ Quantization هو اللي هيخليها تحصل. هتاخد نموذج حجمه 16 جيجابايت وتشغّله في 4.5 جيجابايت بس، على معالج Intel أو Apple أو AMD عادي.
Quantization: تصغير النموذج علشان يشتغل على جهاز صغير
المشكلة باختصار
نموذج Llama 3 8B فيه 8 مليار رقم (parameter). كل رقم متخزّن بدقة 16-bit. الحساب البسيط: 8 مليار × 2 بايت = 16 جيجابايت تقريبًا. ده معناه إنك محتاج كرت شاشة بـ 16GB ذاكرة على الأقل، وده غالي ومش موجود في اللابتوبات العادية. النتيجة: أغلب الناس بتفتكر إن تشغيل النماذج دي محليًا مستحيل. وده مش صح.
المثال الأول: صورة الكاميرا
تخيّل إنك صوّرت صورة بكاميرا احترافية بصيغة RAW. الصورة دقيقة جدًا، كل لون فيها متخزّن بتفاصيل عالية، لكن حجمها 50 ميجابايت. لو حفظتها JPEG بجودة 85%، حجمها هيبقى 4 ميجابايت. عينك بالكاد هتفرّق بين الاتنين، بس الحجم اتقسّم على 12.
الـ Quantization بيعمل نفس الفكرة بالظبط، بس على أرقام النموذج بدل الألوان. بدل ما نخزّن كل رقم بدقة 16-bit، بنخزّنه بـ 4-bit. بنخسر شوية دقة صغيرة، بس بنكسب تخفيض هائل في الحجم والذاكرة.
يعني إيه Quantization بالظبط؟
الـ Quantization هو خفض دقة (precision) أوزان النموذج من أرقام عشرية 16-bit إلى أرقام صحيحة 4-bit أو 8-bit. الطريقة المستخدمة اسمها block-wise quantization: بنقسّم الأوزان لمجموعات صغيرة (blocks)، وكل مجموعة بتاخد معامل قياس (scale factor) خاص بيها. ده بيحافظ على القيم الشاذة (outliers) ويقلّل فقد الدقة.
أشهر صيغة دلوقتي اسمها GGUF، وهي ملف واحد بيحتوي الأوزان المكمّمة + إعدادات الـ tokenizer + معلومات المعمارية، من غير ما تحتاج ملفات إعداد إضافية. أشهر مستوى تكميم اسمه Q4_K_M، بيقلّل الحجم لحوالي ربع الأصلي مع جودة قريبة جدًا من الأصل.
إزاي تشغّلها عمليًا في دقيقتين
الافتراض هنا إن عندك لابتوب بـ 8 جيجابايت رام على الأقل ومعالج حديث (Intel i5 وأحدث، أو Apple M1 فأعلى، أو AMD Ryzen). أسهل طريقة هي أداة Ollama:
# بعد تثبيت Ollama من ollama.com
# شغّل نسخة مكمّمة 4-bit من Llama 3 8B مباشرة
ollama run llama3:8b-instruct-q4_K_M
# لو عايز تحكّم أكبر عبر llama.cpp بملف GGUF يدويًا:
./llama-cli -m Llama-3-8B-Instruct.Q4_K_M.gguf \
-p "اشرحلي الـ quantization في جملة" -n 256