التكميم وفك الترميز التخمني
للنماذج المستضافة ذاتيًا: استخدم تكميم int8/int4 لتقليل الذاكرة، وفك الترميز التخمني لزيادة معدل المعالجة.
التكميم وفك الترميز التخمني درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
تحسينات النماذج المستضافة ذاتيًا
بالنسبة إلى النماذج المفتوحة المستضافة ذاتيًا، هناك مكسبان كبيران في السرعة والتكلفة:
- التكميم — أوزان أصغر، وذاكرة RAM/VRAM أقل، واستدلال أسرع
- فك الترميز التخميني — توليد رموز متعددة في كل خطوة
أساسيات التكميم
تُخزَّن النماذج عادةً بصيغة FP16، أي 16 بت لكل وزن. ويقلل التكميم عدد البتات:
- FP16 — خط الأساس
- INT8 — أصغر بمقدار الضعف، مع فقدان جودة شبه مهمل
- INT4 / Q4_K_M — أصغر بأربعة أضعاف، مع فقدان بسيط للجودة
- INT2 / 1.58-bit — أصغر بثمانية أضعاف أو أكثر، مع فقدان ملحوظ للجودة
GGUF ومستويات التكميم
GGUF هو التنسيق الذي يستخدمه llama.cpp. ومن مستوياته الشائعة:
- Q4_K_M — أفضل توازن بين الجودة والحجم
- Q5_K_M — أكبر قليلًا وأفضل قليلًا
- Q8_0 — جودة قريبة من FP16 مع ضغط بمقدار الضعف
Quantise With llama.cpp
./llama-quantize models/llama-3-8b-f16.gguf models/llama-3-8b-q4_k_m.gguf Q4_K_M
# Or download pre-quantised from TheBloke / unsloth on HuggingFaceتأثير العتاد
يحتاج نموذج 8B بصيغة FP16 إلى نحو 16GB من VRAM. أما النموذج نفسه بصيغة Q4 فيحتاج إلى نحو 5GB من VRAM، ما يسمح بتشغيله على وحدة معالجة رسومية أرخص بكثير.
فك الترميز التخميني
الفكرة هي استخدام نموذج صغير «مسودة» لاقتراح الرموز، ثم التحقق منها باستخدام النموذج الكبير «الهدف» في تمريرة أمامية واحدة. وغالبًا ما يحقق ذلك تسريعًا بمقدار 2-3 أضعاف.
from transformers import AutoModelForCausalLM
target = AutoModelForCausalLM.from_pretrained('meta-llama/Llama-3.1-70B')
draft = AutoModelForCausalLM.from_pretrained('meta-llama/Llama-3.1-8B')
outputs = target.generate(
input_ids,
assistant_model=draft, # speculative decoding
max_new_tokens=200
)لماذا ينجح ذلك
يقترح النموذج المسودة K من الرموز. ويعالج النموذج الهدف جميع هذه الرموز بالتوازي، في تمريرة أمامية واحدة. وكل رمز مقبول يكون «مجانيًا». أما الرفض فيؤدي إلى التراجع، لكنكم تقبلون معظم الرموز عادةً.
تحسينات أخرى لسرعة فك الترميز
- فك الترميز الاستشرافي — مسودات متعددة في كل خطوة
- Medusa — رؤوس فك ترميز متعددة مدرّبة معًا
- EAGLE — تخمين سريع قائم على الأشجار
أدوات تطبّق هذه الأساليب
- vLLM — يدعم التكميم (AWQ وGPTQ وFP8) وفك الترميز التخميني
- llama.cpp — يدعم التكميم والتخمين عبر --draft-model
- TensorRT-LLM — خادم الإنتاج من NVIDIA
- SGLang — خادم سريع ملائم للدفعات مع معالجة مستمرة للدفعات
المعالجة المستمرة للدفعات
الميزة الأبرز في vLLM: معالجة طلبات متعددة بأطوال مختلفة في التمريرة الأمامية نفسها. وهذا يحقق مكسبًا هائلًا في معدل النقل لخوادم الإنتاج.
اختيار مستوى التكميم
اختبروا كل مستوى مرشح باستخدام تقييمكم أنتم. يُعد Q4_K_M نقطة البداية الافتراضية؛ وانتقلوا إلى مستوى أعلى إذا انخفضت الجودة عن العتبة.
زمن الاستجابة لكل رمز مقابل معدل النقل
تساعد التحسينات المختلفة في مقاييس مختلفة:
- زمن استجابة طلب واحد: فك الترميز التخميني
- معدل النقل لعدة مستخدمين: المعالجة المستمرة للدفعات
- تكلفة الذاكرة: التكميم
تأثير التكميم
ما التأثير الأساسي لتكميم int4؟
مراجعة
كمّموا النموذج إلى Q4 لتقليل الذاكرة وزيادة السرعة. استخدموا فك الترميز التخميني لتقليل زمن الاستجابة. واستخدموا المعالجة المستمرة للدفعات لزيادة معدل النقل. يطبّق vLLM وllama.cpp الأساليب الثلاثة.
الأسئلة الشائعة
هل درس «التكميم وفك الترميز التخمني» مجاني؟
نعم — نص درس «التكميم وفك الترميز التخمني» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.
ماذا ستتعلم في «التكميم وفك الترميز التخمني»؟
للنماذج المستضافة ذاتيًا: استخدم تكميم int8/int4 لتقليل الذاكرة، وفك الترميز التخمني لزيادة معدل المعالجة. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟
لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «التكميم وفك الترميز التخمني»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟
نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- ميزانيات الرموز لكل خطوة
- توجيه النماذج (من الأرخص إلى الأغلى)
- تخزين المطالبات والنتائج مؤقتًا (Anthropic وVertex)
- التكميم وفك الترميز التخمني