دستگاههای موبایل و دستگاههای لبهای مدرن دارای واحدهای پردازش گرافیکی (GPU) و واحدهای پردازش عصبی (NPU) تخصصی هستند که قادرند مدلهای هوش مصنوعی را تا 25 برابر در مقایسه با CPU تسریع کنند، در حالی که همزمان مصرف برق را تا 5 برابر کاهش میدهند.
LiteRT دسترسی به این سیلیکونهای تخصصی را از طریق یک پشته شتابدهنده سختافزاری یکپارچه ساده میکند. LiteRT به جای مدیریت SDKهای تکهتکه و مختص فروشنده یا APIهای سختافزاری پیچیده، یک API کامپایلشدهی ساده ارائه میدهد که پیچیدگی بهینهسازی مدل، مدیریت حافظه و توزیع سختافزار را خلاصه میکند.
انواع شتابدهندهها
LiteRT یک رابط کاربری یکپارچه برای اجرای مدلها در انواع مختلف سختافزارهای backend ارائه میدهد. با بهرهگیری از CompiledModel API، میتوانید با استفاده از کامپایل روی دستگاه یا کامپایل Ahead-of-Time (AOT) به طور یکپارچه بین این شتابدهندهها جابجا شوید و برای عملیات پشتیبانی نشده، به طور خودکار به CPU مراجعه کنید.
- CPU: مسیر اجرای پیشفرض با استفاده از XNNPACK و همیشه در دسترس. عالی برای وظایف عمومی و جایگزین برای اپراتورهای پشتیبانی نشده.
- پردازنده گرافیکی (GPU): با پشتیبانی از ML Drift، عملکرد SOTA را در پلتفرمهای لبه با استفاده از OpenCL، WebGPU، Metal و غیره ارائه میدهد. برای اطلاعات بیشتر، به شتابدهی پردازنده گرافیکی با LiteRT مراجعه کنید.
- NPU: بالاترین کارایی و عملکرد برای حجم کاری هوش مصنوعی. LiteRT یک جریان توسعه یکپارچه برای دسترسی به چیپستهای تخصصی NPU، از جمله Google Tensor، Qualcomm و MediaTek، بدون نیاز به ادغام SDK خاص فروشنده ارائه میدهد. برای اطلاعات بیشتر، به شتاب NPU با LiteRT مراجعه کنید.
این شتابدهندهها میتوانند برای دستیابی به بهترین عملکرد ممکن، زمانی که برخی عملیات پیچیده روی یک سختافزار مشخص در دسترس نیستند، با هم ترکیب شوند. وقتی شتابدهندهها بر سر یک عملیات با هم رقابت میکنند، LiteRT از ترتیب اولویت زیر استفاده میکند: NPU، GPU، CPU .