تمثّل واجهة برمجة التطبيقات LiteRT CompiledModel المعيار الحديث للاستدلال باستخدام تعلُّم الآلة على الجهاز، إذ توفّر تسريعًا مبسطًا للأجهزة يتفوّق بشكل كبير على واجهة برمجة التطبيقات Interpreter. تسهّل هذه الواجهة عملية نشر نماذج .tflite على مجموعة كبيرة من المنصات الطرفية من خلال توفير تجارب موحّدة للمطوّرين وميزات متقدّمة مصمّمة لتحقيق أقصى قدر من كفاءة الأجهزة.
لماذا يجب اختيار واجهة برمجة التطبيقات CompiledModel؟
مع أنّ واجهة برمجة التطبيقات Interpreter ستظل متاحة للتوافق مع الأنظمة القديمة، سيتم إعطاء الأولوية لواجهة برمجة التطبيقات CompiledModel عند طرح ميزات جديدة لتحسين الأداء وتسريعه. ننصحك بهذا الخيار للأسباب التالية:
تسريع أفضل في فئته لوحدة معالجة الرسومات: يستفيد من ML Drift، وهي مكتبة متطوّرة لتسريع وحدة معالجة الرسومات، من أجل تقديم استنتاج موثوق لوحدة معالجة الرسومات على الأجهزة الجوّالة والويب وأجهزة الكمبيوتر وأجهزة إنترنت الأشياء. اطّلِع على تسريع وحدة معالجة الرسومات باستخدام LiteRT.
إمكانية الوصول الموحّد إلى وحدات المعالجة العصبية: توفّر تجربة موحّدة ومتّسقة للمطوّرين للوصول إلى وحدات المعالجة العصبية من مختلف مقدّمي الخدمات، مثل Google Tensor وQualcomm وMediaTek، مع إخفاء تفاصيل برامج الترجمة ووقت التشغيل المعقّدة الخاصة بمورّد معيّن. اطّلِع على تسريع وحدة المعالجة العصبية (NPU) باستخدام LiteRT.
اختيار الأجهزة تلقائيًا: يتم تلقائيًا اختيار أفضل برنامج خادم من بين وحدة المعالجة المركزية ووحدة معالجة الرسومات ووحدة المعالجة العصبية، وذلك استنادًا إلى الأجهزة المتاحة ومنطق الأولوية الداخلي، ما يغني عن الحاجة إلى ضبط إعدادات المفوّض يدويًا.
التنفيذ غير المتزامن: تستخدم هذه الميزة آليات على مستوى نظام التشغيل (مثل حواجز المزامنة) للسماح لمسرّعات الأجهزة بتشغيل المهام مباشرةً عند اكتمال المهام السابقة بدون إشراك وحدة المعالجة المركزية. يمكن أن يؤدي ذلك إلى تقليل وقت الاستجابة بمقدار يصل إلى ضعفَي السرعة، ويضمن تجربة أكثر سلاسة وتفاعلية مع الذكاء الاصطناعي.
إدارة فعّالة لمخزن مؤقت للإدخال/الإخراج: تستفيد هذه الميزة من واجهة برمجة التطبيقات
TensorBufferلإدارة تدفق البيانات العالية الأداء بين أدوات التسريع. ويشمل ذلك التوافق مع المخزن المؤقت بدون نسخ على مستوىAHardwareBufferوOpenCL وOpenGL، ما يزيل عمليات نسخ البيانات المكلفة بين مراحل المعالجة المسبقة والاستنتاج والمعالجة اللاحقة.
بدء استخدام واجهة برمجة التطبيقات CompiledModel
بالنسبة إلى نماذج تعلُّم الآلة الكلاسيكية، يمكنك الاطّلاع على التطبيقات التجريبية التالية.
- تطبيق Kotlin لتقسيم الصور: الاستنتاج باستخدام وحدة المعالجة المركزية (CPU) أو وحدة معالجة الرسومات (GPU) أو وحدة المعالجة العصبية (NPU)
- تطبيق C++ لتقسيم الصور: استنتاج وحدة المعالجة المركزية/وحدة معالجة الرسومات/وحدة المعالجة العصبية مع تنفيذ غير متزامن
بالنسبة إلى نماذج الذكاء الاصطناعي التوليدي، يمكنك الاطّلاع على التطبيقات التجريبية التالية:
- تطبيق C++ للتشابه الدلالي EmbeddingGemma: الاستدلال على وحدة المعالجة المركزية (CPU) أو وحدة معالجة الرسومات (GPU) أو وحدة المعالجة العصبية (NPU)
المنصّات المتوافقة
تتيح واجهة برمجة التطبيقات CompiledModel في LiteRT إجراء استنتاجات عالية الأداء على أجهزة Android وiOS والويب وإنترنت الأشياء وأجهزة الكمبيوتر. يمكنك الاطّلاع على الدليل الخاص بكل نظام أساسي.