تحليل زمن الاستجابة: أين تذهب كل ميكروثانية في شبكة الذكاء الاصطناعي العنقودية

يبدأ عادةً من يقومون بتحديد حجم شبكات مجموعات الذكاء الاصطناعي بتحديد عرض النطاق الترددي - 100، 200، 400 جيجابت إيثرنت - ثم يتفاجأون عندما تُظهر نتائج اختبار allreduce رقمًا بعيدًا كل البعد عن سرعة الخط. والسبب في ذلك غالبًا هو زمن الاستجابة، ونظام الرسائل الصغيرة حيث تصبح مخططات عرض النطاق الترددي غير مجدية.

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

الجمهور المستهدف: الأشخاص الذين يحددون مواصفات أو يحلون مشاكل بنى مجموعات الذكاء الاصطناعي. ليس هذا دليلاً عملياً لضبط الأداء، بل هو النموذج الذهني الذي يجعل هذا الدليل سهل الفهم.

رحلة ذهابًا وإيابًا كاملة، انزلاق واحد

تتلخص عملية تبادل البيانات بين وحدتي معالجة رسومية (GPU) على عقدتين مختلفتين، عبر نسيج تبديل بسرعة 100 جيجابت إيثرنت مع تقنية الوصول المباشر للذاكرة عن بعد (RDMA)، بشكل تقريبي على النحو التالي:

مكون المساهمة النموذجية ملاحظة
نشر التطبيق / التسلسل 0.1-1 ميكرومتر نسخ الذاكرة، بناء الترويسة، كتابة الوصف
مسار إرسال بطاقة الشبكة (أفعال الوصول المباشر للذاكرة عن بعد) 0.3-0.8 ميكرومتر دون الميكروثانية على أنظمة ConnectX / BlueField الحديثة
تأخير سلكي ~5 نانوثانية/متر 50 نانوثانية على طول 10 أمتار من محول رقمي تناظري، مهملة <100 متر
قفزة التبديل (القطع، الحديث) 250–600 نانوثانية إنفينيباند <100 نانوثانية؛ إيثرنت 400-600 نانوثانية
تبديل القفزة (التخزين والتمرير، 64 بايت) 1-3 ميكرومتر أضف التسلسل لكل بايت في الأعلى
لكل إضافة من نبات الجنجل زمن استجابة التبديل يُضيف نمط Leaf-spine قفزتين مقابل التبديل الفردي
مسار استقبال بطاقة الشبكة 0.3-0.8 ميكرومتر متناظر مع الإرسال على RDMA
حزمة بروتوكولات TCP/IP الخاصة بنواة النظام (اتجاه واحد) 10-30 ميكرومتر مسار المقابس؛ مع المقاطعات والنسخ
تجاوز النواة (أفعال DPDK / RDMA، اتجاه واحد) <1 ميكروثانية استطلاع مساحة المستخدم، بدون نسخ
استلام التطبيق / إلغاء التسلسل 0.1-1 ميكرومتر أيقظ المستهلك، فك تشفير الترويسة

يتم الوصول إلى نقطة اتصال RDMA RTT أحادية المفتاح على شبكة 100 GbE / NDR InfiniBand عند ~2 ميكروثانية بالنسبة للرسائل الصغيرة، تضيف بنية Leaf-Spine المكونة من قفزتين حوالي 1 ميكروثانية. وينتهي المسار نفسه عبر بروتوكول TCP/IP الخاص بنواة النظام عند 20-60 ميكرومترأكبر بعشرة أضعاف، مع سلوك أسوأ في الذيل. هذان الرقمان هما ما يحركان تقريبًا كل قرار معماري أدناه.

تطبيق تكساس
memcpy، الوصف
0.1-1 ميكرومتر
نيك تكساس
مفاتيح
قطع من خلال
250–600 نانوثانية
NIC RX
تطبيق RX
فك التشفير، تنبيه المستهلك
0.1-1 ميكرومتر

