تعرف على كيفية تبسيط نشر الذكاء الاصطناعي بفضل استخدام الحاويات. اكتشف كيفية استخدام Docker و Kubernetes لتشغيل Ultralytics بشكل متسق في أي بيئة.
التعبئة في حاويات هي استراتيجية لنشر البرامج تجمع شفرة المصدر للتطبيق مع مكتباتها و تبعياتها وملفات التكوين في وحدة واحدة خفيفة الوزن قابلة للتنفيذ تُعرف باسم الحاوية. هذا النهج يفصل البرنامج عن البنية التحتية الأساسية، مما يضمن تشغيل التطبيقات بشكل متسق عبر بيئات حوسبة متنوعة ، من الكمبيوتر المحمول المحلي للمطور إلى مجموعات الحوسبة السحابية الضخمة . في سياق التعلم الآلي (ML)، يحل التعبئة في حاويات مشكلة "إنه يعمل على جهازي" الشهيرة من خلال تغليف البيئة المعقدة المطلوبة لتدريب وتشغيل الشبكات العصبية.
بالنسبة لعلماء البيانات ومهندسي التعلم الآلي، تمثل إدارة البيئات تحديًا كبيرًا. قد تتطلب المشاريع المختلفة إصدارات متضاربة من Python أو CUDA أو مكتبات مثل PyTorch. تعمل الحاويات على التخلص من هذه التضاربات عن طريق إنشاء بيئات معزولة وغير قابلة للتغيير.
من المهم التمييز بين الحاويات والآلات الافتراضية (VMs). تقوم الآلة الافتراضية بمحاكاة مجموعة كاملة من الأجهزة، بما في ذلك نظام تشغيل ضيف كامل، مما يؤدي إلى زيادة كبيرة في تكلفة الموارد و إبطاء أوقات بدء التشغيل. في المقابل، تعمل الحاويات على تحويل نظام التشغيل إلى نظام افتراضي، مما يسمح بتشغيل تطبيقات متعددة كعمليات معزولة على نواة مشتركة واحدة. هذا الحجم الصغير يجعل الحاويات الخيار المفضل لسيناريوهات الذكاء الاصطناعي الطرفي حيث تكون موارد الأجهزة محدودة، مثل أجهزة إنترنت الأشياء أو الطائرات بدون طيار. لمقارنة تقنية أعمق، راجع دليل Red Hat حول الحاويات مقابل الأجهزة الافتراضية.
تشكل عدة تقنيات رئيسية العمود الفقري لنظام الحاويات الحديث:
تعد الحاويات أمراً شائعاً في سير عمل الذكاء الاصطناعي الحديث، حيث تتيح التكرار السريع والنشر الموثوق.
عند إنشاء حاوية لتطبيق الذكاء الاصطناعي، عادةً ما تقوم بتضمين برنامج نصي للتعامل مع
نموذج الخدمة. المقتطف التالي Python
يوضح سير عمل استدلال بسيط باستخدام ultralytics الحزمة. سيتم تشغيل هذا البرنامج النصي داخل
الحاوية، باستخدام التبعيات المثبتة مسبقًا في البيئة.
from ultralytics import YOLO
# Load the YOLO26 model (weights are usually baked into the container image)
# YOLO26 is the latest state-of-the-art model for real-time tasks
model = YOLO("yolo26n.pt")
# Perform inference on an image URL
# In production, this might handle API requests or video streams
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Print the number of detected objects to the logs
print(f"Inference complete. Detected {len(results[0].boxes)} objects.")
من خلال تغليف هذا المنطق داخل حاوية، يضمن المطورون بقاء Python وإصدارات المكتبة ثابتة ، مما يمنع حدوث أعطال غير متوقعة في الإنتاج. لتبسيط إدارة النماذج والتدريب والنشر، تستخدم العديد من الفرق Ultralytics التي تدعم بشكل أساسي سير العمل القائم على الحاويات. لمزيد من المعلومات حول استراتيجيات النشر، استكشف دليل AWS لحالات استخدام الحاويات.