كيف ينقل التوازي عبر خطوط الأنابيب طبقات النموذج بين مسرّعات الذكاء الاصطناعي المنزلية؟

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

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

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

يُقسّم التوازي عبر خطوط الأنابيب النموذج العميق إلى مراحل متسلسلة من الطبقات

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

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

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

تنتقل التنشيطات إلى الأمام من مرحلة إلى المرحلة التالية

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

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

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

لا يزال الطلب الواحد يمر عبر المراحل بالترتيب

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

يعرّف دليل التوازي من NVIDIA التوازي عبر خطوط الأنابيب بأنه تقسيم طبقات النموذج عموديًا حسب العمق. ويظل الاعتماد التسلسلي عبر العمق قائمًا.

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

-15% OFF

تملأ الدفعات الصغيرة خط الأنابيب كي تعمل عدة مراحل في الوقت نفسه

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

يوضح دليل التوازي من Hugging Face أن تنفيذ خط الأنابيب يستخدم دفعات صغيرة لتقليل وقت خمول خط الأنابيب. وينطبق مبدأ الاستفادة نفسه كلما تمكنت بيئة تشغيل الاستدلال من تداخل أعمال مستقلة.

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

تؤدي أزمنة المراحل غير المتساوية إلى فجوات، وتجعل المرحلة الأبطأ هي العامل المحدد

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

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

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

يستبدل التوازي عبر خطوط الأنابيب سعة الأوزان بنقل التنشيطات والجدولة

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

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

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

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

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

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

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.