تتيح لك LiteRT تشغيل نماذج TensorFlow وPyTorch وJAX في تطبيقات Android. يوفر نظام LiteRT بيئات تنفيذ مُعدّة مسبقًا وقابلة للتخصيص لتشغيل النماذج على Android بسرعة وكفاءة، بما في ذلك خيارات تسريع الأجهزة.
على سبيل المثال، يمكنك الاطّلاع على عينات LiteRT في مستودع Android للتطبيقات التي تستخدم LiteRT.
نماذج تعلُّم الآلة
تستخدم LiteRT نماذج TensorFlow وPyTorch وJAX التي يتم تحويلها إلى تنسيق أصغر وأكثر قابلية للنقل وأكثر كفاءة لنماذج تعلُّم الآلة. يمكنك استخدام نماذج مُنشأة مسبقًا مع LiteRT على Android، أو إنشاء نماذجك الخاصة وتحويلها إلى تنسيق LiteRT.
تتناول هذه الصفحة استخدام نماذج تعلُّم الآلة التي تم إنشاؤها مسبقًا، ولا تغطي إنشاء النماذج أو تدريبها أو اختبارها أو تحويلها. يمكنك الاطّلاع على مزيد من المعلومات حول اختيار نماذج تعلُّم الآلة وتعديلها وإنشائها وتحويلها إلى LiteRT في صفحة النماذج.
تشغيل النماذج على Android
يتلقّى نموذج LiteRT الذي يتم تشغيله داخل تطبيق Android البيانات ويعالجها وينشئ توقّعًا استنادًا إلى منطق النموذج. يتطلّب نموذج LiteRT بيئة وقت تشغيل خاصة لتنفيذه، ويجب أن تكون البيانات التي يتم تمريرها إلى النموذج بتنسيق بيانات محدّد يُعرف باسم موتر. عندما يعالج أحد النماذج البيانات، وهو ما يُعرف باسم تنفيذ استنتاج، فإنّه ينشئ نتائج التوقّعات على شكل موترات جديدة، ويمررها إلى تطبيق Android ليتمكّن من اتّخاذ إجراء، مثل عرض النتيجة للمستخدم أو تنفيذ منطق أعمال إضافي.

