ما الذي يتسبب في تحميل بيئة تشغيل الذكاء الاصطناعي المحلية نسخًا مكررة من النموذج؟

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

تظهر النسخ المكررة من النموذج عندما يتعذر على العمليات أو النسخ المتماثلة أو الجلسات أو سياقات الأجهزة المنفصلة مشاركة تخصيص واحد للأوزان المحمّلة.

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

يمكن لملف نموذج واحد إنشاء عدة كائنات مستقلة أثناء التشغيل

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

تميّز إرشادات Google Cloud للاستدلال بين الإعدادات التي تحمّل نسخة واحدة من النموذج لكل عملية أو لكل آلة افتراضية.

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

غالبًا ما تبدأ خوادم الويب وعمال المهام عمليات منفصلة

قد يستورد خادم الواجهة الأمامية، ومستهلك قائمة الانتظار، والمجدول، وخدمة تحويل الكلام إلى نص، وعامل RAG، كلٌّ منها محمّل النموذج، حتى لو كانت جميعها ضمن حزمة Compose واحدة.

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

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

نسخ الخدمة المتماثلة هي نسخ منفردة حسب التصميم

تزيد أنظمة التوسع التلقائي معدل المعالجة عبر تشغيل نسخ متماثلة إضافية. والنسخة المتماثلة هي عامل مستقل قادر على معالجة الطلبات عندما يكون العمال الآخرون مشغولين.

تعرّف Ray Serve النسخ المتماثلة بأنها نسخ منفردة تعمل في عمليات ممثلين منفصلة.

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

-15% OFF

قد تكرر جلسات الاستدلال المتعددة أدوات التهيئة والأوزان المعبّأة مسبقًا

يمكن للتطبيق إنشاء عدة جلسات داخل عملية واحدة لخيوط أو نقاط نهاية أو ملفات تعريف أو موفّري تنفيذ مختلفين.

توثّق ONNX Runtime مشاركة المخصّصات وأدوات التهيئة والأوزان المعبّأة مسبقًا بين الجلسات، لأن الجلسات المنفصلة تضيف عبئًا على الذاكرة بخلاف ذلك.

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

لا يضمن التفريع مشاركة أوزان المسرّع

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

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

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

تضيف سياقات CUDA المنفصلة حالة خاصة بكل عملية على الجهاز

تعمل عمليتان تستخدمان GPU واحدة عادةً عبر سياقَي CUDA منفصلين، ما لم تُستخدم بنية مشاركة خاصة.

تشير NVIDIA إلى أن عدة عمليات تطبيقات CUDA تنشئ عمومًا عدة سياقات مع عبء زائد على الذاكرة.

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

تحجز مثيلان أثناء التشغيل على GPU واحدة الذاكرة بشكل مستقل

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

توثّق vLLM أن استخدام ذاكرة GPU هو حدّ خاص بكل مثيل، وتعرض مثالًا على مثيلين يقسمان سعة GPU واحدة.

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

قد تترك عمليات إعادة التحميل العملية القديمة حية بجوار الجديدة

قد تبدأ أدوات إعادة التحميل الفوري والمشرفون والتحديثات التدريجية وعمليات الإيقاف الفاشلة وإعادات التشغيل الناتجة عن فحوصات الصحة عاملًا بديلًا قبل أن يحرر العامل القديم نموذجه.

يظهر هذا السبب على هيئة عمليتين متطابقتين تقريبًا، مؤقتتين أو دائمَتين، مع وقتَي بدء مختلفين. وقد تصل الطلبات إلى العملية الأحدث فقط، بينما تواصل الأقدم الاحتفاظ بذاكرة RAM أو VRAM.

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

الأسئلة الشائعة

هل يعني وجود ملف نموذج واحد على القرص وجود نسخة واحدة فقط في RAM؟

لا. يمكن لعدة عمليات أو جلسات قراءة الملف نفسه بشكل مستقل وتخصيص موتراتها وذاكراتها المؤقتة وحالة التنفيذ الخاصة بها.

هل كل نسخة إضافية تسرّب للذاكرة؟

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

هل يمكن للحاويات مشاركة نموذج واحد على GPU تلقائيًا؟

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

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

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

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.