مسار RDMA أحادي الاتجاه: قفزة التبديل (250-600 نانوثانية على الإيثرنت، <100 نانوثانية على IB) هي المتغير المهيمن؛ تأخير السلك عند <100 متر ضئيل.

المشكلة ليست في السلك

ينتقل الضوء في الألياف بسرعة تقارب ثلثي سرعة الضوء في الغلاف الجوي، لذا فإن زمن الانتشار يبلغ حوالي 5 نانوثانية/متر. ويضيف صف من الألياف بطول 30 مترًا في رفوف الشبكة 150 نانوثانية في اتجاه واحد؛ حتى أن مسافة 500 متر داخل الحرم الجامعي تستغرق ميكروثانية واحدة. كما أن زمن التسلسل قصير جدًا عند السرعات الحديثة: إطار بيانات بحجم 64 بايت بسرعة 100 جيجابت/ثانية يستغرق 5.12 نانوثانية؛ وإطار بيانات ضخم بحجم 9000 بايت يستغرق 720 نانوثانية. بالنسبة لرسائل التحكم الصغيرة، يكون زمن التسلسل ضئيلاً؛ أما بالنسبة لنقل البيانات بكميات كبيرة، فإنه يتلاشى تأثيره بمجرد أن يصبح عرض قناة الاتصال كافيًا.

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

تبديل النسيج: القطع المباشر مقابل التخزين وإعادة التوجيه

يبدأ مفتاح التحويل المباشر عملية إعادة التوجيه بمجرد قراءة رأس الوجهة. أما مفتاح التخزين وإعادة التوجيه فيقوم بتخزين الإطار بأكمله مؤقتًا، ويتحقق اختياريًا من رمز التحقق الدوري (CRC)، ثم يقوم بإعادة التوجيه.

فئة التبديل زمن الاستجابة لكل قفزة
مفتاح InfiniBand NDR/HDR (التمرير المباشر) <100 نانوثانية
تقنية قطع الإيثرنت (من فئة توماهوك، مصنع الذكاء الاصطناعي) 400–600 نانوثانية
تقنية قطع الإيثرنت (قديمة / عامة) 600–900 نانوثانية
تخزين وإعادة توجيه إيثرنت، 64 بايت 1-3 ميكرومتر
تخزين وإعادة توجيه إيثرنت، 1500 بايت 1.5-4 ميكرومتر

ميزة تقنية InfiniBand حقيقية: فقد عملت معالجات الحوسبة عالية الأداء على تحسينها على مدى عقدين من الزمن. تعمل محولات إيثرنت الحديثة للذكاء الاصطناعي (مثل Tomahawk 5 وJerico3-AI وSpectrum-X) على تقليص معظم فجوة زمن الاستجابة وتتفوق على InfiniBand في سعة المخزن المؤقت، وهو أمر بالغ الأهمية لعمليات البث المتكاملة.

في شوكة الورقة، يتدفق تيار عرضي عبر ورقة → شوكة → ورقةالتصميمات التي تقلل من عدد القفزات (الطوبولوجيات السطحية ذات الأشجار السمينة، والطوبولوجيات المحسّنة للسكك الحديدية) لا تحاول توفير عرض النطاق الترددي؛ إنها توفر 500 نانوثانية لكل قفزة يتم تجنبها في كل عملية تجميع.

حزمة الشبكة الأساسية

يدفع بروتوكول TCP/IP العادي عبر نواة لينكس مقابل كل حزمة بيانات مقابل: إرسال مقاطعة NIC (أو استطلاع NAPI)، وتخصيص skb و softirq، ومعالجة TCP/IP، ونسخ مخزن مؤقت للمقبس بين مساحة النواة ومساحة المستخدم، وتبديل السياق إلى التطبيق.

