اكتشف كيف تعمل Kubernetes على تبسيط أعباء عمل الذكاء الاصطناعي/التعلم الآلي من خلال نشر النماذج القابلة للتطوير، والتدريب الموزع، وإدارة الموارد بكفاءة.
Kubernetes، الذي يُعرف اختصارًا باسم K8s، هو نظام تنسيق حاويات مفتوح المصدر يعمل على أتمتة نشر وتوسيع نطاق وإدارة التطبيقات المعبأة في حاويات. تم تصميمه في الأصل من قبل مهندسين في Google تتم صيانته من قبل مؤسسة الحوسبة السحابية الأصلية (CNCF)، تطورت Kubernetes إلى معيار الصناعة لتشغيل أنظمة البرمجيات المرنة والموزعة. في مجالات الذكاء الاصطناعي (AI) و والتعلم الآلي (ML)، فهي بمثابة طبقة بنية تحتية أساسية، مما يمكّن الفرق الهندسية من إدارة دورة الحياة الكاملة للنماذج المعقدة بكفاءة من التطوير التجريبي إلى الإنتاج على نطاق واسع.
في جوهره، يدير Kubernetes مجموعة من أجهزة الحوسبة، المعروفة باسم العقد، والتي تقوم بتشغيل أعباء عمل الحاويات. وهو يعتمد بشكل كبير على الحاويات - وهيتقنية التي تحزم الشيفرة البرمجية مع تبعياتها لضمان تشغيل التطبيقات بشكل متسق عبر متنوعة. تقدم Kubernetes تجريدات مثل "الكبسولات"، وهي أصغر الوحدات القابلة للنشر, و"عمليات النشر" التي تحافظ على الحالة المطلوبة للتطبيق. من خلال فصل البرمجيات عن الأجهزة الأساسية، فإنه يسمح لمهندسي لمهندسي الرؤية الحاسوبية بالتركيز على أداء النموذج الأداء بدلاً من صيانة الخادم، باستخدام الخدمات المدارة مثل Amazon EKS أو Google Kubernetes Engine (GKE).
بالنسبة لـ عمليات التعلم الآلي (MLOps)، لا غنى عن Kubernetes لأنه يحل التحدي الحاسم المتمثل في قابلية التوسع. تتطلب أعباء عمل الذكاء الاصطناعي الحديثة، خاصة تلك التي التي تتضمن التعلم العميق، تتطلب موارد حاسوبية كبيرة. تسهّل Kubernetes التدريب الموزع عن طريق جدولة مهام التدريب بذكاء عبر عقد متعددة مجهزة ب وحدات معالجة الرسومات (GPUs). أثناء مرحلة نشر النموذج، تضمن K8s توافرًا عاليًا لواجهات برمجة التطبيقات الاستدلالية، مما يؤدي تلقائيًا إلى زيادة أو خفض عدد وحدات التشغيل بناءً على في الوقت الفعلي، مما يحسن الأداء والتكلفة على حد سواء.
من المفيد فهم كيفية اختلاف Kubernetes عن أدوات البنية التحتية الشائعة الأخرى:
إن نظام Kubernetes البيئي واسع، بما في ذلك أدوات مثل Helm لإدارة الحزم و و Prometheus لمراقبة صحة المجموعة. بالنسبة لسير عمل التعلم الآلي المتخصص، تعمل منصات مثل Kubeflow التي تعمل على رأس Kubernetes لتبسيط خطوط الأنابيب من البداية إلى النهاية. بالتطلع إلى المستقبل، تم تصميم منصةUltralytics القادمة من أجل لتبسيط هذه العمليات بشكل أكبر، حيث توفر بيئة شاملة لإدارة البيانات والتدريب على النماذج التي تستخلص تعقيدات البنية التحتية الأساسية.
لنشر نموذج على Kubernetes، تحتاج أولاً إلى برنامج نصي يقوم بالاستدلال. يوضّح مقتطف Python هذا تحميل نموذج YOLO11 والذي يمكن بعد ذلك تغليفه في حاوية Docker وجدولته بواسطة K8s.
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image source
# This script would typically run inside a Kubernetes Pod
results = model("https://ultralytics.com/images/bus.jpg")
# Print the detected class names
for result in results:
for cls_id in result.boxes.cls:
print(f"Detected: {result.names[int(cls_id)]}")