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

Kubernetes

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

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

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

على مستوى عالٍ، يعمل Kubernetes من خلال إدارة مجموعة من الأجهزة، تسمى العقد، والتي تشغل تطبيقات مجمعة في حاويات . ويعتمد على التجميع في حاويات لتعبئة الكود والتبعيات في وحدات قابلة للنقل. يجمع Kubernetes حاوية واحدة أو أكثر في "Pods"، وهي أصغر الوحدات القابلة للنشر في النظام. من خلال تجريد الأجهزة الأساسية، فإنه يسمح لمهندسي الرؤية الحاسوبية بالتركيز على تحسين دقة النموذج بدلاً من تكوين الخوادم. يقدم كبار مزودي الخدمات السحابية خدمات مدارة مثل Amazon Elastic Kubernetes Service (EKS) و Google Engine (GKE)، والتي تبسط إعداد وصيانة هذه المجموعات.

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

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

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

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

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

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

الفرق عن Docker

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

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

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

from ultralytics import YOLO

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

# Perform inference on an image URL
# In a Kubernetes setup, this might process incoming API requests
results = model("https://ultralytics.com/images/bus.jpg")

# Display the number of detected objects
print(f"Detected {len(results[0].boxes)} objects.")

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

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

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

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

انضم الآن