قابلية التوسع
اكتشف كيف تضمن قابلية التوسع في الذكاء الاصطناعي والتعلّم الآلي اتساق الأداء والقدرة على التكيف والكفاءة لتطبيقات العالم الحقيقي مثل Ultralytics YOLO.
في الذكاء الاصطناعي (AI) و
التعلم الآلي (ML)، تشير قابلية التوسع إلى
قدرة النظام على التعامل مع أعباء العمل المتزايدة - مثل زيادة حجم البيانات أو حركة مرور المستخدم أو التعقيد الحسابي
أو التعقيد الحسابي - دون المساس بالأداء. تضمن البنية القابلة للتطوير أنه كلما زاد الطلب، يمكن للنظام
التكيف من خلال استخدام المزيد من الموارد أو تحسين الموارد الموجودة للحفاظ على انخفاض
كمون استنتاجي منخفض وإنتاجية عالية. سواء أكان
نشر نموذج رؤية حاسوبية على جهاز
واحد أو تقديم ملايين الطلبات عبر السحابة، فإن التصميم على نطاق واسع أمر أساسي لنجاح أي تطبيق ذكاء اصطناعي على المدى الطويل
لأي تطبيق ذكاء اصطناعي على المدى الطويل.
أهمية قابلية التوسع في الذكاء الاصطناعي
قابلية التوسع هي حجر الزاوية في
عمليات التعلم الآلي القوية (MLOps). فبدونها، قد يفشل النموذج الذي يؤدي أداءً جيدًا بشكل استثنائي خلال مرحلة وضع النماذج الأولية عند تعرضه ل
تدفقات البيانات عالية السرعة النموذجية لبيئات الإنتاج. تتطلب الإدارة الفعالة
البيانات الضخمة بفعالية تتطلب أنظمة يمكن أن تتوسع أفقياً
(إضافة المزيد من الأجهزة) أو رأسياً (إضافة المزيد من الطاقة إلى الأجهزة الموجودة).
تشمل المزايا الرئيسية ما يلي:
- الموثوقية: يضمن ثبات وقت تشغيل الخدمة أثناء طفرات حركة المرور.
-
كفاءة التكلفة: تسمح بتخفيض الموارد خلال فترات الاستخدام المنخفضة، وغالبًا ما تدار بواسطة
خدمات الحوسبة السحابية.
-
مواكبة للمستقبل: يستوعب الخوارزميات الأحدث والأكثر تعقيدًا مثل
المحولات دون الحاجة إلى
إصلاح شامل للبنية التحتية.
استراتيجيات تحقيق قابلية التوسع
يتضمن إنشاء حلول ذكاء اصطناعي قابلة للتطوير تحسين كل من بنية النموذج والبنية التحتية للنشر.
-
التدريب الموزع: عندما تصبح مجموعات البيانات كبيرة جداً بالنسبة لمعالج واحد,
يقسم التدريب الموزع عبء العمل
عبر عدة وحدات معالجة رسومية أو وحدات معالجة الرسوميات. تسمح أطر عمل مثل
PyTorch الموزعة تسمح للمطورين ب
موازاة العمليات الحسابية، مما يقلل بشكل كبير من وقت التدريب.
-
البنى النموذجية الفعالة: اختيار النموذج المناسب أمر بالغ الأهمية.
Ultralytics YOLO11 مصممة لتكون خفيفة الوزن وسريعة,
مما يجعلها قابلة للتطوير بشكل كبير عبر أجهزة متنوعة، من
أجهزة الذكاء الاصطناعي المتطورة إلى خوادم المؤسسات.
-
تجميع الحاويات والتنسيق: تغليف التطبيقات باستخدام
يضمن Docker تشغيلها باستمرار عبر البيئات.
لإدارة مجموعات كبيرة من الحاويات، يعمل Kubernetes على أتمتة النشر و
والتوسع، والتعامل مع تخصيص الموارد بشكل ديناميكي.
-
تحسين النموذج: تقنيات مثل
تكميم النموذج و
التقليم يقلل من بصمة الذاكرة والمتطلبات الحسابية
للنموذج. أدوات مثل NVIDIA TensorRT يمكن أن تزيد من
تسريع الاستدلال، مما يتيح إنتاجية أعلى على الأجهزة الحالية.
مثال على الكود البرمجي: الاستدلال الدفعي
تتمثل إحدى الطرق البسيطة لتحسين قابلية التوسع أثناء الاستدلال في معالجة المدخلات على دفعات بدلاً من التسلسل.
يؤدي ذلك إلى زيادة استخدام GPU إلى أقصى حد وزيادة الإنتاجية.
from ultralytics import YOLO
# Load a scalable YOLO11 model
model = YOLO("yolo11n.pt")
# Define a batch of images (URLs or local paths)
# Processing multiple images at once leverages parallel computation
batch_images = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
# Run inference on the batch
results = model(batch_images)
# Results contain predictions for both images
print(f"Processed {len(results)} images.")
تطبيقات واقعية
تتيح قابلية التوسع للذكاء الاصطناعي الانتقال من المختبرات البحثية إلى الصناعات العالمية.
-
التصنيع الذكي: في
الذكاء الاصطناعي في التصنيع، يجب على الأنظمة فحص
آلاف المكونات في الساعة على خطوط التجميع. يضمن نظام
القابل للتطوير يضمن أنه كلما
زيادة سرعة الإنتاج، فإن عملية مراقبة الجودة تحافظ على دقة عالية
عالية الدقة دون أن تصبح عنق الزجاجة.
-
توصيات التجارة الإلكترونية: تستخدم منصات البيع بالتجزئة الكبيرة
أنظمة التوصيات لتقديم ملايين
الاقتراحات المخصصة على الفور. يسمح استخدام البنية التحتية القابلة للتطوير لهذه المنصات بالتعامل مع أحداث مثل "الجمعة السوداء".
الجمعة، حيث يمكن أن تزيد حركة المرور بمقدار 100 ضعف، من خلال توفير عقد خوادم إضافية ديناميكيًا عبر
Amazon Web Services (AWS).
قابلية التوسع مقابل المفاهيم ذات الصلة
على الرغم من ارتباطهما ببعضهما البعض، إلا أن قابلية التوسع تختلف عن الأداء والكفاءة.
-
قابلية التوسع مقابل الأداء:
يشير الأداء عادةً إلى مدى سرعة
أو دقة النظام في لحظة معينة (على سبيل المثال، الإطارات في الثانية). تصف قابلية التوسع قدرة النظام
على الحفاظ على هذا الأداء مع زيادة الحمل.
-
قابلية التوسع مقابل الكفاءة: تقيس الكفاءة الموارد المستخدمة لإكمال مهمة ما (على سبيل المثال، الطاقة
الطاقة). يمكن أن يكون النظام فعالاً ولكن غير قابل للتطوير (إذا لم يتمكن من التعامل مع المزيد من المهام المتوازية)، أو قابلاً للتطوير ولكن
غير فعال (إذا كان يستخدم موارد مفرطة للتعامل مع النمو).
-
قابلية التوسع مقابل المرونة: تسمح المرونة للنظام بالتعامل مع أنواع مختلفة من
المهام المختلفة (على سبيل المثال, YOLO11 التعامل مع الكشف والتجزئة).
تركز قابلية التوسع على وجه التحديد على التعامل مع المزيد من نفس المهام أو المهام المتشابهة.