ما هو فك التشفير التخميني؟
إجابة سريعة
يجمع فك التشفير التخميني بين نموذج مسودة صغير ونموذج هدف أكبر. يقترح نموذج المسودة عدة رموز مسبقًا، ويتحقق نموذج الهدف منها جميعًا في تمريرة أمامية متوازية واحدة بدلًا من تمريرة تسلسلية لكل رمز، مما يسرّع التوليد عند قبول تخمينات المسودة.
- ▸يقترح نموذج مسودة صغير عدة رموز قبل النموذج الرئيسي.
- ▸يتحقق نموذج الهدف الأكبر من الرموز المقترحة في تمريرة واحدة متوازية.
- ▸جودة الإخراج مطابقة تمامًا لجودة نموذج الهدف — فك التشفير التخميني لا يغيّر ما يُولَّد، بل يغيّر السرعة فقط.
تحديث: ١٤ يوليو ٢٠٢٦
النقاط الرئيسية
- ✓يقترح نموذج مسودة صغير الرموز مسبقًا؛ ويتحقق نموذج الهدف الأكبر منها في تمريرة واحدة متوازية
- ✓جودة الإخراج مطابقة تمامًا لتشغيل نموذج الهدف بمفرده — تتغير السرعة فقط
- ✓تكون الزيادة في السرعة أكبر مع النصوص القابلة للتنبؤ (الأكواد البرمجية، البنية المتكررة) حيث يخمّن نموذج المسودة بشكل صحيح في أغلب الأحيان
- ✓يجب أن يشترك نموذج المسودة في نفس المُرمِّز (tokenizer) والمفردات مع نموذج الهدف
كيف يعمل
يولّد نموذج المسودة، الأصغر والأسرع بكثير من نموذج الهدف، سلسلة قصيرة من الرموز المرشحة. ثم يقيّم نموذج الهدف هذه السلسلة بأكملها في تمريرة أمامية واحدة، فيقبل الرموز التي تطابق ما كان سيولّده بمفرده، ويتجاهل الباقي، بما في ذلك أي شيء تم توليده بعد أول اختلاف.
نظرًا لأن التحقق من عدة رموز بالتوازي يكلّف تقريبًا نفس تكلفة توليد رمز واحد بالتسلسل على نموذج الهدف، فإن التخمينات المقبولة تتحوّل مباشرة إلى مكسب في السرعة دون أي تغيير في الإخراج النهائي. يظل القرار النهائي دائمًا لنموذج الهدف — فتخمين خاطئ من نموذج المسودة يكلّف فقط الوقت (القصير) المستغرق في توليده، ولا يُقبل أبدًا ضمن الإخراج.
متى يفيد فك التشفير التخميني أكثر
استخدم فك التشفير التخميني عند توليد الأكواد البرمجية أو البيانات المهيكلة أو أي نص آخر قابل للتنبؤ، حيث تُقبل تخمينات نموذج المسودة بمعدل مرتفع وتكون الزيادة في السرعة أكبر ما يمكن. استخدمه عندما تكون سرعة التوليد هي القيد الفعلي وليس سرعة معالجة الطلب (prompt)، لأن فك التشفير التخميني يسرّع تحديدًا خطوة التوليد رمزًا برمز.
تجنّب فك التشفير التخميني عند توليد نص إبداعي للغاية وغير قابل للتنبؤ (كتابة قصصية مفتوحة، عصف ذهني)، حيث تُقبل تخمينات نموذج المسودة بمعدل أقل وتتقلّص الزيادة في السرعة — وفي أسوأ الحالات، قد يلغي العبء الإضافي لنموذج المسودة المكسب المحقق. تجنّبه أيضًا إذا لم يكن لديك نموذج أصغر متوافق من نفس العائلة لاستخدامه كنموذج مسودة.
إعداد نموذج مسودة
يجب أن يشترك نموذج المسودة في نفس المُرمِّز والمفردات مع نموذج الهدف — فدمج نماذج من عائلات مختلفة (أو حتى أحجام مختلفة من نموذج واحد تغيّرت مفرداته بين الإصدارات) لن ينجح. أكثر الإعدادات شيوعًا هو استخدام نموذج أصغر من نفس عائلة نموذج الهدف (مثلًا، نموذج من فئة 1B كمسودة لنموذج من فئة 13B من نفس العائلة).
تدعم عدة أدوات استدلال محلي (بما فيها llama.cpp) فك التشفير التخميني بشكل أصلي — ويتطلب الإعداد عادةً تحديد كل من نموذج الهدف ونموذج المسودة عند التشغيل، دون أي تغيير في طريقة صياغة طلباتك (prompts).