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

Kubernetes

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

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

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

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

Kubernetes في الذكاء الاصطناعي والتعلم الآلي

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

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

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

التمييز بين التقنيات ذات الصلة

من المفيد فهم كيفية اختلاف Kubernetes عن أدوات البنية التحتية الشائعة الأخرى:

  • Kubernetes مقابل Docker: Docker هي أداة تُستخدم لإنشاء وتشغيل الحاويات الفردية، في حين أن Kubernetes هي أداة تنسيق تدير تلك الحاويات عبر أسطول من الأجهزة. عادةً ما يستخدم المطورون Docker لإنشاء صور تطبيقات الشبكة العصبية الخاصة بهم ثم الاعتماد على على Kubernetes لتشغيلها على نطاق واسع.
  • Kubernetes مقابل الحوسبة بدون خادم: منصات بدون خوادم مثل AWS Lambda تلخص كل البنية التحتية مما يجعلها مثالية للوظائف التي تعتمد على الأحداث. في المقابل، توفر 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)]}")

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

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

انضم الآن