فك التشفير التخميني: تحقيق تسريع 2-3 أضعاف في استدلال نماذج اللغة الكبيرة
آخر تحديث: 11 ديسمبر 2025
تحديث ديسمبر 2025: فك التشفير التخميني ينضج من البحث إلى معيار الإنتاج. NVIDIA تُظهر تحسينات في الإنتاجية بمقدار 3.6 ضعف على وحدات معالجة الرسوميات H200. vLLM وTensorRT-LLM يتضمنان دعماً أصلياً. نماذج المسودة تقترح 5-8 رموز يتم التحقق منها بالتوازي—مستغلة سعة وحدة معالجة الرسوميات غير المستخدمة في توليد الرموز الفردية. جودة المخرجات دون تغيير؛ زمن الاستجابة ينخفض 2-3 أضعاف.
نماذج اللغة الكبيرة تولّد النص رمزاً واحداً في كل مرة، وكل رمز يتطلب تمريرة أمامية كاملة عبر مليارات المعلمات. هذا الاختناق التسلسلي يخلق زمن استجابة يُحبط المستخدمين الذين ينتظرون الردود، حتى عندما تكون وحدات معالجة الرسوميات خاملة جزئياً أثناء الحساب. فك التشفير التخميني يكسر هذا الاختناق باستخدام نماذج مسودة صغيرة وسريعة لاقتراح رموز متعددة تتحقق منها النماذج الهدف الأكبر بالتوازي، محققاً تسريعاً بمقدار 2-3 أضعاف دون تغيير جودة المخرجات.¹
هذه التقنية نضجت من فضول بحثي إلى معيار إنتاجي في عام 2025. كل من vLLM وTensorRT-LLM يتضمنان دعم فك التشفير التخميني الأصلي، مع إظهار NVIDIA لتحسينات في الإنتاجية بمقدار 3.6 ضعف على وحدات معالجة الرسوميات H200.² فهم متى يساعد فك التشفير التخميني، وكيفية اختيار نماذج المسودة، وأي الأطر تقدم أفضل التطبيقات يُمكّن المؤسسات من تقليل تكاليف الاستدلال وزمن الاستجابة بشكل كبير.
كيف يعمل فك التشفير التخميني
التوليد الانحداري التقليدي ينتج الرموز بشكل تسلسلي:
- النموذج يستقبل المطالبة، ويولّد احتمالات الرمز التالي
- أخذ عينة من الرمز من التوزيع
- إلحاق الرمز بالسياق، تكرار التمريرة الأمامية
- الاستمرار حتى الاكتمال
كل خطوة تتطلب حساب النموذج الكامل، لكن وحدات معالجة الرسوميات لديها سعة أكبر بكثير مما يستخدمه توليد الرمز الفردي. فك التشفير التخميني يستغل السعة غير المستخدمة:
مرحلة المسودة: نموذج صغير وسريع يولّد K رمز تخميني بسرعة. نموذج المسودة قد ينتج 5-8 استمرارات مرشحة في الوقت الذي يستغرقه النموذج الهدف لرمز واحد.
مرحلة التحقق: النموذج الهدف يعالج جميع الرموز K في تمريرة أمامية متوازية واحدة، حاسباً الاحتمالات لكل موضع في وقت واحد. التوازي في وحدة معالجة الرسوميات يُمكّن من التحقق من K رمز بتكلفة مماثلة لتوليد رمز واحد.
القبول/الرفض: مقارنة توزيعات المسودة والهدف في كل موضع. قبول الرموز حيث تتطابق التوزيعات؛ رفض وإعادة أخذ العينات حيث تتباين. الخوارزمية تضمن أن المخرجات تتطابق تماماً مع ما سينتجه النموذج الهدف بشكل مستقل.³
التسريع يأتي من قبول رموز متعددة لكل تمريرة أمامية للنموذج الهدف. إذا كان متوسط معدل قبول نموذج المسودة 60% ويقترح 8 رموز، كل تمريرة تحقق تنتج تقريباً 5 رموز مقابل 1 بدون التخمين.
معايير الأداء
النشر الإنتاجي يُظهر تسريعات كبيرة عبر عائلات النماذج:
نماذج Llama على vLLM:⁴ - Llama 3.1-70B مع مسودة 1B: تسريع 2.31 ضعف - Llama 3.1-8B على A100 واحدة: تقليل زمن الاستجابة 1.8 ضعف - Llama 3.1-70B بمعدلات طلب منخفضة: تقليل زمن الاستجابة 1.6 ضعف
TensorRT-LLM على H200:⁵ - Llama 3.1-405B مع نماذج مسودة متنوعة: إنتاجية أكبر من 3 أضعاف - مع تكميم FP8: تحسين إجمالي 3.6 ضعف
SGLang مع SpecForge:⁶ - Llama 4 Maverick: تسريع 2.18 ضعف على MT-Bench - Llama 4 Scout: تسريع 2.0 ضعف
طريقة EAGLE (الأفضل أداءً):⁷ - دقة مسودة تقريباً 0.8 (قبول 80%) - تسريعات نموذجية 2.5-2.8 ضعف - أحدث ما توصلت إليه التقنية على لوحة صدارة Spec-Bench
التسريعات تتفاوت بشكل كبير بناءً على خصائص عبء العمل. حالات الاستخدام المتزامنة والحساسة لزمن الاستجابة ترى أكبر المكاسب. المعالجة الدُفعية عالية الإنتاجية تستفيد أقل حيث يصبح حساب وحدة معالجة الرسوميات هو الاختناق بدلاً من التوليد التسلسلي.
تطبيقات الأطر
فك التشفير التخميني في vLLM
vLLM يدعم طرق فك تشفير تخميني متعددة بما في ذلك نموذج المسودة، ومطابقة ngram، وEAGLE:
# تفعيل تخمين نموذج المسودة
vllm serve meta-llama/Llama-3.1-70B-Instruct \
--speculative-model meta-llama/Llama-3.2-1B-Instruct \
--num-speculative-tokens 5 \
--speculative-draft-tensor-parallel-size 1
تكامل EAGLE (موصى به):
# EAGLE يحقق معدلات قبول أعلى
vllm serve meta-llama/Llama-3.1-70B-Instruct \
--speculative-model yuhuili/EAGLE-LLaMA3.1-Instruct-70B \
--speculative-method eagle \
--num-speculative-tokens 8
تكامل Eagle 3 في vLLM يقدم تسريعاً يصل إلى 2.5 ضعف عبر سيناريوهات متنوعة.⁸ الإطار يتعامل تلقائياً مع التحقق من الرموز وأخذ عينات الرفض، محافظاً على تكافؤ المخرجات مع التوليد غير التخميني.
فك التشفير التخميني في TensorRT-LLM
TensorRT-LLM يقدم تحسيناً أعمق لأجهزة NVIDIA:
# بناء المحرك مع فك التشفير التخميني
trtllm-build \
--speculative_decoding_mode draft_tokens_external \
--max_draft_len 8 \
--checkpoint_dir $TARGET_CHECKPOINT \
--output_dir $ENGINE_DIR
لتكوين نموذج المسودة:
# نموذج المسودة مع محرك منفصل
trtllm-build \
--checkpoint_dir $DRAFT_CHECKPOINT \
--output_dir $DRAFT_ENGINE \
--max_batch_size 256
نواة TensorRT-LLM المخصصة تُحسّن كلاً من مرحلتي توليد المسودة والتحقق، مستخلصةً الأداء الأقصى من Tensor Cores وعرض نطاق الذاكرة.
تكامل Triton Inference Server
NVIDIA Triton Inference Server يدعم فك التشفير التخميني من خلال واجهة vLLM الخلفية:⁹
model_repository/
└── speculative_llm/
├── config.pbtxt
└── 1/
└── model.py
تكامل Triton يُمكّن النشر على نطاق الإنتاج مع تجميع الطلبات، وجمع المقاييس، والتوسع الأصلي في Kubernetes مع الحفاظ على فوائد فك التشفير التخميني.
اختيار نموذج المسودة
جودة نموذج المسودة تحدد فعالية فك التشفير التخميني. نماذج المسودة الضعيفة تُهدر الحساب على مقترحات يرفضها النموذج الهدف.
معايير الاختيار
توافق البنية: نماذج المسودة من نفس عائلة الأهداف تحقق قبولاً أعلى. Llama 3.2-1B كمسودة لـ Llama 3.1-70B يتفوق على النماذج الصغيرة العامة لأن بيانات التدريب والترميز متوافقة.¹⁰
نسبة الحجم: نماذج المسودة تتراوح عادةً من 1/10 إلى 1/50 من حجم الهدف. المسودات الأصغر تولّد أسرع لكن قد يكون لها قبول أقل. اختبر أحجاماً متعددة لإيجاد النسبة المثلى لعبء عملك.
عتبة معدل القبول: استهدف معدل قبول 60% أو أكثر. تحت 50%، عبء التحقق يمكن أن ينفي فوائد التخمين. استخدم التحليل لقياس القبول الفعلي لمطالباتك المحددة.
ضبط نماذج المسودة
نماذج المسودة الجاهزة غالباً ما يكون أداؤها دون المستوى في المهام الخاصة بالمجال. الضبط يُحسّن القبول بشكل كبير:¹¹
# ضبط نموذج المسودة على توزيع الهدف
from transformers import Trainer, TrainingArguments
# توليد بيانات التدريب بأخذ عينات من النموذج الهدف
# ضبط المسودة لتتطابق مع توزيع مخرجات الهدف
training_args = TrainingArguments(
output_dir="./draft_finetuned",
per_device_train_batch_size=8,
num_train_epochs=3,
learning_rate=2e-5,
)
trainer = Trainer(
model=draft_model,
args=training_args,
train_dataset=target_samples,
)
trainer.train()
المؤسسات تُبلغ عن تحسينات في معدل القبول بنسبة 20-40% من ضبط المسودة الخاص بالمجال. الاستثمار يُؤتي ثماره لأعباء عمل الاستدلال عالية الحجم.
SpecForge لـ SGLang
SpecForge يوفر نظاماً بيئياً مُصمماً خصيصاً لتدريب نماذج المسودة:¹²
- تكامل أصلي مع SGLang
- وصفات تدريب مُحسّنة لمتغيرات Llama 4
- مُخمّنون مُدربون مسبقاً للنماذج الشائعة
مشروع Speculators من Red Hat يُوحّد فك التشفير التخميني بتنسيق موحد مع Hugging Face وتكامل vLLM، مُبسّطاً اكتشاف ونشر نماذج المسودة.¹³
التقنيات المتقدمة
فك التشفير التخميني الذاتي (SWIFT)
SWIFT يُلغي الحاجة لنماذج مسودة منفصلة عن طريق تخطي الطبقات الوسيطة للنموذج الهدف بشكل تكيفي:¹⁴
- لا حاجة لنموذج مساعد
- لا حاجة لتدريب إضافي
- تسريع 1.3-1.6 ضعف مع الحفاظ على توزيع المخرجات
التقنية تعمل عن طريق التنبؤ بالطبقات التي يمكن تخطيها بناءً على ثقة الرمز. الاستمرارات البسيطة تتخطى طبقات أكثر؛ الاستدلال المعقد يستخدم عمق النموذج الكامل.
# تكوين SWIFT المفاهيمي
config = SwiftConfig(
skip_threshold=0.8, # تخطي الطبقات عندما تكون الثقة > 0.8
min_layers=16, # استخدام 16 طبقة على الأقل دائماً
adaptive=True # التعديل ديناميكياً لكل رمز
)
SWIFT يناسب السيناريوهات حيث الحفاظ على نموذج مسودة منفصل يُضيف تعقيداً غير مرغوب فيه.
تخمين Ngram
للمخرجات المُنظمة أو الأنماط المتوقعة، مطابقة ngram توفر التخمين بدون شبكات عصبية:
# تخمين ngram في vLLM
vllm serve meta-llama/Llama-3.1-70B-Instruct \
--speculative-model "[ngram]" \
--ngram-prompt-lookup-max 4 \
--num-speculative-tokens 4
تخمين ngram يُحدد الأنماط المتكررة في المطالبة أو تاريخ التوليد، مقترحاً رموزاً بناءً على التسلسلات المُلاحظة. النهج يعمل جيداً لتوليد الكود، والبيانات المُنظمة، والمحتوى المتكرر.
رؤوس Medusa
Medusa يُلحق رؤوس تنبؤ إضافية بالنموذج الهدف، مُولّداً رموزاً مرشحة متعددة بالتوازي:
# Medusa يتطلب تعديل النموذج
model = load_medusa_model("path/to/medusa_llama_70b")
# الرؤوس الإضافية تتنبأ بالرموز في المواضع +1، +2، +3، ...
Medusa يُلغي نموذج المسودة تماماً لكن يتطلب تعديل النموذج وإعادة التدريب. المؤسسات ذات النشر المخصص للنماذج قد تجد Medusa جديراً بالاهتمام رغم تعقيد التكامل الأعلى.
متى يساعد فك التشفير التخميني
فك التشفير التخميني يُقدم أقوى العوائد في ظروف محددة:
السيناريوهات المواتية: - تطبيقات الدردشة التفاعلية التي تُعطي الأولوية لزمن الاستجابة - استدلال المستخدم الواحد حيث استخدام وحدة معالجة الرسوميات منخفض - التوليد الطويل (القصص، المستندات، الكود) - أعباء العمل ذات أنماط الرموز المتوقعة
السيناريوهات الأقل ملاءمة: - المعالجة الدُفعية عالية الإنتاجية التي تُشبع وحدة معالجة الرسوميات بالفعل - الردود القصيرة جداً (رموز قليلة للتخمين) - التوليد الإبداعي/العشوائي للغاية مع معدلات قبول منخفضة - النشر المُقيّد بالذاكرة حيث لا يتناسب نموذج المسودة
إطار القرار:
IF (استخدام وحدة معالجة الرسوميات < 50% أثناء التوليد)
AND (متوسط طول الرد > 100 رمز)
AND (نموذج المسودة يتناسب مع الذاكرة)
→ تفعيل فك التشفير التخميني
IF (استخدام وحدة معالجة الرسوميات > 80%)
OR (ضغط الذاكرة عالي)
→ التركيز على تحسينات التجميع بدلاً من ذلك
اعتبارات البنية التحتية
فك التشفير التخميني يُقدم متطلبات بنية تحتية محددة:
عبء الذاكرة: نماذج المسودة تستهلك ذاكرة إضافية لوحدة معالجة الرسوميات. تأكد من وجود هامش كافٍ: - أوزان نموذج المسودة: ~1-8GB حسب الحجم - ذاكرة KV cache إضافية لرموز المسودة - تخصيصات tensor التحقق
أنماط الحساب: مراحل التحقق تخلق أنماط حساب متقطعة مختلفة عن التوليد الانحداري المستقر. راقب تقلب استخدام وحدة معالجة الرسوميات وعدّل أحجام الدُفعات وفقاً لذلك.
خدمة نموذج المسودة: الخيارات تشمل: - مُشترك الموقع: المسودة تعمل على نفس وحدات معالجة الرسوميات مثل الهدف - منفصل: وحدة معالجة رسوميات مخصصة لتوليد المسودة - مُفرّغ إلى المعالج المركزي: المسودات الصغيرة يمكن أن تعمل على المعالج المركزي لتوفير الذاكرة
المؤسسات التي تنشر فك التشفير التخميني على نطاق واسع يمكنها الاستفادة من خبرة Introl في البنية التحتية لوحدات معالجة الرسوميات للتكوين الأمثل للأجهزة وتخطيط السعة.
قائمة التحقق للنشر الإنتاجي
قبل تفعيل فك التشفير التخميني في الإنتاج:
1. القياس الأساسي - قياس زمن الاستجابة والإنتاجية الحالية - تحليل استخدام وحدة معالجة الرسوميات أثناء التوليد - تحديد الاختناقات (الذاكرة، الحساب، الاتصال)
2. اختيار نموذج المسودة - اختبار أحجام مسودة متعددة مع مطالبات تمثيلية - قياس معدلات القبول لتوزيعك المحدد - النظر في الضبط إذا كان القبول أقل من 60%
3. ضبط التكوين - تجربة num_speculative_tokens (عادةً 4-8) - موازنة معدل القبول مقابل عبء المسودة - تحليل استخدام الذاكرة مع أحجام الدُفعات المستهدفة
**4. الطرح
[المحتوى مُقتطع للترجمة]