اكتشف قوة الحاويات لمشاريع الذكاء الاصطناعي/تعلم الآلة. قم بتبسيط سير العمل، وضمان الاتساق، والتوسع بكفاءة باستخدام أحدث الأدوات.
عملية نشر الحاوية هي عملية نشر برمجيات تقوم بتجميع التعليمات البرمجية للتطبيق مع جميع الملفات والمكتبات التي يحتاجها للتشغيل على أي بنية تحتية. من خلال تغليف البرنامج وتوابعه في وحدة واحدة خفيفة الوزن خفيفة الوزن، والمعروفة باسم الحاوية، يضمن المطورون أن التطبيق يعمل باستمرار بغض النظر عن بيئة الحوسبة المحددة. في مجال التعلّم الآلي (ML)، أصبح استخدام الحاويات حجر الزاوية في استراتيجيات استراتيجيات التعلم الآلي الحديثة. فهو يحل مشكلة مشكلة "يعمل على جهازي" سيئة السمعة من خلال عزل بيئة التنفيذ، مما يجعل عمليات سير عمل سير عمل الرؤية الحاسوبية المعقدة (CV) قابلاً للنقل, وقابلة للتكرار وسهلة التوسيع.
بالنسبة لعلماء البيانات ومهندسي التعلّم الآلي، فإن إدارة التبعيات مثل الإصدارات المحددة من Python, PyTorchو ومحركات CUDA يمكن أن تكون صعبة. تعالج الحاوية هذا الأمر من خلال إنشاء بيئة غير قابلة للتغيير.
يتضمن فهم عملية بناء الحاويات الإلمام ببعض التقنيات الرئيسية التي تعمل على توحيد كيفية بناء الحاويات وإدارتها.
من المهم التمييز بين الحاويات و الآلات الافتراضية. تقوم الآلة الافتراضية بتشغيل نظام تشغيل ضيف كامل مع وصول افتراضي إلى موارد المضيف من خلال برنامج Hypervisor. هذا يخلق مستوى عالٍ من العزلة ولكن ينتج عنه نفقات كبيرة. على العكس، تقوم الحاويات بتحويل نظام التشغيل إلى نظام تشغيل افتراضي، مما يسمح بتشغيل العديد من مثيلات فضاء المستخدم المعزولة على نواة واحدة. هذا التمييز يجعل الحاويات الخيار المفضل الخيار المفضل للخدمات المصغرة وتطبيقات Edge AI حيث تكون الموارد تكون الموارد محدودة.
يتم تطبيق الاحتواء عبر مراحل مختلفة من دورة حياة الذكاء الاصطناعي، بدءاً من البحث إلى الإنتاج.
في البحوث الأكاديمية والصناعية، يعد استنساخ النتائج أمرًا بالغ الأهمية. من خلال تحديد البيئة الدقيقة في حاوية يضمن الباحثون أن تجاربهم تجاربهم التدريبية النموذجية يمكن تكرارها من قبل أي شخص, في أي مكان. وهذا يزيل التناقضات الناجمة عن اختلاف إصدارات المكتبة أو تكوينات النظام. على سبيل المثال، يمكن لفريق يمكن لفريق يعمل على تجزئة الصور مشاركة صورة Docker التي تحتوي على أدوات معالجة مجموعة البيانات الخاصة بهم وبنى النماذج، مما يضمن الحصول على نتائج متسقة.
يتطلب نشر نماذج التعلم العميق على الأجهزة المتطورة، مثل أجهزة NVIDIA Jetson، يتطلب بيئات محسنة للغاية مُحسَّنة للغاية. تسمح الحاويات للمطورين بتجميع نموذج مثل YOLO11 مع تبعيات وقت التشغيل الضرورية فقط. يمكن نشر هذه يمكن نشر هذه الحزمة المبسطة على آلاف الأجهزة البعيدة، وتحديث قدرات اكتشاف الأجسام للكاميرات الأمنية أو الروبوتات المستقلة عبر الأثير دون تدخل يدوي. اقرأ المزيد عن هذا في حالات استخدام حاوية AWS.
عند تجميع تطبيق في حاوية، عادةً ما تقوم بإنشاء برنامج نصي يعمل كنقطة دخول. توضح شيفرة Python
التالية
التالية سير عمل استدلالي بسيط باستخدام الرمز ultralytics الحزمة. يمكن أن يكون هذا البرنامج النصي
العملية الرئيسية التي تعمل داخل حاوية Docker المصممة من أجل
الاستدلال في الوقت الحقيقي.
from ultralytics import YOLO
# Load the YOLO11 model (ensure weights are present in the container)
model = YOLO("yolo11n.pt")
# Perform inference on an image URL
# In a container, this might process incoming video streams or API requests
results = model.predict(source="https://ultralytics.com/images/bus.jpg", save=True)
# Print detection results to verify operation
for result in results:
print(f"Detected {len(result.boxes)} objects in the frame.")
يوضح هذا النص البرمجي بفعالية كيف يمكن أن تكون البصمة البرمجية في حدها الأدنى عندما يتم التعامل مع التبعيات بواسطة بيئة الحاوية. من خلال الاستفادة من أوزان النموذج المضمنة في الصورة، تصبح الحاوية تصبح وحدة ذكاء مستقلة جاهزة للنشر. للمزيد من القراءة عن أساسيات الحاوية، تقدم وثائق حاويات ريد هات تقدم مواد تمهيدية ممتازة.