بالنسبة لحزمة صغيرة على معالجات x86 الحديثة، فهذا 10-30 ميكروثانية في اتجاه واحد في أفضل الأحوال، مع ارتفاعات مفاجئة تتجاوز 100 ميكروثانية تحت الضغط. كما أنها تعتمد بشكل كبير على وحدة المعالجة المركزية، حيث تُشبع النواة عند حوالي مليون حزمة في الثانية قبل أن تصل بطاقة الشبكة إلى هذه المرحلة. هذه هي التكلفة التي يسعى باقي المقال إلى التخلص منها.

تجاوز النواة: DPDK، RDMA، XDP، AF_XDP

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

مسار الحد الأدنى لزمن الاستجابة نموذج وحدة المعالجة المركزية التوافق الاستخدام النموذجي
بروتوكول TCP/IP الخاص بالنواة 10-30 ميكروثانية/اتجاه المقاطعات يونيفرسال أي شيء ليس حرجًا من حيث زمن الاستجابة
AF_XDP 6-10 ميكروثانية/اتجاه مهجنة لا تزال أدوات لينكس تعمل حل وسط؛ برامج eBPF
دي بي دي كيه 1-3 ميكروثانية/اتجاه استطلاع رأي نشط لا يرى النواة شيئًا الاتصالات، التداول عالي التردد، وظائف الشبكة الافتراضية، مسارات حزم البيانات المخصصة
أفعال RDMA أقل من 1 ميكروثانية/اتجاه زوج قائمة الانتظار / CQE يتطلب بطاقة شبكة RDMA + نسيج الحوسبة عالية الأداء، تدريب الذكاء الاصطناعي، شبكات التخزين

بعض الملاحظات العملية:

  • لا يمكن استبدال DPDK وRDMA. تُجري DPDK معالجة الحزم العشوائية في مساحة المستخدم بسرعة الخط؛ بينما تُنفذ RDMA بروتوكولًا دلاليًا خاصًا بالذاكرة مع تفريغ للأجهزة. تتطلب أحمال عمل الذكاء الاصطناعي RDMA، حيث تدعمها NCCL ومجموعات التخزين بشكل أصلي. تظهر DPDK في وكلاء الاستدلال، والقياس عن بُعد، ومستويات البيانات المخصصة.
  • AF_XDP هو الحل الوسط. يتصل ببرنامج التشغيل على مستوى طبقة eBPF، ويحقق زمن استجابة أقل من 10 ميكروثانية، وعلى عكس DPDK، لا يستحوذ على بطاقة الشبكة من نظام التشغيل. إنه الحل الأمثل للأجهزة متعددة الاستخدامات.
  • XDP بدون AF_XDP يُستخدم هذا البرنامج لحذف/إعادة توجيه/إعادة إرسال الحزم المضمنة (لتنظيف هجمات DDoS، وموازنات الأحمال). يعالج الحزم داخل نواة النظام عند نقطة ربط برنامج التشغيل؛ ولا ينقلها إلى مساحة المستخدم.

بالنسبة لمجموعة الذكاء الاصطناعي: RDMA عبر InfiniBand أو RoCEv2 للاتصال بين وحدات معالجة الرسوماتاستخدم بروتوكول TCP/IP العادي لكل شيء آخر (الإدارة، القياس عن بُعد، تنزيل النماذج). لا تُبالغ في تصميم المسارات البطيئة.

تجميع المقاطعات، GRO/LRO: فخ الإنتاجية

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

  • مقاطعة عملية الاندماج. تنتظر بطاقة الشبكة فترة زمنية محددة (بالميكروثانية) (أو عدد الحزم) قبل إطلاق مقاطعة. يقلل ذلك من الحمل الزائد لكل حزمة، ولكنه يضيف زمن استجابة مساوياً للفترة الزمنية المحددة. rx-usecs 50 يصل إلى 50 ميكروثانية على اتصال هادئ.
  • GRO / LRO. يقوم نظام التشغيل (GRO) أو بطاقة الشبكة (LRO) بتجميع أجزاء TCP الواردة في حزمة بيانات واحدة أكبر (skb) قبل إرسالها. هذه الطريقة أقل تكلفة في المعالجة، لكن المُجمِّع ينتظر عمداً المزيد من الحزم، مما يُضيف أجزاءً من الثانية.

