LiteRT هو إطار عمل من Google لتطبيقات تعلُّم الآلة والذكاء الاصطناعي التوليدي العالية الأداء على الأجهزة، ويستخدم تحويلاً ووقت تشغيل وتحسينًا فعالاً.
يحتوي الإصدار 2.x من LiteRT على أحدث واجهة برمجة تطبيقات لوقت التشغيل، وهي CompiledModel API، التي تتفوّق على Interpreter API (المعروفة أيضًا باسم TensorFlow Lite APIs)، لا سيما من خلال تسريع الأجهزة والأداء العام لتطبيقات تعلُّم الآلة والذكاء الاصطناعي على الأجهزة. تتوفّر واجهة برمجة التطبيقات CompiledModel في الإصدار التجريبي، وهي متاحة في كلّ من Kotlin وC++.
الميزات الرئيسية في LiteRT
النماذج المتوافقة
تتيح LiteRT تحويلًا مبسطًا من أُطر Pytorch وTensorFlow وJAX إلى تنسيق .tflite أو .litertlm.
تسهيل عملية التطوير باستخدام LiteRT
اختيار أداة تسريع تلقائيًا مقابل إنشاء مفوّض صريح وقت تشغيل بسيط لوحدة المعالجة العصبية وتوزيع النماذج التعامل الفعّال مع مخزن الإدخال/الإخراج المؤقت والتنفيذ غير المتزامن لتحقيق أداء فائق
أفضل أداء لوحدة معالجة الرسومات
تستند هذه الخدمة إلى ML Drift، وهي تتوافق الآن مع نماذج تعلُّم الآلة والذكاء الاصطناعي التوليدي على واجهات برمجة التطبيقات لوحدات معالجة الرسومات.
تسريع موحّد لوحدة المعالجة العصبية
يمكنك تسريع نموذجك باستخدام إمكانية الوصول المبسّطة إلى وحدة المعالجة العصبية (NPU) من كبار مورّدي شرائح المعالجة.
تبسيط دعم النماذج اللغوية الكبيرة باستخدام LiteRT
يمكنك استخدام LiteRT-LM المستند إلى LiteRT. يتوافق LiteRT-LM مع أحدث النماذج اللغوية الكبيرة والميزات المفيدة، مثل الوسائط المتعددة والفك الترميز المقيّد وغير ذلك.
سير عمل التطوير
تنفّذ LiteRT عمليات الاستدلال بالكامل على الجهاز على Android وiOS والويب وإنترنت الأشياء وعلى أجهزة الكمبيوتر المكتبي/المحمول. بغض النظر عن نوع الجهاز، إليك سير العمل الأكثر شيوعًا، مع روابط تؤدي إلى تعليمات إضافية.

