حاسبة حجم ذاكرة المفتاح-القيمة
المدخلات
| الطبقات | 32 |
|---|---|
| رؤوس المفتاح/القيمة | 32 |
| بُعد الرأس | 128 |
| طول السياق | 4,096 |
| حجم الدفعة | 1 |
| الدقة | FP16 / BF16 (بايتان) |
حاسبة حجم ذاكرة المفتاح-القيمة
قدّر حجم ذاكرة المفتاح-القيمة التي يحتفظ بها المحوّل أثناء الاستدلال، انطلاقًا من عدد الطبقات ورؤوس المفتاح/القيمة وبُعد الرأس وطول السياق وحجم الدفعة وعدد البايتات لكل عنصر.
المدخلات
النموذج
عبء العمل
النتائج
أدخل قيمة لعرض النتائج.
حجم ذاكرة المفتاح-القيمة
أثناء استدلال المحوّل ينتبه النموذج إلى كل رمز رآه حتى تلك اللحظة. ولتفادي إعادة حساب متجهات المفتاح والقيمة لكامل السياق في كل خطوة توليد، يخزّنها ويعيد استخدامها — وهي ذاكرة المفتاح-القيمة. كثيرًا ما تكون هذه الذاكرة المستهلِك الأكبر لذاكرة المُسرِّع في خدمة السياق الطويل، وقد تفوق أحيانًا أوزان النموذج نفسها. تقدّر هذه الحاسبة حجمها انطلاقًا من عدد الطبقات وعدد رؤوس المفتاح/القيمة وبُعد الرأس وطول السياق وحجم الدفعة وعدد البايتات لكل قيمة مخزَّنة.
لماذا توجد هذه الذاكرة
توليد النص رمزًا تلو الآخر يعني أن كل رمز جديد يجب أن ينتبه إلى كل الرموز السابقة له. ومن دون ذاكرة، تعيد كل خطوة معالجة المُدخَل بأكمله وكل المُخرَج السابق، فتنمو كلفة التوليد مع مربّع طول المتتالية. وبالاحتفاظ بمفاتيح الرموز السابقة وقيمها، يحوّل النموذج كل خطوة إلى عمل يتناسب مع الرمز الجديد وحده. وثمن هذه السرعة ذاكرةٌ: زوج متجهات واحد — مفتاح وقيمة — لكل طبقة ولكل رأس مفتاح/قيمة ولكل رمز في السياق.
الصيغة
تحتفظ الذاكرة بموترين، مفاتيح وقيم، فيكون الحجم بالبايتات
Kbytes=2⋅L⋅H⋅d⋅s⋅B⋅eحيث عدد الطبقات، و عدد رؤوس المفتاح/القيمة، و بُعد الرأس، و طول السياق بالرموز، و حجم الدفعة، و عدد البايتات لكل عنصر مخزَّن. والقسمة على تعطي الجيجابايت. ينمو الحجم خطيًا مع كل عامل، وهذا هو الحدس الأساسي: مضاعفة السياق أو الدفعة أو عدد الطبقات تضاعف الذاكرة.
الانتباه المجمَّع للاستعلام
عدد رؤوس المفتاح/القيمة هو ما يستهدفه الانتباه المجمَّع للاستعلام (GQA). ففي الانتباه متعدّد الرؤوس العادي يملك كل رأس استعلام زوج مفتاح/قيمة. ويتيح GQA لمجموعة من رؤوس الاستعلام مشاركة رأس مفتاح/قيمة واحد، أما الانتباه متعدّد الاستعلام فيشارك رأسًا واحدًا في الطبقة كلها. ولأن الذاكرة تتناسب مع ، فإن النزول من 32 رأس مفتاح/قيمة إلى 8 يقلّص الذاكرة إلى الربع مع بقاء رؤوس الاستعلام — ومعظم جودة النموذج — في مكانها. ولهذا السبب بالذات تأتي معظم النماذج الكبيرة الحديثة مزوَّدة بـ GQA.
مثال محلول
لنأخذ نموذجًا بـ 32 طبقة و 32 رأس مفتاح/قيمة وبُعد رأس قدره 128، يحتفظ بـ 4,096 رمزًا من السياق، ويخدم متتالية واحدة بدقة 16 بت:
Kbytes=2×32×32×128×4096×1×2=2,147,483,648أي نحو 2.15 GB. وخدمة أربع متتاليات كهذه في آن واحد تضاعفه أربع مرات إلى نحو 8.59 GB. أما تحويل الذاكرة إلى دقة 8 بت فيُنصِّف أيًا من الرقمين.
قراءة النتيجة
لأن كل عامل يضرب خطيًا، فإن خدمة السياق الطويل عالية الدفعة تكدّس العوامل معًا فتطغى الذاكرة على الأوزان. ولهذا تتكئ محرّكات الاستدلال الإنتاجية على تكميم الذاكرة إلى بايتات أقل لكل عنصر، وعلى GQA لخفض رؤوس المفتاح/القيمة، وعلى الانتباه المُصفَّح لرصّ الذاكرة دون تجزؤ. ويظهر جانب الحوسبة من ميزانية العتاد نفسها في حاسبة ذاكرة الانتباه، وجانب أوزان النموذج في حاسبة ذاكرة VRAM لاستدلال النماذج اللغوية الكبيرة.
الأسئلة الشائعة (FAQ)
ما ذاكرة المفتاح-القيمة؟
أثناء التوليد الانحداري الذاتي ينتبه المحوّل إلى كل رمز سابق. وبدلًا من إعادة حساب متجهات المفتاح والقيمة لكامل السياق في كل خطوة، يخزّنها ويعيد استخدامها — وهذا المخزَن هو ذاكرة المفتاح-القيمة.
إنها تقايض الذاكرة بالسرعة: فمن دونها يعني توليد كل رمز جديد إعادة معالجة المُدخَل بأكمله وكل المُخرَج السابق. تحتفظ الذاكرة بموترين، مفاتيح وقيم، لكل طبقة ولكل رأس مفتاح/قيمة، بمدخل واحد لكل رمز في السياق.
كيف يقلّل الانتباه المجمَّع للاستعلام حجم الذاكرة؟
يحتفظ الانتباه متعدّد الرؤوس المعياري بزوج مفتاح/قيمة منفصل لكل رأس استعلام. أما الانتباه المجمَّع للاستعلام (GQA) فيتيح لعدة رؤوس استعلام مشاركة رأس مفتاح/قيمة واحد، ويبلغ الانتباه متعدّد الاستعلام أقصى الحدّ برأس مفتاح/قيمة واحد مشترك.
ولأن حجم الذاكرة يتناسب مع عدد رؤوس المفتاح/القيمة، فإن خفضها من 32 إلى 8 مثلًا يقلّص الذاكرة إلى الربع مع إبقاء رؤوس الاستعلام — ومعظم جودة النموذج — دون مساس.
لماذا يكون السياق الطويل مكلفًا في الذاكرة؟
تنمو الذاكرة خطيًا مع طول السياق: فمضاعفة عدد الرموز في السياق تضاعف الذاكرة. كما تنمو خطيًا مع حجم الدفعة، لذا فإن خدمة متتاليات طويلة كثيرة في آن واحد تضرب العاملين معًا.
وعند أطوال السياق الكبيرة قد تتجاوز ذاكرة المفتاح-القيمة الذاكرة التي تشغلها أوزان النموذج نفسها، وهو ما يجعل خدمة السياق الطويل تتكئ على تقنيات مثل تكميم الذاكرة والانتباه المجمَّع للاستعلام والانتباه المُصفَّح.
إخلاء المسؤولية
يحسب هذا التقدير موترات المفتاح والقيمة فقط عند الدقة المذكورة، ويتجاهل أعباء الخدمة مثل تجزؤ الذاكرة وبيانات الصفحات الوصفية وحجوزات إطار العمل. وسيكون الاستخدام الفعلي على محرّك استدلال معيّن أعلى قليلًا.