المقايضة صادقة وغير قابلة للتفاوض: لا يمكنك الحصول على كل من ذروة الإنتاجية وذروة زمن الاستجابة في نفس التكوين. بالنسبة لعقدة وحدة معالجة الرسومات، فإن بطاقة الشبكة RDMA التي تتعامل مع allreduce تريد rx-usecs 0 أو ١، إيقاف خاصية التجميع التكيفي، وإيقاف خاصية GRO على واجهة جانب RDMA. تحتفظ بطاقة الشبكة الإدارية المنفصلة بالإعدادات الافتراضية؛ فهي ليست على المسار الحرج.

والنتيجة المترتبة على ذلك: بطاقة الشبكة ذات الاستخدام المزدوج لمجموعات RDMA وتنزيلات TCP ستقدم أرقامًا متوسطة لكليهما إلا إذا قمت بتقسيم حركة البيانات عبر قوائم الانتظار أو الواجهات. تحتوي عقد الذكاء الاصطناعي المتقدمة على بطاقة شبكة RDMA واحدة أو اثنتين مخصصتين (ConnectX-7/8، BlueField-3) بالإضافة إلى بطاقة شبكة إدارة منفصلة.

طبقة التطبيق ليست مجانية أيضاً

نادراً ما يتم تضمين نوعين من التكاليف في أعلى التسلسل الهرمي في مخططات البنية:

  • memcpy. 4 ميجابايت memcpy يستغرق الأمر حوالي 200 ميكروثانية على نواة واحدة بسرعة 20 جيجابايت/ثانية. إذا كانت عملية النسخ الجماعي للبيانات الموترية تتم في مخزن مؤقت قبل إرسالها، فإنك تستهلك وقتًا أطول من زمن الرحلة ذهابًا وإيابًا عبر الشبكة. تتجاوز تقنية GPUDirect RDMA هذه الخطوة، حيث تقرأ بطاقة الشبكة مباشرةً من ذاكرة وحدة معالجة الرسومات.
  • التسلسل. يُضيف استخدام بروتوكول Protobuf أو JSON أو التأطير المُصمم يدويًا عشرات الميكروثانية للبيانات غير البسيطة. لا يُشكل ذلك مشكلة في استدعاء الإجراءات عن بُعد (RPC) في مستوى التحكم، ولكنه يُسبب خطأً فادحًا في الحلقة الداخلية allreduce. يتجنب NCCL ذلك باستخدام مُعرّفات ثنائية ثابتة وذاكرة مُسجلة مُسبقًا.

إذا كانت حزمة "RDMA المُحسّنة" لا تزال بطيئة، فقم بتحليل أداء مساحة المستخدم قبل إلقاء اللوم على البنية الأساسية. لقد لاحظنا عمليات تجميع تستغرق 30 ميكروثانية، منها 25 ميكروثانية لإعادة تشكيل موتر PyTorch، و5 ميكروثانية فقط لعملية التوصيل والتبديل.

العمليات الجماعية: زمن الاستجابة مقابل عرض النطاق الترددي، ولماذا يُعد حجم الحزمة مهمًا

تختار مكتبة NCCL (وأي مكتبة جماعية) خوارزمية بناءً على حجم الرسالة:

  • رسائل قصيرة تعتمد هذه العمليات على زمن الاستجابة. يستخدم بروتوكول NCCL خوارزميات الشجرة وبروتوكول LL الخاص به (بيانات بحجم 4 بايت مع علامات بحجم 4 بايت عبر عمليات تخزين ذرية بحجم 8 بايت، بدون حواجز ذاكرة). يمثل BusBw جزءًا من معدل الخط؛ أنت تقيس الحمل الزائد لكل رسالة مضروبًا في عدد الرسائل.
  • رسائل كبيرة تكون محدودة بعرض النطاق الترددي. يتحول بروتوكول NCCL إلى خوارزميات حلقية تقترب من سرعة خط أبطأ وصلة. يختفي زمن استجابة كل رسالة عند أقل من ميغابايت.

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

