Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

Kubernetes

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

Kubernetes، الذي يشار إليه غالبًا باسم K8s، هو منصة مفتوحة المصدر مصممة لأتمتة نشر وتوسيع نطاق وإدارة التطبيقات المعبأة في حاويات. تم تطوير Kubernetes في الأصل بواسطة Google صيانته حاليًا بواسطة Cloud Native Computing Foundation (CNCF)، وقد أصبح المعيار القياسي لتنسيق البرامج في السحابة. في سياق الذكاء الاصطناعي (AI) و التعلم الآلي (ML)، تعمل كطبقة البنية التحتية الحيوية التي تسمح لفرق الهندسة بإدارة سير العمل المعقد، من التدريب الموزع إلى الاستدلال الإنتاجي عالي التوافر . من خلال تجريد الأجهزة الأساسية، يضمن Kubernetes تشغيل التطبيقات بشكل موثوق و فعال، بغض النظر عما إذا كانت مستضافة محليًا أو عبر مزودي الخدمات السحابية العامة.

الهندسة الأساسية والمفاهيم

يعمل Kubernetes في جوهره على بنية عنقودية تتكون من مجموعة من الأجهزة العاملة تسمى العقد. تقوم هذه العقد بتشغيل أحمال عمل الحاويات ، بينما تدير طائرة التحكم الحالة العامة للمجموعة. أصغر وحدة قابلة للنشر في Kubernetes هي "Pod"، والتي تغلف حاوية واحدة أو أكثر تشترك في موارد التخزين والشبكة. هذا التجريد ضروري لتطبيقات الرؤية الحاسوبية، لأنه يسمح للمطورين بتعبئة التبعيات—مثل CUDA المحددة وحدات معالجة الرسومات (GPUs)— في بيئة متسقة. توفر خدمات السحابة الرئيسية مثل Amazon Elastic Kubernetes Service (EKS) و Azure Kubernetes Service (AKS) و Google Engine (GKE) إصدارات مُدارة من هذه البنية، مما يبسط عبء الصيانة على فرق علوم البيانات.

لماذا يعتبر Kubernetes مهمًا للذكاء الاصطناعي

تكمن القيمة الأساسية لـ Kubernetes في عمليات التعلم الآلي (MLOps) في قدرتها على التعامل مع أحمال العمل الديناميكية. غالبًا ما تتطلب نماذج الذكاء الاصطناعي قوة حسابية هائلة أثناء التدريب وزمن استدلال منخفض أثناء النشر.

  • قابلية التوسع: يستخدم Kubernetes التوسع التلقائي لضبط الموارد تلقائيًا. في حالة حدوث ارتفاع مفاجئ في حركة المرور، يمكن لـ Horizontal Pod Autoscaler زيادة عدد وحدات الاستدلال للحفاظ على قابلية التوسع دون تدخل يدوي.
  • تحسين الموارد: يعد التوزيع الفعال للأجهزة باهظة الثمن أمرًا بالغ الأهمية. يتيح Kubernetes GPU الجزئية وتقارب العقد، مما يضمن أن نماذج التعلم العميق لا تستهلك الموارد إلا عندما تتطلبها المهام النشطة .
  • النشر المرن: من الضروري ضمان التوافر العالي أثناء نشر النموذج. في حالة فشل إحدى العقد، يقوم Kubernetes تلقائيًا بإعادة تشغيل البودات المتأثرة على العقد السليمة، مما يمنع توقف خدمات API الهامة.

تطبيقات واقعية

Kubernetes هو العمود الفقري للعديد من تطبيقات الذكاء الاصطناعي واسعة النطاق في مختلف الصناعات:

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

التمييز بين Kubernetes و Docker

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

مثال: البرنامج النصي الاستدلالي للحاويات

لنشر نموذج على Kubernetes، يبدأ المطورون عادةً Python يعمل كنقطة دخول للحاوية. يوضح الكود التالي مهمة استدلال بسيطة باستخدام نموذج Ultralytics . سيتم تشغيل هذا البرنامج النصي داخل pod، لمعالجة الطلبات الواردة.

from ultralytics import YOLO

# Load the lightweight YOLO26 model
model = YOLO("yolo26n.pt")

# Perform inference on an image source
# In a K8s pod, this would likely process API payloads
results = model("https://ultralytics.com/images/bus.jpg")

# Output the detection count for logging
print(f"Detected {len(results[0].boxes)} objects in the frame.")

الأدوات والنظام البيئي

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

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن