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

في Ultralytics، نشهد تحولاً متزايداً نحو تشغيل نماذج الرؤية الحاسوبية مباشرة على الأجهزة التي تحتاج إليها، بدلاً من الاعتماد على الاتصال بالسحابة. تتطلب تطبيقات الهاتف المحمول، والأنظمة المدمجة، ومستشعرات إنترنت الأشياء (IoT)، والأدوات المستندة إلى المتصفح تشغيل الاستدلال محلياً بشكل متزايد، وغالباً على أجهزة ذات ميزانيات محدودة للطاقة والحوسبة. ولهذا السبب يسعدنا أن نعلن أن نماذج Ultralytics YOLO يمكن الآن تصديرها مباشرة إلى LiteRT.
إن تلبية هذا الطلب يتطلب تنسيق نموذج يعمل عبر كل هذه البيئات دون إجبار المطورين على صيانة مسارات تصدير منفصلة لكل منها.
كانت هذه الإمكانية موجودة من قبل من خلال حزمة خارجية غير رسمية، ولكن هذا التكامل الجديد هو نتيجة تعاون رسمي مع Google. لقد عملنا عن كثب مع فريق LiteRT لبناء مسار متكامل لتصدير نماذج Ultralytics YOLO إلى TFLite عبر LiteRT. من خلال هذا التكامل، يتم نشر نموذج Ultralytics YOLO واحد مصدّر عبر بيئات الأجهزة المحمولة والمدمجة والحافة والمتصفحات، مما يوحد تنسيقات التصدير القديمة TFLite و TF.js التي كانت تتعامل معها بشكل منفصل في تنسيق واحد مبسط.
Link to this sectionما هو LiteRT؟#
LiteRT (اختصار لـ Lite Runtime) هو وقت تشغيل عالي الأداء من Google للذكاء الاصطناعي على الجهاز. إنه الجيل القادم والاسم الجديد لـ TensorFlow Lite (TFLite)، ويشغل نفس تنسيق النموذج .tflite الذي يعرفه المطورون بالفعل.
LiteRT هو إطار عمل مفتوح المصدر مصمم خصيصاً للاستدلال على الجهاز، والمعروف أيضاً باسم حوسبة الحافة. إنه يمنح المطورين الأدوات اللازمة لتنفيذ النماذج المدربة على الأجهزة المحمولة والمدمجة وأجهزة إنترنت الأشياء (IoT)، وأجهزة الكمبيوتر التقليدية، ومن خلال LiteRT.js، مباشرة في متصفحات الويب و Node.js. يعمل تنسيق تصدير LiteRT على تحسين النماذج لمهام مثل اكتشاف الكائنات، والتجزئة، وتقدير الوضعية، والتصنيف بحيث تعمل بسرعة وبشكل غير متصل عبر مجموعة واسعة من الأجهزة.
Link to this sectionلماذا يتم تصدير نماذج Ultralytics YOLO إلى LiteRT؟#
تنسيق نموذج واحد يغطي الآن كل وجهة نشر:
• الهواتف المحمولة والأنظمة المدمجة. Android، و iOS، وسطح المكتب، و Linux المدمج، والمتحكمات الدقيقة (MCUs).
• مسرعات الحافة. متوافق مع Coral Edge TPU لمزيد من التسريع.
• المتصفح و Node.js. يقوم LiteRT.js بتشغيل نفس نموذج .tflite على الويب باستخدام تسريع WebGPU/WASM، مما يغني عن الحاجة إلى تصدير منفصل لـ TensorFlow.js.
• سطح المكتب
هذا التوحيد مهم لأنه يزيل مصدراً حقيقياً للاحتكاك في عمليات النشر في بيئة الإنتاج. بدلاً من صيانة مسار تصدير واحد للهواتف المحمولة، وآخر للمتصفح، وثالث لمسرعات الحافة، يمكن للفرق الآن التصدير مرة واحدة والنشر في أي مكان يعمل فيه LiteRT.
Link to this sectionالميزات الرئيسية لنماذج 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.
Link to this sectionالبدء باستخدام تصدير LiteRT#
توفر حزمة Ultralytics Python و منصة Ultralytics بيئة كاملة وموحدة لتدريب وتقييم ونشر نماذج 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) في بيئة متصفح محكومة.
Link to this sectionجلب Ultralytics YOLO إلى الحافة#
مع LiteRT، لم يعد نشر نماذج Ultralytics YOLO عبر بيئات الأجهزة المحمولة والمدمجة والحافة والمتصفحات يتطلب مسارات تصدير منفصلة لكل هدف. تصدير واحد، وتنسيق نموذج واحد، ومسار متسق من التدريب إلى الإنتاج، أينما دعت الحاجة إلى الاستدلال.
هل تشعر بالفضول حول ذكاء الرؤية الاصطناعي؟ اكتشف خيارات الترخيص الخاصة بنا لجلب الرؤية الحاسوبية إلى مشاريعك. قم بزيارة مستودع GitHub الخاص بنا لاستكشاف النطاق الكامل لتكاملات تصدير Ultralytics، وتحقق من منصة Ultralytics للبدء في بناء مهام سير عمل ذكاء الرؤية الاصطناعي الخاصة بك من البداية إلى النهاية.