Allreduce busbw — H100 / NDR InfiniBand single-rack clusters
حجم الرسالة خوارزمية BusBw (عقدة واحدة، 8× NVLink) BusBw (8 عقد، NDR IB)
1 KB شجرة / LL ~5 جيجابايت/ثانية ~2 جيجابايت/ثانية
64 KB شجرة ~80 جيجابايت/ثانية ~20 جيجابايت/ثانية
1 MB حلقة ~250 جيجابايت/ثانية ~40 جيجابايت/ثانية
64 MB حلقة ~370 جيجابايت/ثانية ~45 جيجابايت/ثانية
1 جيجا بايت حلقة ~450 جيجابايت/ثانية ~48 جيجابايت/ثانية

يبلغ الحد الأقصى المعلن لسرعة نقل البيانات عبر شبكة NVLink H100 450 جيجابايت/ثانية؛ ويتطلب الوصول إلى هذه السرعة لنقل الرسائل الصغيرة أو عبر عدة عقد ضبطًا دقيقًا. بالنسبة لمجموعة منتجات Kentino - 5090 / 4090 / RTX Pro 6000 Blackwell عبر شبكة RoCE بسرعة 100 جيجابت إيثرنت - يُتوقع أن تتراوح سرعة نقل البيانات بين 10 و12 جيجابايت/ثانية لكل عقدة لنقل الرسائل الكبيرة عبر شبكة 100 جيجابت إيثرنت، مع استخدام نفس خوارزمية النقل.

التذبذب أسوأ من زمن الاستجابة

إذا كان زمن استجابة allreduce على كل عقدة 30 ميكروثانية ± 1 ميكروثانية، فإن الحاجز ينتظر 30 ميكروثانية. إذا كان متوسط ​​زمن الاستجابة 30 ميكروثانية، مع وجود عقدة واحدة بزمن 300 ميكروثانية مرة واحدة كل ألف تكرار، فإن كل وحدة معالجة رسومية أخرى تبقى خاملة لمدة 270 ميكروثانية في كل مرة يحدث فيها هذا التأخير. على مدار دورة تدريبية من 100 ألف تكرار على 16 عقدة، فإن ذلك يعني ساعات من فقدان القدرة الحاسوبية.

لهذا السبب، يُعد زمن استجابة P99 / P999 أكثر أهمية لتدريب الذكاء الاصطناعي من متوسط ​​زمن الاستجابة. إن مجموعة الحواجز هي يفوز الأبطأ العملية: تتحرك المجموعة بسرعة أسوأ عقدة فيها.

مصادر الارتعاش:

  • ازدحام مخزن البيانات الداخلي. تُحوّل عملية AllReduce البيانات من عدة جهات إلى جهة واحدة في كل دورة. تُسقط المحولات ذات التخزين المؤقت الضحل الحزم، مما يؤدي إلى توقف PFC، وارتفاع زمن الاستجابة بمقدار 10 إلى 100 ضعف. أما محولات الذكاء الاصطناعي ذات التخزين المؤقت العميق (مثل Jericho3-AI و Spectrum-X) فتستوعب هذا الارتفاع المفاجئ في زمن الاستجابة.
  • تذبذب وحدة المعالجة المركزية للمضيف. قد تتسبب مهمة مجدولة، أو خيط نواة غير محدود، أو انحراف تردد وحدة المعالجة المركزية في حدوث خلل زمني بمقدار 1 مللي ثانية. لذا، يُنصح بعزل أنوية المعالج لخيط مراقبة/استطلاع وحدة التحكم بالشبكة، وتعطيل حالات C على وحدات المعالجة المركزية الحساسة، وتثبيت العمليات.
  • الاندماج التكيفي. يُساعد برنامج التشغيل عن طريق زيادة تجميع البيانات تحت الضغط؛ مما يؤدي إلى ارتفاعات مفاجئة في زمن الاستجابة دون تنبيه. قم بإيقاف تشغيله صراحةً على بطاقة الشبكة RDMA.
  • عدم تناظر الطوبولوجيا. ورقة واحدة بسرعة 200 جيجابت إيثرنت، وأخرى بسرعة 100 جيجابت إيثرنت. الأبطأ هي الحد الأدنى لكل مجموعة.