تحديد الحل الأنسب لتحدّي تعلُّم الآلة
توفّر LiteRT للمستخدمين مستوى عالٍ من المرونة وقابلية التخصيص عند حلّ مشاكل تعلُّم الآلة، ما يجعلها مناسبة للمستخدمين الذين يحتاجون إلى نموذج معيّن أو تنفيذ متخصص. قد يفضّل المستخدمون الذين يبحثون عن حلول جاهزة للاستخدام مهام MediaPipe، التي توفّر حلولاً جاهزة لمهام تعلُّم الآلة الشائعة، مثل رصد العناصر وتصنيف النصوص والاستدلال على النماذج اللغوية الكبيرة.
الحصول على النموذج وإعداده
يتم تمثيل نموذج LiteRT بتنسيق فعال وقابل للنقل يُعرف باسم FlatBuffers، ويستخدم امتداد الملف .tflite.
يمكنك الحصول على نموذج LiteRT بالطرق التالية:
الحصول على نموذج مدرَّب مسبقًا: بالنسبة إلى أحمال عمل تعلُّم الآلة الشائعة، مثل تقسيم الصور ورصد الأجسام وما إلى ذلك
أبسط طريقة هي استخدام نموذج LiteRT بالتنسيق
.tflite. لا تتطلّب هذه النماذج أي خطوات إضافية للإحالات الناجحة.نوع الطراز مصدر النموذج المدرَّب مسبقًا التعلم الآلي الكلاسيكي
(تنسيق.tflite)يمكنك الانتقال إلى Kaggle أو HuggingFace
مثلاً نماذج تقسيم الصور وتطبيق نموذجيالذكاء الاصطناعي التوليدي
(بتنسيق.litertlm)صفحة LiteRT على Hugging Face
مثلاً Gemma Familyحوِّل نموذج PyTorch أو TensorFlow أو JAX الذي اخترته إلى نموذج LiteRT إذا اخترت عدم استخدام نموذج مدرَّب مسبقًا. [PRO USER]
إطار النموذج نماذج العيّنات أداة التحويل Pytorch Hugging Face
Torchvisionالرابط TensorFlow Kaggle Models
Hugging Faceالرابط Jax Hugging Face الرابط إنشاء نموذج لغوي كبير (LLM) لتحسينه بشكل أكبر باستخدام Generative API [لمستخدمي الإصدار الاحترافي]
توفّر مكتبة Generative API وحدات إنشاء مدمجة في PyTorch لتأليف نماذج Transformer، مثل Gemma وTinyLlama وغيرها، باستخدام عمليات تجريد متوافقة مع الأجهزة الجوّالة، ما يتيح لنا ضمان التحويل والتنفيذ الفعّال على وقت التشغيل على الأجهزة الجوّالة، LiteRT. يمكنك الاطّلاع على مستندات واجهة برمجة التطبيقات التوليدية.
التكميم [مستخدم PRO]
AI Edge Quantizer للمطوّرين المتقدّمين هي أداة لتحديد كمية نماذج LiteRT المحوَّلة. يهدف هذا الخيار إلى تسهيل سعي المستخدمين المتقدّمين إلى تحقيق أفضل أداء ممكن على النماذج التي تتطلّب موارد كثيرة (مثل نماذج الذكاء الاصطناعي التوليدي).
لمزيد من المعلومات حول نماذج تعلُّم الآلة ونماذج الذكاء الاصطناعي التوليدي، يُرجى الاطّلاع على مستندات Ai-Edge-Quantization.
المتطلبات الأساسية للبدء
- Python 3.10-3.12
- ملف طراز
.tflite - تتوفّر تفاصيل إضافية في قسم المنصة المعنيّة
دمج النموذج في تطبيقك على منصات الحوسبة الطرفية
يمكنك تنفيذ نماذج LiteRT لتشغيل الاستنتاجات بالكامل على أجهزة Android وiOS والويب وإنترنت الأشياء وأجهزة الكمبيوتر. تحتوي LiteRT على واجهات برمجة تطبيقات للغات Python وJava وKotlin لنظام التشغيل Android وSwift لنظام التشغيل iOS وC++ للأجهزة الصغيرة.
استخدِم الأدلة التالية لتنفيذ نموذج LiteRT على المنصة المفضّلة لديك:
| إطار النموذج | نماذج العيّنات | أداة التحويل |
|---|---|---|
| التشغيل على Android | أجهزة جوّال تعمل بنظام التشغيل Android | واجهات برمجة تطبيقات C++/Kotlin |
| التشغيل على أجهزة iOS | أجهزة جوّال تعمل بنظام التشغيل iOS | واجهات برمجة تطبيقات C++/Swift* |
| التنفيذ على الويب باستخدام LiteRT.js | جهاز مزوَّد بمتصفّح Chrome أو Firefox أو Safari | واجهات برمجة تطبيقات JavaScript |
| التشغيل على Micro | الأجهزة المضمّنة | واجهات برمجة تطبيقات C++ |
*ستتوفّر هذه الميزة قريبًا
مثال على رمز Kotlin البرمجي
// Load model and initialize runtime
val compiledModel = CompiledModel.create("/path/to/mymodel.tflite", CompiledModel.Options(Accelerator.CPU))
// Prepare I/O buffers and fill in the data
val inputBuffers = compiledModel.createInputBuffers()
inputBuffers.get(0).writeFloat(input0)
inputBuffers.get(1).writeFloat(input1)
val outputBuffers = compiledModel.createOutputBuffers()
// Execute model
compiledModel.run(inputBuffers, outputBuffers)
// Access model output
val output = outputBuffers.get(0).readFloat()
inputBuffers.forEach { it.close() }
outputBuffers.forEach { it.close() }
compiledModel.close()
مثال على رمز C++
LITERT_ASSIGN_OR_RETURN(auto env, GetEnvironment());
LITERT_ASSIGN_OR_RETURN(auto options, GetOptions());
LITERT_ASSIGN_OR_RETURN(
auto compiled_model,
CompiledModel::Create(env, "/path/to/mymodel.tflite", options));
LITERT_ASSIGN_OR_RETURN(auto input_buffers,compiled_model.CreateInputBuffers(signature_index));
LITERT_ASSIGN_OR_RETURN(auto output_buffers,compiled_model.CreateOutputBuffers(signature_index));
LITERT_ABORT_IF_ERROR(input_buffers[0].Write(input0));
LITERT_ABORT_IF_ERROR(input_buffers[1].Write(input1));
LITERT_ABORT_IF_ERROR(compiled_model.Run(signature_index, input_buffers, output_buffers));
LITERT_ABORT_IF_ERROR(output_buffers[0].Read(output0));
اختيار نظام الخلفية
إنّ أبسط طريقة لدمج الخلفيات في LiteRT هي الاعتماد على الميزات الذكية المضمّنة في وقت التشغيل. بفضل التغييرات الأخيرة، يسهّل LiteRT عملية الإعداد بشكل كبير من خلال إتاحة تحديد الخلفية المستهدَفة كخيار.
جوهر الإصدار 2.x من LiteRT هو العنصر CompiledModel. عند تحميل نموذج، تستخدم LiteRT الأجهزة المتاحة في النظام ومنطق الأولوية الداخلي لاختيار أفضل برنامج خلفي بدون الحاجة إلى ضبط الإعدادات يدويًا. الاطّلاع على الخلفية
لمزيد من التفاصيل
| Android | أجهزة الكمبيوتر المكتبية | الويب | iOS | macOS | إنترنت الأشياء (IoT) | |
|---|---|---|---|---|---|---|
| وحدة معالجة مركزية (CPU) | XNNPack | XNNPack | XNNPack | XNNPack | XNNPack | XNNPack |
| وحدة معالجة الرسومات | WebGPU OpenCL |
WebGPU OpenCL |
WebGPU | WebGPU Metal |
WebGPU Metal |
WebGPU |
| NPU | MediaTek Qualcomm |
- | - | - | - | - |
المستندات الإضافية والدعم
تطبيق LiteRT v2.x التجريبي راجِع تطبيق LiteRT التجريبي لتقسيم الصور
للمستخدمين الحاليين في TensorFlow Lite راجِع دليل نقل البيانات
تغطية العمليات عوامل التشغيل المتوافقة
نماذج LLM المتوافقة LiteRT Hugging face وGen API - أمثلة
الأدوات صفحة أدوات LiteRT - الأداء، وتحديد المشاكل، والإبلاغ عن الأخطاء، وما إلى ذلك