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

Docker

بسّط سير عمل الذكاء الاصطناعي/تعلم الآلة باستخدام Docker! تعلم كيفية نشر النماذج، وضمان إمكانية التكرار، والتوسع بكفاءة عبر البيئات.

Docker هي منصة مفتوحة المصدر تتيح للمطورين أتمتة نشر التطبيقات وتوسيع نطاقها وإدارتها باستخدام الحاويات. في سياق الذكاء الاصطناعي والتعلم الآلي، تعمل Docker كوحدة معيارية من البرامج التي تحزم الكود وجميع تبعياته — مثل المكتبات وأدوات النظام والإعدادات — بحيث يعمل التطبيق بسرعة وموثوقية من بيئة حوسبة إلى أخرى. وهذا يزيل المشكلة الشائعة المتمثلة في "إنه يعمل على جهازي"، مما يضمن أن الشبكة العصبية المدربة على الكمبيوتر المحمول للباحث تعمل بنفس الطريقة تمامًا عند نشرها على خادم سحابي ضخم أو جهاز طرفي.

لماذا يعتبر Docker مهمًا للذكاء الاصطناعي والتعلم الآلي

تعتمد عمليات التعلم الآلي الحديثة (MLOps) بشكل كبير على قابلية التكرار وقابلية النقل. غالبًا ما يتضمن مشروع الذكاء الاصطناعي مجموعة معقدة من البرامج، بما في ذلك إصدارات محددة من Python CUDA GPU وأطر عمل التعلم العميق مثل PyTorch أو TensorFlow. إن إدارة هذه العناصر يدويًا عبر مختلف الفرق والبنى التحتية أمر معرض للخطأ.

يبسط Docker هذه العملية من خلال إنشاء حاويات مستقلة وخفيفة الوزن. على عكس الأجهزة الافتراضية التقليدية (VMs) التي تتطلب نظام تشغيل كامل لكل حالة، تشترك الحاويات في نواة نظام تشغيل الجهاز المضيف ولكنها تعمل في مساحات مستخدم معزولة. وهذا يجعلها أكثر كفاءة في استخدام الموارد وأسرع في البدء، وهو أمر بالغ الأهمية عند توسيع بنية تحتية لخدمة النماذج أو تشغيل مهام تدريب موزعة.

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

Docker موجود في كل مكان في دورة حياة الذكاء الاصطناعي، من التجربة الأولية إلى النشر النهائي.

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

Docker مقابل Kubernetes مقابل الأجهزة الافتراضية

من المفيد التمييز بين Docker والتقنيات ذات الصلة لفهم دوره المحدد:

  • Docker مقابل الأجهزة الافتراضية (VMs): تقوم الأجهزة الافتراضية بافتراضية الأجهزة، مما يعني أن كل جهاز افتراضي يشغل نظام تشغيل كامل (مثل Windows أو Linux) فوق برنامج Hypervisor. وهذا يستهلك ذاكرة CPU كبيرة. يقوم Docker بافتراضية نظام التشغيل، مما يجعل الحاويات أصغر حجماً وأسرع من الأجهزة الافتراضية.
  • Docker مقابل Kubernetes: هاتان تقنيتان متكاملتان وليستا متنافستين. Docker هي الأداة المستخدمة لإنشاء وتشغيل حاويات فردية. Kubernetes هي منصة تنسيق حاويات تدير مجموعات حاويات Docker، وتتعامل مع مهام مثل التحجيم التلقائي، وموازنة الحمل، والإصلاح الذاتي في بيئات الحوسبة السحابية واسعة النطاق .

مثال: تشغيل الاستدلال في حاوية

يوضح المثال التالي كيف يمكن أن يبدو Python داخل حاوية Docker مصممة للرؤية الحاسوبية. يستخدم هذا النص البرمجي ultralytics لحزم لتحميل نموذج وإجراء الاستدلال. تضمن بيئة الحاوية التبعيات الصحيحة (مثل opencv-python و torch) موجودة بالفعل .

from ultralytics import YOLO

# Load the YOLO26 model (weights are typically included in the Docker image)
model = YOLO("yolo26n.pt")

# Perform inference on an image source
# In a containerized microservice, this might process incoming API requests
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Log the detection results
print(f"Detected {len(results[0].boxes)} objects in the image.")

دمج Docker في سير عملك

للبدء في استخدام الحاويات، عادةً ما يقوم المطورون بتعريف Dockerfile، وهو مستند نصي يحتوي على جميع الأوامر اللازمة لتجميع صورة. بمجرد إنشائها، يمكن تخزين هذه الصور في سجلات مثل مركز Docker أو كتالوج NVIDIA، الذي يوفر حاويات GPU.

بالنسبة لأولئك الذين يسعون إلى تبسيط عملية التدريب والنشر دون الحاجة إلى إدارة ملفات Dockerfiles يدويًا، توفر Ultralytics أدوات متكاملة تتعامل مع تعقيدات بيئات السحابة. وهذا يتيح للمستخدمين التركيز على تحسين دقة النماذج بدلاً من تكوين البنية التحتية. علاوة على ذلك، يمكنك الاطلاع على دليل البدء السريع لـ Docker لتتعلم كيفية تشغيل Ultralytics في الحاويات على الفور.

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

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

انضم الآن