زمن الاستجابة النهائي، وليس متوسط ​​زمن الاستجابة، هو مستوى الخدمة الصحيح لبنية الذكاء الاصطناعي.

القياس الصحيح

ping يقيس زمن استجابة بروتوكول ICMP (RTT) على مستوى إدارة مكدس النواة. عديم الفائدة لتوصيف بنية RDMA. الأدوات الفعّالة:

  • sockperf ping-pong — زمن استجابة UDP/TCP بدقة أقل من نانوثانية. مناسب لخطوط الأساس واختبارات التراجع في أداء النواة.
  • ib_send_lat, ib_write_lat (مجموعة اختبارات الأداء) - زمن استجابة فعل RDMA مباشرةً. هذا هو الرقم الذي يهمك فعلاً في InfiniBand وRoCE. توقع زمن استجابة يتراوح بين 1 و2 ميكروثانية على وصلة المحول نفسه.
  • معايير جامعة ولاية أوهايو الدقيقة - osu_latency, osu_bw, osu_allreduce على مستوى MPI. الأداة المناسبة لتطبيقات الحوسبة عالية الأداء قبل ظهور NCCL.
  • nccl-tests - all_reduce_perf, all_gather_perf, reduce_scatter_perf. المعيار الوحيد المهم لتدريب الذكاء الاصطناعي. يختبر هذا البرنامج مسار التعليمات البرمجية الذي يستخدمه تشغيلك بالضبط. قم بمسح البيانات من 8 بايت إلى 1 جيجابايت؛ سيوضح لك المنحنى مكان انقطاع البنية.

التحقق من صحة المعلومات: إذا nccl-tests all_reduce_perf يبلغ معدل نقل البيانات عبر ناقل البيانات (busbw) في الرسائل الكبيرة أقل بكثير من 80% من معدل نقل البيانات عبر خط بطاقة الشبكة (NIC)، لذا فالمشكلة تكمن في بنية الشبكة نفسها، وليس في البرمجيات. راجع الطبقات من أعلى هذه المقالة إلى أسفلها.

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

متى يكون زمن الاستجابة مهماً حقاً - ومتى لا يكون كذلك

يُعدّ زمن الاستجابة أمراً بالغ الأهمية:

  • تقليل التدرج المتزامن في التدريب المتوازي للبيانات. في كل تكرار، في كل عقدة. زمن الاستجابة النهائي = خسارة الحساب.
  • التوازي الدقيق في خطوط الأنابيب مع دفعات صغيرة جدًا. يتم تحديد وقت الفقاعة عند حدود المرحلة بواسطة زمن انتقال العقد.
  • انقسامات الطبقة المتوازية مع الموتر تلك التي تتفرع وتعود ضمن تمريرة أمامية/خلفية - سلسلة من التجمعات الصغيرة، لعبة زمن استجابة خالصة.
  • الاتصال بين خادم المعلمات والخطوة بمعدل تحديث عالٍ.

