Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

التشفير التخميني

اكتشف كيف يعمل الترميز التخميني على تسريع استنتاجات الذكاء الاصطناعي بمقدار 2 إلى 3 أضعاف. تعرف على كيفية قيام هذه التقنية بتحسين نماذج اللغة الكبيرة (LLMs) و Ultralytics للحصول على مخرجات أسرع وأكثر كفاءة.

التشفير التخميني هو تقنية تحسين متقدمة تستخدم بشكل أساسي في نماذج اللغة الكبيرة (LLMs) ومهام التوليد التسلسلي الأخرى لتسريع الاستدلال بشكل كبير دون المساس بجودة المخرجات. في التوليد التلقائي التقليدي، ينتج النموذج رمزًا واحدًا في كل مرة، مع انتظار كل خطوة حتى تكتمل الخطوة السابقة. قد تكون هذه العملية بطيئة، خاصة على الأجهزة القوية حيث يصبح عرض النطاق الترددي للذاكرة، بدلاً من سرعة الحساب، هو العائق في كثير من الأحيان. يعالج الترميز التخميني هذه المشكلة من خلال استخدام نموذج "مسودة" أصغر وأسرع لتوقع تسلسل الرموز المستقبلية بالتوازي، والتي يتم التحقق منها بعد ذلك في خطوة واحدة بواسطة نموذج "الهدف" الأكبر والأكثر دقة. إذا كانت المسودة صحيحة، يقبل النظام عدة رموز في مرة واحدة، مما يؤدي إلى قفزة فعالة إلى الأمام في عملية التوليد.

كيف يعمل الترميز التخميني

تعتمد الآلية الأساسية على ملاحظة أن العديد من الرموز في تسلسل ما — مثل الكلمات الوظيفية مثل "the" و"and" أو الإكمالات الواضحة — يسهل توقعها ولا تتطلب القوة الحاسوبية الكاملة لنموذج ضخم. من خلال تحميل هذه التوقعات السهلة إلى نموذج بديل خفيف الوزن، يقلل النظام من عدد المرات التي يحتاج فيها النموذج الثقيل إلى الاستدعاء.

عندما يقوم النموذج المستهدف بمراجعة التسلسل المقترح، فإنه يستخدم خطوة تحقق متوازية. نظرًا لأن وحدات معالجة الرسومات (GPU) مُحسّنة بشكل كبير للمعالجة المجمعة، فإن التحقق من خمسة رموز مقترحة في وقت واحد يستغرق تقريبًا نفس الوقت الذي يستغرقه إنشاء رمز واحد. إذا وافق النموذج المستهدف على المسودة، يتم إقرار تلك الرموز. إذا لم يوافق في أي مرحلة، يتم اقتطاع التسلسل وإدراج الرمز الصحيح وتكرار العملية. تضمن هذه الطريقة أن يكون الناتج النهائي مطابقًا رياضيًا لما كان سينتجه النموذج المستهدف بمفرده، مع الحفاظ على الدقة وزيادة السرعة بمقدار 2 إلى 3 أضعاف في العديد من السيناريوهات.

تطبيقات واقعية

هذه التقنية تغير طريقة استخدام الصناعات للذكاء الاصطناعي التوليدي، خاصةً في الحالات التي يكون فيها زمن الاستجابة أمرًا بالغ الأهمية.

  • إكمال الكود في الوقت الفعلي: في بيئات التطوير المتكاملة (IDEs)، يجب أن يقدم مساعدو الترميز بالذكاء الاصطناعي اقتراحات فورية أثناء كتابة المطور. يسمح الترميز التخميني لهؤلاء المساعدين بصياغة سطور كاملة من الكود باستخدام نموذج صغير، بينما يتحقق نموذج أساسي كبير من صحة الصياغة والمنطق في الخلفية. ينتج عن ذلك تجربة مستخدم سريعة وسلسة تشبه الكتابة في الوقت الفعلي بدلاً من انتظار استجابة الخادم.
  • روبوتات الدردشة التفاعلية على الأجهزة الطرفية: يعد تشغيل نماذج اللغة الكبيرة (LLM) القوية على الهواتف الذكية أو أجهزة الكمبيوتر المحمولة تحديًا بسبب محدودية موارد الأجهزة. باستخدام فك التشفير التخميني، يمكن للجهاز تشغيل نموذج صغير ومقيس محليًا لصياغة الردود، مع الاستعلام أحيانًا عن نموذج أكبر (سواء كان قائمًا على السحابة أو نموذجًا محليًا أثقل ) للتحقق. يتيح هذا النهج الهجين تفاعلات عالية الجودة مع المساعد الافتراضي بأقل قدر من التأخير، مما يجعل الذكاء الاصطناعي المتطور أكثر قابلية للتطبيق في المهام المعقدة.

