مسرد المصطلحات

Kubernetes

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

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

تبسيط المفاهيم الأساسية

يقوم Kubernetes بتنسيق الحاويات، وهي عبارة عن حزم خفيفة الوزن ومستقلة تحتوي على برامج وتوابعها. تتضمن المفاهيم الرئيسية ما يلي:

  • الكبسولات: أصغر الوحدات القابلة للنشر في Kubernetes، وعادةً ما تحتوي على حاوية واحدة أو أكثر تتشارك الموارد والشبكة. فكر في البود كغلاف حول تطبيق التعلم الآلي أو حاوية خادم الاستدلال.
  • العُقَد: الأجهزة العاملة (افتراضية أو مادية) حيث تعمل البودات. يدير Kubernetes توزيع البودات عبر العقد المتاحة.
  • الخدمات: تجريد يحدد مجموعة منطقية من الكبسولات وسياسة للوصول إليها، وغالباً ما يوفر عنوان IP ثابت أو اسم DNS للكبسولات الديناميكية. ضرورية لفضح نقاط نهاية استدلال تعلّم الآلة.
  • عمليات النشر: وصف الحالة المطلوبة للتطبيق الخاص بك، وإدارة مجموعات النسخ المتماثلة (مجموعات من القرون المتطابقة) لضمان التوافر والتعامل مع التحديثات. مفيد لطرح إصدارات نموذجية جديدة دون توقف.

يساعد فهم هذه اللبنات الأساسية في تصميم أنظمة تعلّم الآلة القابلة للتطوير والمرونة.

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

لقد أصبحت Kubernetes حجر الزاوية في عمليات التعلم الآلي الحديثة (MLOps) بسبب العديد من المزايا:

  • قابلية التوسع: غالباً ما يكون لمهام التعلم الآلي مثل تدريب النماذج الكبيرة أو خدمة طلبات الاستدلال متطلبات متقلبة من الموارد. يمكن ل Kubernetes زيادة أو خفض عدد الحاويات (Pods) تلقائيًا بناءً على الحمل، مما يضمن الاستخدام الفعال للموارد مثل وحدات معالجة الرسومات.
  • إدارة الموارد: يسمح بالتحكم الدقيق في تخصيص وحدة المعالجة المركزية والذاكرة للحاويات، مما يمنع التنازع على الموارد ويضمن الأداء، وهو أمر بالغ الأهمية خاصةً عند إدارة موارد وحدة معالجة الرسومات باهظة الثمن عبر تجارب أو خدمات متعددة.
  • قابلية النقل والاتساق: توفر Kubernetes بيئة متسقة عبر البنى التحتية المختلفة، سواء كانت خوادم محلية أو منصات حوسبة سحابية مختلفة مثل Amazon EKS أو Google GKE أو Azure AKS. يعمل ذلك على تبسيط نقل سير عمل تعلّم الآلة بين التطوير والاختبار والإنتاج. يمكنك غالبًا البدء بإعداد Docker وتوسيع نطاقه باستخدام Kubernetes.
  • الأتمتة والتنسيق: تعمل على أتمتة المهام المعقدة مثل اكتشاف الخدمة، وموازنة التحميل، والشفاء الذاتي (إعادة تشغيل الحاويات الفاشلة)، وإدارة التكوين، مما يقلل من النفقات اليدوية الزائدة لفرق تعلّم الآلة.

تطبيقات الذكاء الاصطناعي/التعلم الآلي في العالم الحقيقي

  1. تدريب النماذج الموزعة: غالباً ما يتطلب تدريب نماذج التعلم العميق الكبيرة (DL) ، مثل متغيرات Ultralytics YOLO المعقدة لاكتشاف الكائنات، قوة حاسوبية هائلة. يمكن ل Kubernetes إدارة مجموعة من الأجهزة للتدريب الموزع باستخدام أطر عمل مثل Kubeflow أو عمليات التكامل الأصلية مع PyTorch أو TensorFlow. وهو يتعامل مع جدولة مهام التدريب، وإدارة الوصول إلى البيانات، وتخصيص وحدات معالجة الرسومات بكفاءة عبر العُقد.
  2. خدمات استدلال قابلة للتطوير: يتطلب نشر نماذج تعلّم الآلة مثل تلك الخاصة بالاستدلال في الوقت الحقيقي توافرًا عاليًا وزمن استجابة منخفض. يمكن أن يستضيف Kubernetes خوادم الاستدلال (على سبيل المثال، باستخدام خادم استدلال NVIDIA Triton Inference Server، الذي يتكامل مع نماذج Ultralytics - راجع دليل Triton) خلف موازن تحميل. يقوم تلقائيًا بقياس عدد الخوادم الاستدلالية Pods تلقائيًا بناءً على حركة المرور الواردة، مما يضمن الاستجابة حتى أثناء ذروة الأحمال لمهام مثل تصنيف الصور أو معالجة اللغة الطبيعية (NLP).

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

  • Kubernetes مقابل Docker: Docker هي أداة لإنشاء الحاويات الفردية وشحنها وتشغيلها(الحاويات). أما Kubernetes فهي أداة تنسيق للحاويات، حيث تدير آلاف الحاويات المحتملة عبر العديد من الأجهزة. يعملان معًا: يمكنك عادةً إنشاء صور الحاويات باستخدام Docker ثم نشرها وإدارتها باستخدام Kubernetes. راجع دليل Docker Quickstart لمعرفة أساسيات الحاويات.
  • Kubernetes مقابل الحوسبة بدون خادم: الأنظمة الأساسية بدون خادم (مثل AWS Lambda أو Google Cloud Functions) تستبعد إدارة الخادم بالكامل، مع التركيز على الوظائف التي تعتمد على الأحداث. توفر Kubernetes مزيدًا من التحكم في البنية التحتية الأساسية وهي أكثر ملاءمة للتطبيقات طويلة الأمد أو الخدمات المعقدة ذات الحالة المعقدة، على الرغم من أن الأطر غير الخادمة يمكن أن تعمل على Kubernetes (مثل Knative).

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

يتضمن نظام Kubernetes البيئي العديد من الأدوات لتبسيط الإدارة:

  • هيلم: مدير حزم لـ Kubernetes، يساعد في تحديد التطبيقات المعقدة وتثبيتها وترقيتها.
  • بروميثيوس وغرافانا: أدوات مفتوحة المصدر شهيرة لمراقبة مجموعات وتطبيقات Kubernetes.
  • تكامل موفر السحابة: تعمل خدمات Kubernetes المُدارة (EKS و GKE و AKS) على تبسيط إعداد المجموعة وصيانتها.
  • منصات تعلّم الآلة: أدوات مثل Kubeflow مبنية على Kubernetes لتوفير تدفقات عمل خاصة بتعلّم الآلة. تهدف المنصات مثل Ultralytics HUB إلى تبسيط خط أنابيب النشر، وأحيانًا تجريد تعقيدات Kubernetes لتسهيل نشر النماذج.

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

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

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

انضم الآن
تم نسخ الرابط إلى الحافظة