لا يؤثر زمن الاستجابة في الغالب على:

  • تجميع الاستدلال يتم تحديد دقة البيانات حسب الطلب. يهيمن حساب وحدة معالجة الرسومات (TTFT، فك تشفير كل رمز) على زمن استجابة كل طلب. يُعتبر 10 ميكروثانية من وقت الشبكة ضوضاءً مقارنةً بـ 50 مللي ثانية من وقت فك التشفير.
  • تحميل النماذج بكميات كبيرة من وحدة تخزين الكائنات عند بدء المهمة. محدود بالإنتاجية.
  • كتابة نقطة التفتيش إلى وحدة تخزين متصلة بالشبكة. عمليات كتابة متسلسلة كبيرة، ضبط النطاق الترددي.
  • خلط البيانات من خلال جلب البيانات المسبق للعامل. معالجة مجمعة، محدودة الإنتاجية.

المعنى الضمني الصادق: يقوم خادم وحدة معالجة الرسومات أحادي العقدة 4× أو 8× (مجموعة K-AI الأساسية من Kentino) بإجراء اتصال وحدة معالجة الرسومات عبر NVLink أو PCIe، وليس عبر الشبكة. تُستخدم الشبكة للتخزين والقياس عن بُعد، ولإجراء تجارب متعددة العُقد بين الحين والآخر. ولا يُجدي تحسين بنية الشبكة لتقليل زمن الاستجابة الجماعي نفعًا إلا مع التدريب الفعلي متعدد العُقد، وهو ما لا يُجريه معظم عملاء كينتينو. أما للاستدلال البحت والتدريب أحادي العقدة، فإن سرعة 25 جيجابت إيثرنت مع نواة نظام نظيفة كافية.

ماذا تفعل بعد ذلك

إذا كنت بصدد طلب نسيج جديد، فقم بتشغيل هذا التسلسل:

  1. ib_send_lat بين كل زوج من العقد. أي شيء يزيد عن 1.5 ضعف المتوسط ​​يعتبر مؤشراً - كابل رديء، أو ألياف بصرية متسخة، أو طوبولوجيا خاطئة.
  2. nccl-tests all_reduce_perf عبر 8 بايت → 1 جيجابايت. احفظ المنحنى. قارنه بالمرجع المنشور لفئة بطاقة الشبكة والمحول لديك.
  3. مقارنة بروتوكول TCP sockperf ping-pong ضد RDMA ib_send_lat. يجب أن تكون الفجوة بين 10 و30 ضعفًا. إذا كانت ضعفين، فإما أن يكون مكدس النواة لديك سريعًا بشكل غير عادي (وهذا غير مرجح) أو أن مسار RDMA لديك معطل (وهذا مرجح - تكوين PFC خاطئ، أو إعداد DCQCN خاطئ، أو أن RDMA يعود إلى المسار البرمجي).
  4. أعد تشغيل اختبارات nccl تحت الضغط. قم بزيادة حركة مرور التخزين بشكل متزامن ولاحظ تدهور عرض النطاق الترددي للحافلة. تتدهور أداء المجموعات السليمة بنسبة أقل من 20% في ظل أحمال مختلطة واقعية؛ بينما تنهار المجموعات المتعثرة.
  5. اضبط متغيرًا واحدًا في كل مرة. دمج البيانات، والتوجيه التكيفي، وعتبات تصحيح معامل القدرة، وعلامات ECN. وثّق كل تغيير. غيّر ثلاثة أشياء، وسيفيدك واحد منها - لكنك لا تعرف أيها.
  6. تنبيه بشأن زمن الاستجابة الجماعي لـ P99ليس الأمر لئيماً. فاللئيم يخفي المشكلة؛ أما P99 فهو ما يشعر به المتدرب فعلاً.

المتابعات — N07 فيما يتعلق بتوجيه البيانات والتحكم في الازدحام (ECMP، DCQCN، ECN)، N08 حول إعداد RDMA عمليًا، وK02 حول اختيار خوارزمية التدريب الموزع - تعمق أكثر في القرارات المحددة التي لم تتناولها هذه المقالة إلا بشكل موجز.

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


هذا جزء من ويكي كينتينو، وهي سلسلة مرجعية حول الحوسبة الذكية، والروبوتات، والأنظمة التي تربط بينهما. نرحب بالتعليقات والتصويبات على info@kentino.com.