مسرد المصطلحات

Kubernetes

اكتشف كيف يعمل نظام Kubernetes على تبسيط أعباء عمل الذكاء الاصطناعي/التعلم الآلي من خلال نشر النماذج القابلة للتطوير، والتدريب الموزع، وإدارة الموارد بكفاءة.

تدريب YOLO النماذج
ببساطة مع Ultralytics HUB

التعرف على المزيد

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

ما هي Kubernetes؟

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

  • اكتشاف الخدمة وموازنة التحميل: يمكن لـ Kubernetes كشف الحاوية باستخدام اسم DNS أو باستخدام عنوان IP الخاص بها. إذا كانت حركة المرور إلى الحاوية عالية، يمكن لـ Kubernetes موازنة التحميل وتوزيع حركة مرور الشبكة بحيث يكون النشر مستقرًا.
  • تنسيق التخزين: يسمح لك Kubernetes بتحميل نظام التخزين الذي تختاره تلقائيًا، مثل التخزين المحلي وموفري السحابة العامة وغير ذلك.
  • الترحيلات والتراجعات التلقائية: يمكنك وصف الحالة المرغوبة للحاويات التي تم نشرها باستخدام Kubernetes، وتغيير الحالة الفعلية إلى الحالة المرغوبة بمعدل محكوم. على سبيل المثال، يمكن لـ Kubernetes أتمتة إنشاء حاويات جديدة للنشر الخاص بك، وإزالة الحاويات الموجودة واعتماد جميع مواردها إلى الحاوية الجديدة.
  • التعبئة التلقائية للحاويات: يسمح لك Kubernetes بتحديد مقدار CPU وذاكرة الوصول العشوائي (RAM) التي تحتاجها كل حاوية. يمكن لـ Kubernetes وضع الحاويات في عقدك لتحقيق أفضل استخدام لمواردك.
  • الشفاء الذاتي: تقوم Kubernetes بإعادة تشغيل الحاويات التي تفشل، وتستبدل الحاويات وتعيد جدولة الحاويات عند موت العقد، وتقتل الحاويات التي لا تستجيب لفحص الصحة الذي يحدده المستخدم، ولا تعلن عنها للعملاء حتى تصبح جاهزة للخدمة.
  • إدارة الأسرار والتكوين: يتيح لك Kubernetes تخزين المعلومات الحساسة وإدارتها، مثل كلمات المرور ورموز OAuth ومفاتيح SSH. يمكنك نشر الأسرار وتهيئة التطبيقات وتحديثها دون إعادة إنشاء صور الحاوية الخاصة بك، ودون الكشف عن الأسرار في تكوين المكدس الخاص بك.

ما علاقة Kubernetes بالذكاء الاصطناعي والتعلم الآلي؟

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

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

تطبيقات Kubernetes في الذكاء الاصطناعي/تعلم الآلة

  1. خدمة نموذج قابل للتطوير: ضع في اعتبارك تطبيقًا للكشف عن الأجسام في الوقت الحقيقي، مثل نظام إدارة حركة المرور في المدينة الذكية باستخدام Ultralytics YOLOv8. مع نمو المدينة، يزداد الطلب على معالجة موجزات الفيديو من المزيد من الكاميرات. يسمح لك Kubernetes بتوسيع نطاق البنية التحتية لخدمة النموذج بشكل ديناميكي. من خلال نشر نموذج YOLOv8 الخاص بك كخدمة في حاوية على Kubernetes، يمكنك بسهولة زيادة أو تقليل عدد مثيلات النموذج بناءً على حركة المرور الواردة، مما يضمن أداءً ثابتًا حتى في ظل الحمل الثقيل. تُعد قابلية التوسع هذه ضرورية للحفاظ على زمن انتقال منخفض وتوافر عالٍ في تطبيقات الذكاء الاصطناعي في الوقت الفعلي.

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

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

قراءة الكل