Prompt Caching
اكتشف كيف تعمل ذاكرة التخزين المؤقت للمطالبات على تحسين الذكاء الاصطناعي التوليدي من خلال تقليل زمن الانتقال والتكاليف. تعلم دورها في نماذج اللغات الكبيرة ورؤية الكمبيوتر في الوقت الفعلي مع Ultralytics YOLO26.
التخزين المؤقت للرسائل الموجبة هو استراتيجية تحسين متقدمة تُستخدم بشكل أساسي في generative AI لتقليل التكاليف بشكل كبير وتحسين وقت الاستجابة أثناء الاستدلال. في مجال Large Language Models (LLMs)، تتطلب معالجة النص تحويل المدخلات إلى تسلسلات رقمية تُعرف باسم tokens. في كثير من الأحيان، يظل جزء كبير من بيانات الإدخال - مثل تعليمة النظام المفصلة، أو المستند القانوني الطويل، أو قاعدة الكود - ثابتاً عبر العديد من استعلامات المستخدم المختلفة. بدلاً من إعادة معالجة هذه الأقسام التي لا تتغير مع كل طلب جديد، يقوم التخزين المؤقت للرسائل الموجبة بتخزين الحالات الرياضية المحسوبة مسبقاً ( وغالباً ما يُطلق عليها ذاكرة التخزين المؤقت للمفتاح والقيمة) في الذاكرة. يتيح ذلك لـ inference engine تخطي العمليات الحسابية المتكررة، مع تركيز القوة الحسابية فقط على الأجزاء الجديدة الديناميكية من رسالة المستخدم الموجبة.
الآليات والفوائد#
تعتمد الآليات الأساسية للتخزين المؤقت للرسائل الموجبة على هندسة Transformers، التي تعالج البيانات بشكل تسلسلي. من خلال تحديد البادئة المتكررة لرسالة موجبة، يمكن للنظام تحميل حالات attention mechanism المقابلة مباشرة من الذاكرة عالية السرعة.
- زمن الانتقال المنخفض: يعمل التخزين المؤقت على تقليل inference latency بشكل كبير، وتحديداً الوقت المستغرق للوصول إلى الرمز الأول (TTFT). يضمن ذلك أن التطبيقات في الوقت الفعلي، مثل chatbots التفاعلية، تبدو فورية للمستخدم.
- كفاءة التكلفة: نظراً لأن موفري Cloud Computing غالباً ما يحاسبون بناءً على مدة الحوسبة أو معالجة الرموز، فإن تخطي المهام الشاقة للسياق الثابت يؤدي إلى توفير كبير.
- زيادة الإنتاجية: من خلال تحرير موارد GPU، يمكن للخوادم التعامل مع حجم أكبر من الطلبات المتزامنة، مما يجعل البنية التحتية الكاملة لـ model serving أكثر قابلية للتطوير.
تطبيقات العالم الحقيقي#
يُحدث تخزين المطالبات المؤقت تحولاً في الصناعات التي تعتمد على سياق بيانات مكثف.
-
مساعدو البرمجة: في تطوير البرمجيات، تستخدم أدوات مثل GitHub Copilot كميات هائلة من السياق من الملفات المفتوحة للمستخدم وبنية مستودع البيانات. من خلال تخزين embeddings قاعدة الكود مؤقتاً، يمكن للنموذج توفير اقتراحات لإكمال الكود في الوقت الفعلي دون إعادة تحليل بنية ملف المشروع بأكمله لكل ضغطة مفتاح.
-
التحليل القانوني والطبي: غالباً ما يستعلم المحترفون عن AI Agents مقابل مستندات ثابتة ضخمة، مثل أرشيفات القانون السوابق أو سجلات تاريخ المرضى. باستخدام Retrieval-Advanced Generation (RAG)، يسترجع النظام أجزاء النصوص ذات الصلة. يضمن التخزين المؤقت للرسائل الموجبة عدم الحاجة إلى إعادة حساب السياق الأساسي لهذه المستندات المسترجعة للأسئلة اللاحقة، مما تبسيط سير عمل Question Answering.
الأهمية في الرؤية الحاسوبية#
على الرغم من ارتباطه تقليدياً بالنصوص، إلا أن مفهوم التخزين المؤقت يعد أمراً بالغ الأهمية في Computer Vision (CV) متعدد الوسائط. تسمح نماذج مثل YOLO-World للمستخدمين اكتشاف الكائنات باستخدام رسائل نصية ذات مفردات مفتوحة. عندما يحدد المستخدم قائمة بالفئات (على سبيل المثال، "شخص، حقيبة ظهر، سيارة"), يحسب النموذج تضمينات النص لهذه الفئات. يمنع تخزين هذه التضمينات مؤقتاً النموذج من الحاجة إلى إعادة ترميز الرسائل النصية لكل إطار فيديو على حدة، مما يتيح Real-Time Inference عالي السرعة.
التمييز بين المصطلحات ذات الصلة#
- مقابل Prompt Engineering: يتضمن هندسة الرسائل الموجبة الجهد البشري لتصميم إدخال النص الأمثل لتوجيه النموذج. التخزين المؤقت للرسائل الموجبة هو تحسين حسابي في الواجهة الخلفية يخزين معالجة الجهاز لهذا النص.
- مقابل Prompt Tuning: ضبط الرسائل الموجبة هو تقنية Transfer Learning تقوم بتحديث Model Weights محددة (الرسائل الموجبة اللينة) لتكييف النموذج مع مهمة ما. لا يغير التخزين المؤقت معاملات النموذج؛ بل يقوم فقط بتخزين حالات التنشيط مؤقتاً أثناء وقت التشغيل.
مثال برمجي: تخزين تضمينات النصوص مؤقتاً في الرؤية الحاسوبية#
يوضح نموذج Python التالي مفهوم "التخزين المؤقت" لرسالة موجبة في سياق الرؤية باستخدام حزمة ultralytics. من خلال تعيين الفئات مرة واحدة في نموذج YOLO-World، يتم حساب تضمينات النص وتخزينها (الاحتفاظ بها)، مما يسمح للنموذج بالتنبؤ بكفاءة على صور متعددة دون إعادة معالجة الوصف النصي.
from ultralytics import YOLOWorld
# Load a YOLO-World model capable of open-vocabulary detection
model = YOLOWorld("yolov8s-world.pt")
# "Cache" the prompt: Define classes once.
# The model computes and stores text embeddings for these specific terms.
model.set_classes(["helmet", "reflective vest", "gloves"])
# Run inference repeatedly. The text prompt is not re-computed for each call.
# This mimics the efficiency gains of prompt caching in LLMs.
results_1 = model.predict("construction_site_1.jpg")
results_2 = model.predict("construction_site_2.jpg")لإدارة مجموعات البيانات ونشر هذه النماذج المحسنة، توفر Ultralytics Platform بيئة شاملة لتعليق البيانات، وتدريب أحدث النماذج مثل YOLO26، ومراقبة أداء النشر عبر أجهزة Edge AI المختلفة.






