يواجه العديد من المطورين والشركات صعوبات في التعامل مع ارتفاع زمن الاستجابة وتكاليف الرموز (tokens) عند استخدام نماذج اللغة الكبيرة بشكل متكرر على مطالب متشابهة. كل طلب يجبر النموذج على إعادة معالجة نفس التعليمات أو المستندات، مما يهدر موارد الحوسبة والوقت.
يشرح هذا المقال كيف يحل التخزين المؤقت للمطالبات هذه المشكلة عن طريق تخزين بادئات المطالبات المُحسوبة مسبقًا لإعادة استخدامها عبر الطلبات. كما يوضح الفرق بين كاش المطالبات وكاش القيم المفتاحية (KV Cache)، ويستعرض كيف تنفذ أنظمة مثل Novita AI تخزينًا مؤقتًا فعالاً، ويقدم إرشادات عملية حول كيفية هيكلة المطالبات، ومراقبة أداء الكاش، وتجنب سوء الاستخدام أو المخاطر الأمنية.
ما هو التخزين المؤقت للمطالبات؟
يشير التخزين المؤقت للمطالبات إلى تخزين أجزاء المطالبة المُحسوبة مسبقًا (مثل تعليمات النظام، السياق المتكرر أو المستندات) بحيث عندما تعيد استخدام نفس المطالبة أو مطابقة مشابهة، يتجنب النموذج إعادة الحساب من الصفر.
For prompt cache to hit successfully, the following token sequences must be identical:
System: [system_instructions] # Fixed prefix, reusable
Document: [retrieved_context] # Changes will break cache reuse
User: [query] # Changes will break cache reuse
| الخطوة | الوصف |
|---|---|
| 1. إرسال المطالبة | يتم إرسال طلب يحتوي على مطالبة طويلة أو متكررة إلى النموذج. |
| 2. الترميز والتخزين المؤقت | يقوم النظام بترميز بادئة المطالبة إلى تضمينات (embeddings) أو حالات خفية داخلية، ثم يخزنها في الكاش. |
| 3. فحص تطابق الكاش | عندما يتضمن طلب لاحق نفس البادئة، يكتشف النظام التطابق ويقوم بتحميل التمثيل المخزن مؤقتًا. |
| 4. إعادة الاستخدام والاستمرار | يتخطى النموذج إعادة معالجة تلك البادئة ويواصل التوليد من الحالة المخزنة مؤقتًا. |
| 5. انتهاء الصلاحية | تنتهي صلاحية العناصر المخزنة مؤقتًا بعد فترة بقاء محددة (TTL) (مثل 5 دقائق من عدم النشاط على Amazon Bedrock). تتم إعادة ضبط فترة البقاء عند كل إعادة استخدام. |
https://www.youtube.com/watch?v=RDjaUJz-uWo
كيف يختلف كاش المطالبات عن كاش القيم المفتاحية (KV Cache)؟
| الجانب | كاش القيم المفتاحية (KV Cache) | كاش المطالبات |
|---|---|---|
| النطاق | داخل عملية توليد واحدة أو جلسة واحدة | عبر طلبات أو جلسات متعددة |
| الغرض | يتجنب إعادة حساب الانتباه للرموز السابقة | يتجنب إعادة معالجة بادئات المطالبات المتكررة |
| البيانات المخزنة | مفاتيح وقيم انتباه المحول (Transformer) | بادئات المطالبات المُرمزة أو الوحدات |
| الفائدة | يقلل من زمن الاستجابة لكل رمز | يقلل من تكلفة رموز الإدخال ووقت معالجة المطالبة بالكامل |
| الاستخدام النموذجي | فك التشفير التلقائي (مثل توليد نماذج اللغة الكبيرة) | إعادة استخدام المطالبات الشائعة في التطبيقات أو واجهات برمجة التطبيقات (APIs) |
كيف يقلل التخزين المؤقت للمطالبات من زمن الاستجابة وتكلفة الحوسبة؟
يعمل التخزين المؤقت للمطالبات على مستوى النظام، وليس داخل النموذج نفسه. يعالج النموذج جميع الرموز بشكل متساوٍ ولا يفرق بين “المطالبة” و “المحتوى المرجعي”. عندما يتم اكتشاف بادئة رموز متكررة، يقوم النظام بتخزين تمثيلاتها المحسوبة—مثل التضمينات (embeddings) وحالات المحول (transformer states). في الطلبات اللاحقة التي تحتوي على نفس البادئة، يتخطى النموذج إعادة حساب ذلك الجزء ويعالج فقط الرموز الجديدة. هذا يقلل من الحسابات الزائدة، ويخفض زمن الاستجابة، ويقلل من التكاليف المرتبطة بالرموز (tokens).