الشكل 1. مسار التنفيذ الوظيفي لنماذج LiteRT في تطبيقات Android
على مستوى التصميم الوظيفي، يجب أن يتضمّن تطبيق Android العناصر التالية لتشغيل نموذج LiteRT:
- بيئة وقت التشغيل LiteRT لتنفيذ النموذج
- معالج إدخال النموذج لتحويل البيانات إلى موترات
- معالج نتائج النموذج لتلقّي موترات نتائج الإخراج وتفسيرها كنتائج تنبؤ
توضّح الأقسام التالية كيف توفّر مكتبات وأدوات LiteRT هذه العناصر الوظيفية.
إنشاء تطبيقات باستخدام LiteRT
يوضّح هذا القسم المسار الأكثر شيوعًا والمقترَح لتنفيذ LiteRT في تطبيق Android. ويجب التركيز بشكل خاص على قسمَي بيئة وقت التشغيل ومكتبات التطوير. إذا كنت قد طوّرت نموذجًا مخصّصًا، احرص على مراجعة قسم مسارات التطوير المتقدّمة.
خيارات بيئة وقت التشغيل
هناك عدّة طرق يمكنك من خلالها تفعيل بيئة وقت تشغيل لتنفيذ النماذج في تطبيق Android، وفي ما يلي الخيارات المفضّلة:
- LiteRT في بيئة وقت التشغيل لخدمات Google Play (يُنصح بها)
- بيئة وقت تشغيل LiteRT مستقلة
بشكل عام، عليك استخدام بيئة وقت التشغيل التي توفّرها "خدمات Google Play" لأنّها أكثر فعالية من حيث المساحة مقارنةً بالبيئة العادية، إذ يتم تحميلها بشكل ديناميكي، ما يحافظ على صغر حجم تطبيقك. تستخدم "خدمات Google Play" أيضًا تلقائيًا أحدث إصدار ثابت من وقت التشغيل LiteRT، ما يمنحك ميزات إضافية وأداءً محسّنًا بمرور الوقت. إذا كنت توفّر تطبيقك على أجهزة لا تتضمّن "خدمات Google Play" أو كنت بحاجة إلى إدارة بيئة وقت تشغيل تعلُّم الآلة عن كثب، عليك استخدام وقت تشغيل LiteRT العادي. يؤدي هذا الخيار إلى تجميع رمز إضافي في تطبيقك، ما يتيح لك التحكّم بشكل أكبر في وقت تشغيل تعلُّم الآلة في تطبيقك، ولكن على حساب زيادة حجم تنزيل تطبيقك.
يمكنك الوصول إلى بيئات وقت التشغيل هذه في تطبيق Android من خلال إضافة مكتبات تطوير LiteRT إلى بيئة تطوير التطبيق. للحصول على معلومات حول كيفية استخدام بيئات وقت التشغيل العادية في تطبيقك، اطّلِع على القسم التالي.
المكتبات
يمكنك الوصول إلى Interpreter API باستخدام خدمات Google Play. يمكنك استخدام مكتبتَي النظام الأساسي والدعم في LiteRT في تطبيق Android. وللحصول على تفاصيل البرمجة حول استخدام مكتبات LiteRT وبيئات وقت التشغيل، يُرجى الاطّلاع على أدوات التطوير لنظام التشغيل Android.
الحصول على نماذج
يتطلّب تشغيل نموذج في تطبيق Android نموذجًا بتنسيق LiteRT. يمكنك استخدام نماذج مُنشأة مسبقًا أو إنشاء نموذج وتحويله إلى تنسيق Lite. لمزيد من المعلومات حول الحصول على نماذج لتطبيق Android، يُرجى الاطّلاع على صفحة النماذج في LiteRT.
التعامل مع بيانات الإدخال
يجب أن تكون أي بيانات يتم تمريرها إلى نموذج تعلُّم آلي عبارة عن موتر ذي بنية بيانات محددة، ويُطلق عليها غالبًا شكل الموتر. لمعالجة البيانات باستخدام نموذج، يجب أن يحوّل رمز تطبيقك البيانات من تنسيقها الأصلي، مثل بيانات الصور أو النصوص أو الصوت، إلى موتر بالشكل المطلوب لنموذجك.
تنفيذ الاستنتاجات
تُعرف معالجة البيانات من خلال نموذج لإنشاء نتيجة توقّعية باسم الاستنتاج. يتطلّب تنفيذ استنتاج في تطبيق Android بيئة وقت تشغيل LiteRT ونموذجًا وبيانات إدخال.
تعتمد السرعة التي يمكن للنموذج من خلالها إنشاء استنتاج على جهاز معيّن على حجم البيانات التي تتم معالجتها ومدى تعقيد النموذج وموارد الحوسبة المتاحة، مثل الذاكرة ووحدة المعالجة المركزية أو المعالِجات المتخصّصة المعروفة باسم المسرّعات. يمكن تشغيل نماذج تعلُّم الآلة بشكل أسرع على هذه المعالِجات المتخصّصة، مثل وحدات معالجة الرسومات (GPU) ووحدات معالجة الموتّرات (TPU)، وذلك باستخدام برامج تشغيل الأجهزة LiteRT المعروفة باسم المفوّضين. لمزيد من المعلومات حول المفوّضين وتسريع معالجة النماذج باستخدام الأجهزة، يُرجى الاطّلاع على نظرة عامة حول تسريع معالجة النماذج باستخدام الأجهزة.
التعامل مع نتائج الإخراج
تنشئ النماذج نتائج التوقّعات على شكل موترات، ويجب أن يتعامل تطبيق Android معها من خلال اتّخاذ إجراء أو عرض نتيجة للمستخدم. يمكن أن تكون نتائج النموذج بسيطة، مثل رقم يمثّل نتيجة واحدة (0 = كلب، 1 = قطة، 2 = طائر) لتصنيف صورة، أو معقّدة أكثر، مثل مربّعات حدود متعدّدة لعدة عناصر مصنّفة في صورة، مع تقييمات ثقة بالتوقّع تتراوح بين 0 و1.
مسارات التطوير المتقدّمة
عند استخدام نماذج LiteRT أكثر تطورًا وتخصيصًا، قد تحتاج إلى استخدام أساليب تطوير أكثر تقدمًا مما هو موضح أعلاه. توضّح الأقسام التالية تقنيات متقدّمة لتنفيذ النماذج وتطويرها لاستخدامها مع LiteRT في تطبيقات Android.
بيئات وقت التشغيل المتقدّمة
بالإضافة إلى بيئات وقت التشغيل العادية وبيئات وقت التشغيل الخاصة بخدمات Google Play في LiteRT، تتوفّر بيئات وقت تشغيل إضافية يمكنك استخدامها مع تطبيق Android. ويُرجّح استخدام هذه البيئات إذا كان لديك نموذج تعلُّم آلي يستخدِم عمليات تعلُّم آلي غير متوافقة مع بيئة وقت التشغيل العادية في LiteRT.
- Flex runtime لـ LiteRT
- وقت تشغيل LiteRT مخصّص
يتيح لك وقت التشغيل المرن في LiteRT تضمين عوامل تشغيل معيّنة يتطلّبها النموذج. كخيار متقدّم لتشغيل النموذج، يمكنك إنشاء LiteRT لنظام التشغيل Android لتضمين عوامل التشغيل والوظائف الأخرى المطلوبة لتشغيل نموذج تعلُّم الآلة في TensorFlow. لمزيد من المعلومات، يُرجى الاطّلاع على إنشاء LiteRT لنظام التشغيل Android.
واجهات برمجة التطبيقات C وC++
توفّر LiteRT أيضًا واجهة برمجة تطبيقات لتشغيل النماذج باستخدام C وC++. إذا كان تطبيقك يستخدم Android NDK، ننصحك باستخدام واجهة برمجة التطبيقات هذه. يمكنك أيضًا استخدام واجهة برمجة التطبيقات هذه إذا كنت تريد مشاركة الرمز بين منصات متعددة. لمزيد من المعلومات حول خيار التطوير هذا، يُرجى الاطّلاع على صفحة أدوات التطوير.
تنفيذ النموذج المستند إلى الخادم
بشكل عام، يجب تشغيل النماذج في تطبيقك على جهاز Android للاستفادة من وقت الاستجابة الأقصر وتحسين خصوصية البيانات للمستخدمين. ومع ذلك، هناك حالات يكون فيها تشغيل نموذج على خادم سحابي خارج الجهاز حلاً أفضل. على سبيل المثال، إذا كان لديك نموذج كبير لا يمكن ضغطه بسهولة ليصبح بحجم مناسب لأجهزة Android الخاصة بالمستخدمين، أو إذا كان لا يمكن تنفيذه بأداء معقول على هذه الأجهزة. قد يكون هذا الأسلوب أيضًا الحلّ المفضّل لديك إذا كانت الأولوية القصوى هي تحقيق أداء ثابت للنموذج على مجموعة كبيرة من الأجهزة.
تقدّم Google Cloud مجموعة كاملة من الخدمات لتشغيل نماذج الذكاء الاصطناعي. لمزيد من المعلومات، يُرجى الاطّلاع على صفحة منتجات الذكاء الاصطناعي وتعلُّم الآلة في Google Cloud.
تطوير النماذج المخصّصة وتحسينها
من المحتمل أن تتضمّن مسارات التطوير الأكثر تقدّمًا تطوير نماذج مخصّصة لتعلُّم الآلة وتحسين هذه النماذج لاستخدامها على أجهزة Android. إذا كنت تخطّط لإنشاء نماذج مخصّصة، احرص على تطبيق تقنيات التكميم على النماذج لخفض تكاليف الذاكرة والمعالجة. لمزيد من المعلومات حول كيفية إنشاء نماذج عالية الأداء لاستخدامها مع LiteRT، راجِع أفضل ممارسات الأداء في قسم "النماذج".
إصدارات Android المتوافقة
| إصدار LiteRT | الحالة | الحد الأدنى لمستوى حزمة تطوير البرامج (SDK) | الحد الأدنى لمستوى NDK (في حال استخدامه) | تاريخ الإصدار |
|---|---|---|---|---|
v1.2.0 ⭐ |
✅ نشط | 21 (Android 5 Lollipop) |
r26a |
2025-03-13 |
ملاحظة مهمة: احرص على تحديث التبعيات لضمان التوافق مع أحدث الميزات وتحديثات الأمان.