اكتشف كيف تعمل 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 في عمليات التعلم الآلي (MLOps) في قدرتها على التعامل مع قابلية التوسع ديناميكيًا. تتطلب نماذج التعلم العميق الحديثة قوة حاسوبية هائلة. يمكن لـ Kubernetes توسيع أو تقليص عدد الـ pods قيد التشغيل تلقائيًا بناءً على حركة المرور أو استخدام الموارد.
Kubernetes هو العمود الفقري للعديد من تطبيقات الذكاء الاصطناعي واسعة النطاق:
من الشائع الخلط بين 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 القادمة على تبسيط هذه العملية بشكل أكبر من خلال توفير واجهة موحدة للتدريب والنشر، مما يزيل الكثير من تعقيد البنية التحتية الأساسية.