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

Docker

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

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

المفاهيم الأساسية لـ Docker

يتطلّب فهم Docker الإلمام بثلاثة مكوّنات أساسية تحدّد سير عمله.

  • ملف Dockerfile: هذا هو مستند نصي يحتوي على جميع الأوامر التي يمكن للمستخدم استدعاؤها في سطر الأوامر لتجميع صورة. بالنسبة لمشروع ذكاء اصطناعي، يعمل ملف يعمل ملف Dockerfile كوصفة، حيث يحدد نظام التشغيل الأساسي الأساسي، وتثبيت لغات مثل Pythonوإعداد الأطر الضرورية الأطر اللازمة مثل PyTorch أو TensorFlow.
  • صورة Docker: الصورة هي قالب للقراءة فقط مع تعليمات لإنشاء حاوية Docker. وهي تلتقط حالة التطبيق في لحظة معينة. غالبًا ما يستخدم المطورون صورًا أساسية محسنة من السجلات مثل NVIDIA NGC للاستفادة من برامج التشغيل المثبتة مسبقًا من أجل GPU لتسريع وحدة معالجة الرسومات.
  • حاوية Docker: الحاوية هي نسخة قابلة للتشغيل من صورة. وهي تعزل التطبيق عن النظام المضيف أثناء مشاركة نواة نظام التشغيل الخاص بالمضيف. يضمن هذا العزل أن تكون تعارضات البرمجيات وهو متطلب أساسي لاستقرار نشر نموذج مستقر.

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

لا يمكن الاستغناء عن Docker لنشر حلول حلول الرؤية الحاسوبية (CV) القوية.

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

دمج Docker مع YOLO

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

from ultralytics import YOLO

# Load the YOLO11 model (downloads automatically if not present)
model = YOLO("yolo11n.pt")

# Perform object detection on an online image source
results = model("https://ultralytics.com/images/bus.jpg")

# Print the number of objects detected to verify inference
print(f"Detected {len(results[0].boxes)} objects in the image.")

Docker مقابل الآلات الافتراضية

على الرغم من أن كلتا التقنيتين تعزلان التطبيقات، إلا أنهما تعملان بشكل مختلف.

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

العلاقة مع Kubernetes

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

ستستفيد التطورات المستقبلية في نظام Ultralytics البيئي، مثل منصة Ultralytics Platform القادمة، من مبادئ التجميع في حاويات لتبسيط مصادر البيانات، والتدريب، وسير عمل النشر، مما يزيد من تجريد تعقيدات إدارة البنية التحتية.

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

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

انضم الآن