Model Serving
تعرف على كيفية سد خدمة النموذج (model serving) للفجوة بين النماذج المدربة والإنتاج. استكشف استراتيجيات النشر لـ Ultralytics YOLO26 على منصة Ultralytics.
خدمة النماذج هي عملية استضافة نموذج تعلم ماشية مدرب وإتاحة وظائفه لتطبيقات البرمجيات عبر واجهة شبكية. وهي تعمل كجسر بين ملف نموذج ثابت محزّن على قرص ونظام حي يعالج بيانات العالم الحقيقي. بمجرد أن يكمل النموذج مرحلة تدريب machine learning (ML)، يجب دمجه في بيئة إنتاجية حيث يمكنه استقبال المدخلات — مثل الصور أو النصوص أو البيانات الجدولية — وإرجاع التوقعات. يتم تحقيق ذلك عادةً عن طريق تغليف النموذج في Application Programming Interface (API)، مما يسمح له بالتواصل مع خوادم الويب أو تطبيقات الجوال أو أجهزة إنترنت الأشياء (IoT).
دور خدمة النماذج في الذكاء الاصطناعي#
الهدف الأساسي من خدمة النماذج هو تفعيل قدرات predictive modeling بفعالية. بينما يركز التدريب على الدقة وتقليل الخسارة، تركز الخدمة على مقاييس الأداء مثل latency (مدى سرعة إرجاع التوقع) وthroughput (عدد الطلبات التي يمكن معالجتها في الثانية). تضمن البنية التحتية القوية للخدمة أن تظل أنظمة computer vision (CV) موثوقة تحت الأحمال الثقيلة. وغالبًا ما يتضمن ذلك تقنيات مثل containerization باستخدام أدوات مثل Docker، والتي تقوم بتغليف النموذج مع تبعياته لضمان سلوك متسق عبر بيئات الحوسبة المختلفة.
تطبيقات العالم الحقيقي#
تعمل خدمة النماذج على تشغيل ميزات الذكاء الاصطناعي المنتشرة عبر مختلف الصناعات من خلال تمكين اتخاذ قرارات فورية بناءً على البيانات.
- التصنيع الذكي: في البيئات الصناعية، تستخدم أنظمة AI in manufacturing النماذج المخدومة لفحص خطوط التجميع. تُرسل صور عالية الدقة للمكونات إلى خادم محلي، حيث يكتشف نموذج YOLO26 عيوبًا مثل الخدوش أو عدم المحاذاة، مما يؤدي إلى تشغيل تنبيهات فورية لإزالة العناصر المعيبة.
- أتمتة التجزئة: يستفد تجار التجزئة من AI in retail لتحسين تجارب العملاء. تحدد الكاميرات التي تخدمها نماذج object detection المنتجات في منطقة الدفع، وتجمع التكلفة الإجمالية تلقائيًا دون الحاجة إلى مسح الرموز الشريطية يدويًا.
التنفيذ العملي#
لكل خدمة نموذج بفعالية، غالبًا ما يكون من المفيد export models إلى تنسيق قياسي مثل ONNX، مما يعزز قابلية التشغيل البيني بين أطر التدريب المختلفة ومحركات الخدمة. يوضح المثال التالي كيفية تحميل نموذج وتشغيل الاستدلال، محاكيًا المنطق الذي سيوجد داخل نقطة نهاية الخدمة باستخدام Python.
from ultralytics import YOLO
# Load the YOLO26 model (this typically happens once when the server starts)
model = YOLO("yolo26n.pt")
# Simulate an incoming API request with an image source URL
image_source = "https://ultralytics.com/images/bus.jpg"
# Run inference to generate predictions for the user
results = model.predict(source=image_source)
# Process results (e.g., simulating a JSON response to a client)
print(f"Detected {len(results[0].boxes)} objects in the image.")اختيار الاستراتيجية الصحيحة#
يعتمد اختيار استراتيجية الخدمة بشكل كبير على حالة الاستخدام المحددة. توفر الخدمة عبر الإنترنت (Online Serving) استجابات فورية عبر بروتوكولات مثل REST أو gRPC، وهو أمر ضروري لتطبيقات الويب التي تواجه المستخدمين. على العكس من ذلك، تقوم الخدمة المجمعة (Batch Serving) معالجة حجم كبير من البيانات دون اتصال بالإنترنت، وهي مناسبة لمهام مثل إنتاج التقارير الليلية. بالنسبة للتطبيقات التي تتطلب الخصوصية أو الاستجابة السريعة دون الاعتماد على الإنترنت، تنقل Edge AI عملية الخدمة مباشرة إلى الجهاز، مع استخدام تنسيق محسن مثل TensorRT لتحقيق أقصى أداء على الأجهزة المحدودة. تستفيد العديد من المؤسسات من منصة Ultralytics Platform لتسهيل نشر هذه النماذج على نقاط نهاية مختلفة، بما في ذلك واجهات برمجة التطبيقات السحابية وأجهزة الحافة.
التمييز عن المصطلحات ذات الصلة#
على الرغم من الارتباط الوثيق، إلا أن "خدمة النماذج" تختلف عن نشر النماذج والاستنتاج.
- نشر النماذج: يشير هذا إلى مرحلة دورة الحياة الأوسع لإطلاق نموذج في بيئة الإنتاج. الخدمة هي الآلية المحددة أو البرمجيات (مثل NVIDIA Triton Inference Server أو TorchServe) المستخدمة لتنفيذ النموذج المنشور.
- الاستدلال: هذا هو الفعل الرياضي لحساب التوقع من المدخلات. توفر خدمة النماذج البنية التحتية (الشبكات، وscalability، والأمان) التي تسمح بحدوث inference بشكل موثوق للمستخدمين النهائيين.
- الخدمات المصغرة: غالبًا ما يتم تصميم الخدمة كخدمات microservices، حيث يعمل النموذج كخدمة مستقلة يمكن لأجزاء أخرى من التطبيق الاستعلام عنها، وغالبًا ما تتبادل البيانات بتنسيقات خفيفة الوزن مثل JSON.