التخزين المؤقت للمطالبات على Novita AI
وسعت Novita AI تشكيلة نماذجها لتشمل دعم كاش المطالبات عبر عدة نماذج عالية السياق، مما يسمح للمطورين بتخفيض التكاليف بشكل كبير وتحسين زمن الاستجابة للمهام الطويلة أو المتكررة. يخزن التخزين المؤقت للمطالبات المطالبات أو التضمينات (embeddings) المستخدمة سابقًا، بحيث يمكن معالجة استدعاءات واجهة برمجة التطبيقات (API) اللاحقة التي تشير إلى نفس المحتوى بمعدل قراءة كاش (Cache Read) أقل بكثير.
هذه الميزة مثالية للمحادثات متعددة الأدوار، وأنظمة التوليد المعزز بالاسترجاع (RAG)، أو خطوط سير العمل التي تعيد استخدام مطالبات النظام الكبيرة. من خلال الاستفادة من عمليات القراءة المخزنة مؤقتًا، يمكن للفرق تحقيق استجابات أسرع وتكاليف أقل مع الحفاظ على دقة النموذج وسلامة السياق.
النماذج المدعومة والأسعار
| النموذج | نافذة السياق | سعر الإدخال (لكل 1M رمز) | قراءة الكاش (لكل 1M رمز) | سعر الإخراج (لكل 1M رمز) |
|---|---|---|---|---|
| deepseek/deepseek-v3-0324 | 163,840 | $0.27 / Mt | $0.135 / Mt | $1.12 / Mt |
| deepseek/deepseek-r1-0528 | 163,840 | $0.70 / Mt | $0.35 / Mt | $2.50 / Mt |
| zai-org/glm-4.6 | 204,800 | $0.60 / Mt | $0.11 / Mt | $2.20 / Mt |
| zai-org/glm-4.5 | 131,072 | $0.60 / Mt | $0.11 / Mt | $2.20 / Mt |
| zai-org/glm-4.5v | 65,536 | $0.60 / Mt | $0.11 / Mt | $1.80 / Mt |
💡 لماذا يهم هذا الأمر؟
مع وصول أطوال السياق إلى 204 ألف رمز، يمكن لهذه النماذج التعامل مع مدخلات طويلة جدًا مثل المستندات الكاملة، النصوص المنسوخة، أو قواعد الأكواد. يضمن إضافة التخزين المؤقت للمطالبات أن يتمكن المستخدمون من إعادة استخدام المطالبات الثقيلة دون دفع تكاليف إدخال كاملة في كل مرة — مما يقلل من إجمالي الإنفاق ويحسن وقت الاستجابة عبر الاستعلامات المتكررة.
يمكن للمطورين الآن بناء تطبيقات ذكاء اصطناعي قابلة للتطوير، وفعالة من حيث التكلفة، وغنية بالسياق مباشرة على بنية Novita AI التحتية.
كيف يمكنك استخدام التخزين المؤقت للمطالبات بشكل أكثر فعالية؟
كيف يجب كتابة هيكل المطالبة لزيادة معدل التطابق (hit rate)؟
- افصل البادئة الثابتة (التعليمات، المستندات، القوالب) عن عنصر الاستعلام المتغير.
- احتفظ بنص البادئة متطابقًا عبر جميع الطلبات.
- حدد حدود نقاط فحص الكاش بوضوح.
- استخدم قوالب معيارية مثل “النظام: [الدور]… المستند: [السياق]… المستخدم: [الاستعلام].”
كم من الوقت يستغرق الكاش حتى تنتهي صلاحيته؟ يختلف التنفيذ وانتهاء الصلاحية حسب المزود، عبء العمل، والتكوين. تنتهي صلاحية بعض الكاشات بعد دقائق أو ساعات؛ بينما تحتفظ أنظمة أخرى بها حتى يتم الوصول إلى حدود الذاكرة.
إذا قمت بتغيير المطالبة قليلاً، هل ستظل تحصل على تطابق في الكاش؟ لا يوجد ضمان. تعتمد عمليات تطابق الكاش على التطابق الدقيق للبادئة أو إعادة الاستخدام الهيكلي. حتى الاختلافات الصغيرة في النص أو التنسيق يمكن أن تسبب عدم التطابق.
هل يمكن تخزين المحتوى الديناميكي مؤقتًا؟ يمكن تخزين الجزء الثابت فقط من المطالبة بشكل فعال مؤقتًا. يجب أن تبقى العناصر الديناميكية مثل بيانات المستخدم، الطوابع الزمنية، أو القيم في الوقت الفعلي خارج البادئة المخزنة مؤقتًا.
هل يمكن لإصدارات النموذج المختلفة إعادة استخدام نفس الكاش؟ عادة لا. ترتبط الكاشات بهياكل نماذج محددة، وأدوات تقسيم الرموز (tokenizers)، ومساحات التضمينات. عادة ما يؤدي ترقية أو تبديل النماذج إلى إبطال صلاحية الكاشات القديمة.
ماذا عن النصوص الطويلة أو سيناريوهات التوليد المعزز بالاسترجاع (RAG)؟ يعمل التخزين المؤقت للمطالبات بشكل أفضل عندما يتكرر مستند ثابت كبير أو بادئة، كما في حالات الأسئلة والأجوبة المستندة إلى المستندات. في التوليد المعزز بالاسترجاع (RAG)، حيث يتغير السياق المسترجع لكل استعلام، يمكن إعادة استخدام جزء فقط من البادئة، لذا تكون معدلات تطابق الكاش أقل.
ما هي المخاطر التي يجب الانتباه إليها فيما يتعلق بالتخزين المؤقت للمطالبات؟
تطابقات قديمة أو خاطئة قد تصبح البادئات المخزنة مؤقتًا قديمة إذا تغير السياق، مثل تحديث المستندات. يمكن أن تؤدي أخطاء تحديد الحدود أو عدم تطابق المحتوى الديناميكي إلى انحراف دلالي في النتائج.
مخاطر الخصوصية والأمن يمكن أن تتسبب الكاشات المشتركة للقيم المفتاحية أو المطالبات في الأنظمة متعددة المستأجرين في تسرب البيانات بين المستخدمين. أظهر هجوم “PROMPTPEEK” إعادة بناء المطالبة من خلال قنوات جانبية مشتركة للكاش. لا تقم بتضمين بيانات ديناميكية أو خاصة بالمستخدم في البادئات المخزنة مؤقتًا المشتركة.
مراقبة الفعالية تتبع معدلات التطابق وعدم التطابق، والرموز المقروءة من الكاش مقارنة بالرموز الإجمالية، وتخفيض زمن الاستجابة، وتوفير التكاليف.
تجنب سوء الاستخدام
- قم بتخزين المحتوى الثابت فقط مؤقتًا.
- أبطِل صلاحية الكاشات فور تغير بيانات المصدر.
- عزل الكاشات لكل مستخدم أو مستأجر للحفاظ على الخصوصية.
الاتجاهات المستقبلية
- تعزيز تحديد هوية الكاش ودعم التطابق الدلالي للبادئات.
- بناء أنظمة كاش موحدة وآمنة عبر النماذج والجلسات.
- استخدام الضغط وتفريغ الحمل عبر وحدات المعالجة الرسومية (GPU)، ووحدة المعالجة المركزية (CPU)، والقرص الصلب.
يقلل التخزين المؤقت للمطالبات من الحسابات الزائدة، ويخفض زمن الاستجابة، ويخفض تكاليف الرموز (tokens) عن طريق إعادة استخدام تضمينات البادئات المتطابقة عبر الطلبات. تعتمد فعاليته على هيكل مطالبة مستقر، وفصل دقيق بين المحتوى الثابت والديناميكي، وإدارة كاش مسؤولة. تظهر مزودون مثل Novita AI كيف يمكن للتخزين المؤقت منخفض التكلفة والمستقر تعزيز الكفاءة العامة مع الحفاظ على الأمان والدقة.
Novita AI هي منصة سحابية للذكاء الاصطناعي تقدم للمطورين طريقة سهلة لنشر نماذج الذكاء الاصطناعي باستخدام واجهة برمجة التطبيقات (API) البسيطة الخاصة بنا، مع توفير سحابة وحدات معالجة رسومية (GPU) بأسعار معقولة وموثوقة لبناء وتوسيع نطاق التطبيقات.
