لماذا يحتفظ وقت تشغيل الذكاء الاصطناعي المحلي بالذاكرة بعد الطلب؟

إيفا وونغ هي كاتبة تقنية و ومهندسة هاوية في ZimaSpace. مهووسة بالتكنولوجيا مدى الحياة ولديها شغف بالمختبرات المنزلية والبرمجيات مفتوحة المصدر، تتخصص في تبسيط المفاهيم التقنية المعقدة إلى أدلة عملية وسهلة الفهم. تؤمن إيفا بأن الاستضافة الذاتية يجب أن تكون ممتعة وليست مخيفة. من خلال دروسها، تمكّن المجتمع من تبسيط إعدادات الأجهزة، بدءًا من بناء أول نظام تخزين شبكي NAS وحتى إتقان حاويات Docker.

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

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

تخصيص ذاكرة الجهاز مكلف بما يكفي لتخزينه مؤقتًا

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

يفصل مُخصِّص CUDA في PyTorch بين كتل المُخصِّص المخزنة مؤقتًا وبين الموترات التي تظل مخصّصة فعليًا.

يؤدي الاحتفاظ بالكتل الحرة داخل العملية إلى تحسين زمن الاستجابة للطلبات المتكررة، لكن لا يمكن لخدمة ذكاء اصطناعي أخرى استخدام هذه البايتات قبل أن يحررها المُخصِّص إلى برنامج التشغيل.

الذاكرة المخصّصة والمحجوزة والخالية على الجهاز مؤشرات مختلفة

تعود الذاكرة المخصّصة إلى الموترات الحية. أما الذاكرة المحجوزة فيديرها مُخصِّص الذاكرة في نظام التشغيل، وقد تشمل كلًا من التخصيصات الحية والكتل القابلة لإعادة الاستخدام غير المستخدمة حاليًا.

لذلك قد يعرض نظام التشغيل فجوة في الذاكرة المحجوزة حتى بعد تدمير الموترات المؤقتة.

تعرض أدوات الجهاز مثل nvidia-smi البصمة الظاهرة لبرنامج التشغيل الخاصة بالعملية، وليس الكتل الخالية منطقيًا داخل إطار العمل.

قد تظل حالة النموذج ونظام التشغيل محمّلة عمدًا

قد تحتفظ العملية بأوزان النموذج، وحالة أداة تقسيم النص، والنوى، ورسوم التنفيذ، وسياقات المسرّع جاهزة، لأن إلغاء تحميلها سيحوّل الطلب التالي إلى بدء تشغيل بارد.

يوضح شرح ZimaSpace لمفهوم بقاء النموذج محمّلًا سبب استهلاك الخدمة الدافئة للذاكرة حتى عندما لا ينشئ أي مستخدم رموزًا حاليًا.

هذه مقايضة مقصودة بين السعة وزمن الاستجابة. فالذاكرة خاملة من منظور الحوسبة، لكنها تظل ذات قيمة باعتبارها حالة جاهزة.

-15% OFF

قد تترك التجزئة كتلًا محجوزة يصعب إعادة استخدامها

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

تدرس GMLake تجزئة المُخصِّص الناتجة عن أحجام التخصيص غير المنتظمة.

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

قِس ما إذا كانت البصمة تستقر أم تنمو

شغّل الطلب الثابت نفسه بشكل متكرر، وسجّل الذاكرة المخصّصة والمحجوزة وذاكرة KV وأوزان النموذج والذاكرة الخالية على الجهاز بعد كل اكتمال.

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

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

بالنسبة إلى خادم منزلي متعدد الخدمات، حدّد ميزانية للذاكرة وسياسة خمول لكل نظام تشغيل، حتى لا يمنع حجز إحدى الخدمات بدء خدمة أخرى دون ملاحظة.

مركز التكنولوجيا والذكاء الاصطناعي

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.