العلاقة بالمفاهيم الأخرى

من المهم التمييز بين فك التشفير التخميني واستراتيجيات التحسين المماثلة.

  • تكمية النموذج: في حين أن التكمية تقلل من دقة أوزان النموذج (على سبيل المثال، من FP16 إلى INT8) لتوفير الذاكرة وتسريع الحساب، فإنها تغير النموذج بشكل دائم وقد تؤدي إلى انخفاض طفيف في الأداء. على العكس من ذلك، فإن فك التشفير التخميني لا يغير أوزان النموذج المستهدف ويضمن نفس توزيع المخرجات.
  • تقطير المعرفة: يتضمن ذلك تدريب نموذج طالب أصغر حجماً لتقليد نموذج معلم أكبر حجماً. يحل نموذج الطالب محل المعلم بالكامل. في فك التشفير التخميني، يعمل النموذج الصغير (المصمم) والنموذج الكبير (المحقق) جنباً إلى جنب أثناء الاستدلال، بدلاً من أن يحل أحدهما محل الآخر.

مثال على التنفيذ

في حين أن فك التشفير التخميني غالبًا ما يكون مدمجًا في أطر العمل، فإن مفهوم التحقق من التنبؤات أمر أساسي لكفاءة الذكاء الاصطناعي. فيما يلي مثال مفاهيمي يستخدم PyTorch كيف يمكن لنموذج أكبر أن يسجل أو يتحقق من سلسلة من المدخلات المرشحة، على غرار خطوة التحقق في فك التشفير التخميني.

import torch


def verify_candidate_sequence(model, input_ids, candidate_ids):
    """Simulates the verification step where a target model checks candidate tokens."""
    # Concatenate input with candidates for parallel processing
    full_sequence = torch.cat([input_ids, candidate_ids], dim=1)

    with torch.no_grad():
        logits = model(full_sequence)  # Single forward pass for all tokens

    # Get the model's actual predictions (greedy decoding for simplicity)
    predictions = torch.argmax(logits, dim=-1)

    # In a real scenario, we check if predictions match candidate_ids
    return predictions


# Example tensor setup (conceptual)
# input_ids = torch.tensor([[101, 2054, 2003]])
# candidate_ids = torch.tensor([[1037, 3024]])
# verify_candidate_sequence(my_model, input_ids, candidate_ids)

التأثير على تطوير الذكاء الاصطناعي في المستقبل

مع استمرار نمو حجم النماذج، يتسع الفارق بين القدرة الحاسوبية وعرض النطاق الترددي للذاكرة — والذي يُطلق عليه غالبًا اسم "جدار الذاكرة". يساعد الترميز التخميني في سد هذه الفجوة من خلال تعظيم الكثافة الحسابية لكل وصول إلى الذاكرة. هذه الكفاءة ضرورية للنشر المستدام للذكاء الاصطناعي التوليدي على نطاق واسع، مما يقلل من استهلاك الطاقة وتكاليف التشغيل.

يبحث الباحثون حاليًا عن طرق لتطبيق مبادئ تخمينية مماثلة على مهام الرؤية الحاسوبية. على سبيل المثال، في توليد الفيديو، يمكن لنموذج خفيف الوزن أن يصمم إطارات مستقبلية يتم تحسينها لاحقًا بواسطة نموذج انتشار عالي الدقة. مع ظهور أطر عمل مثل PyTorch و TensorFlow تدمج هذه التحسينات بشكل أصلي، يمكن للمطورين توقع زمن استدلال أسرع عبر نطاق أوسع من الأساليب، من النص إلى البيانات المرئية المعقدة التي تتم معالجتها بواسطة بنى متقدمة مثل Ultralytics .

بالنسبة لأولئك الذين يديرون دورة حياة هذه النماذج، فإن استخدام أدوات مثل Ultralytics يضمن أن تكون مجموعات البيانات الأساسية وخطوط التدريب قوية، مما يوفر أساسًا متينًا لتقنيات الاستدلال المتقدمة. سواء كنت تعمل مع نماذج لغوية كبيرة أو أحدث تقنيات كشف الكائنات، فإن تحسين خط الاستدلال يظل خطوة أساسية في الانتقال من النموذج الأولي إلى الإنتاج.

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن