تصدير Ultralytics YOLO على LiteRT
تعرّف على كيفية قيام تكامل تصدير LiteRT الجديد بجلب استنتاج Ultralytics YOLO إلى بيئات الجوّال، والأنظمة المدمجة، والحوسبة الطرفية، والمتصفحات في تنسيق واحد وموحد.

في Ultralytics، نشهد تحولاً متزايداً نحو تشغيل computer vision models مباشرة على الأجهزة التي تحتاج إليها، بدلاً من الاعتماد على الاتصال بالسيحابية. تتطلب تطبيقات الهواتف المحمولة، والأنظمة المضمنة، ومستشعرات IoT، والأدوات المستندة إلى المتصفح بشكل متزايد تشغيل الاستدلال محلياً، غالباً على أجهزة ذات ميزانيات طاقة ومحوسبة ضيقة.ولهذا السبب يسرنا أن نعلن أن نماذج Ultralytics YOLO يمكن الآن تصديرها مباشرة إلى LiteRT.
إن تلبية هذا الطلب يتطلب تنسيق نموذج يعمل عبر كل هذه البيئات دون إجبار المطورين على صيانة مسارات تصدير منفصلة لكل منها.
كانت هذه الإمكانية موجودة من قبل من خلال حزمة خارجية غير رسمية، ولكن هذا التكامل الجديد هو نتيجة تعاون رسمي مع Google. لقد عملنا عن كثب مع فريق LiteRT لبناء مسار متكامل لتصدير نماذج Ultralytics YOLO إلى TFLite عبر LiteRT. من خلال هذا التكامل، يتم نشر نموذج Ultralytics YOLO واحد مصدّر عبر بيئات الأجهزة المحمولة والمدمجة والحافة والمتصفحات، مما يوحد تنسيقات التصدير القديمة TFLite و TF.js التي كانت تتعامل معها بشكل منفصل في تنسيق واحد مبسط.
ما هو LiteRT؟#
LiteRT (اختصار لـ Lite Runtime) هو بيئة تشغيل عالية الأداء من Google للذكاء الاصطناعي على الأجهزة. وهو الجيل التالي والاسم الجديد لـ TensorFlow Lite (TFLite)، ويشغيل نفس تنسيق نموذج .tflite الذي يعرفه المطورون بالفعل.
LiteRT هو إطار عمل مفتوح المصدر مصمم خصيصاً للاستدلال على الأجهزة، والمعروف أيضاً باسم edge computing. فهو يمنح المطورين الأدوات اللازمة لتنفيذ النماذج المدربة على الأجهزة المحمولة، والمضمنة، وأجهزة IoT، وأجهزة الكمبيوتر التقليدية، ومن خلال LiteRT.js، مباشرة في متصفحات الويب وNode.js. يعمل تنسيق تصدير LiteRT على تحسين النماذج لمهام مثل object detection، وsegmentation، وpose estimation، وclassification بحيث تعمل بسرعة وبدون اتصال بالإنترنت عبر مجموعة واسعة من الأجهزة.
لماذا يتم تصدير نماذج Ultralytics YOLO إلى LiteRT؟#
تنسيق نموذج واحد يغطي الآن كل وجهة نشر:
• الهواتف المحمولة والأنظمة المدمجة. Android، و iOS، وسطح المكتب، و Linux المدمج، والمتحكمات الدقيقة (MCUs).
• مسرعات الحافة. متوافق مع Coral Edge TPU لمزيد من التسريع.
• المتصفح و Node.js. يقوم LiteRT.js بتشغيل نفس نموذج .tflite على الويب باستخدام تسريع WebGPU/WASM، مما يغني عن الحاجة إلى تصدير منفصل لـ TensorFlow.js.
• سطح المكتب
هذا التوحيد مهم لأنه يزيل مصدراً حقيقياً للاحتكاك في عمليات النشر في بيئة الإنتاج. بدلاً من صيانة مسار تصدير واحد للهواتف المحمولة، وآخر للمتصفح، وثالث لمسرعات الحافة، يمكن للفرق الآن التصدير مرة واحدة والنشر في أي مكان يعمل فيه LiteRT.
الميزات الرئيسية لنماذج LiteRT#
• التحسين على الجهاز. يقلل من زمن الانتقال عن طريق معالجة البيانات محلياً، ويعزز الخصوصية من خلال عدم نقل البيانات الشخصية، ويقلل من حجم النموذج لتوفير المساحة.
• دعم منصات متعددة. يعمل على Android، و iOS، و Linux المدمج، والمتحكمات الدقيقة، ومتصفحات الويب الحديثة.
• تسريع الأجهزة. يستفيد من XNNPACK على وحدة المعالجة المركزية (CPU)، وتسريع وحدة معالجة الرسومات (GPU) عبر OpenCL، و Metal، و WebGPU. يعمل تسريع GPU في وضع FP16 افتراضياً لزيادة السرعة.
• التكميم. يدعم FP32، و static INT8، و static INT16-activation، و dynamic INT8 لضغط النماذج وتسريع الاستدلال مع الحد الأدنى من فقدان الدقة.
• دعم لغات متنوعة. متوافق مع Java/Kotlin، و Swift، و Objective-C، و C++، و Python، و JavaScript.
البدء باستخدام تصدير LiteRT#
توفر Ultralytics Python package وUltralytics Platform بيئة كاملة وموحدة لتدريب وتقييم ونشر نماذج YOLO عبر مهام الرؤية الحاسوبية الخمسة. يدعم تنسيق تصدير LiteRT أوضاع Export، وPredict، وValidate، بحيث يمكن تصدير النموذج ثم استخدامه فوراً للاستدلال أو التحقق من الدقة محلياً.
يتطلب تصدير النموذج أمراً واحداً:
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to LiteRT format
model.export(format="litert") # creates 'yolo26n.tflite'بالنسبة للفرق التي تنشر على أجهزة محدودة الإمكانيات، يدعم LiteRT أيضاً التصدير المكمم (quantized export)، مما يسمح بضغط النماذج للحصول على استدلال أسرع مع الحد الأدنى من فقدان الدقة:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
# Dynamic INT8: int8 weights, FP32 activations - no calibration data needed
model.export(format="litert", quantize="w8a32")
# Static INT8: int8 weights + int8 activations - needs calibration data
model.export(format="litert", quantize=8, data="coco8.yaml")بمجرد التصدير، يمكن تحميل النموذج وتشغيله للاستدلال مباشرة:
from ultralytics import YOLO
# Load the exported LiteRT model
model = YOLO("yolo26n.tflite")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")يتم دعم تصدير LiteRT حالياً على Linux x86_64 و macOS. يعمل نموذج .tflite المصدّر نفسه عبر كل منصة تدعم LiteRT، بما في ذلك الأجهزة المحمولة، والأنظمة المدمجة، والحافة، والمتصفح.
الشكل 1. مقارنة الأداء بين ONNX وLiteRT.
تتضمن الصورة أعلاه مقارنة لمتوسط وقت الاستدلال لاكتشاف الأجسام، والتجزئة، وتقدير الوضع لنموذج YOLO26n، الذي يعمل في المتصفح عبر @ultralytics/yolo، حزمة npm الخاصة بـ Ultralytics للاستدلال من جانب العميل على WebGPU/WASM عبر ONNX Runtime Web. تم إجراء القياس القياسي على جهاز Apple MacBook Pro لعام 2024 (Apple Silicon M4) في بيئة متصفح خاضعة للرقابة.
جلب Ultralytics YOLO إلى الحافة#
مع LiteRT، لم يعد نشر نماذج Ultralytics YOLO عبر بيئات الأجهزة المحمولة والمدمجة والحافة والمتصفحات يتطلب مسارات تصدير منفصلة لكل هدف. تصدير واحد، وتنسيق نموذج واحد، ومسار متسق من التدريب إلى الإنتاج، أينما دعت الحاجة إلى الاستدلال.
هل أنت مهتم بالرؤية الحاسوبية للذكاء الاصطناعي؟ اكتشف licensing options الخاصة بنا لجلب الرؤية الحاسوبية إلى مشاريعك. تفضل بزيارة GitHub repository لاستكشاف النطاق الكامل لتكاملات التصدير الخاصة بـ Ultralytics، وتحقق من Ultralytics Platform لبدء بناء سير عمل الرؤية الحاسوبية الشاملة الخاص بك.






