بررسی اجمالی LiteRT

LiteRT (مخفف Lite Runtime) که قبلاً با نام TensorFlow Lite شناخته می‌شد، ران‌تایم با عملکرد بالای گوگل برای هوش مصنوعی روی دستگاه است. می‌توانید مدل‌های آماده‌ی اجرا LiteRT را برای طیف وسیعی از وظایف ML/AI پیدا کنید، یا مدل‌های TensorFlow، PyTorch و JAX را با استفاده از ابزارهای تبدیل و بهینه‌سازی AI Edge به فرمت TFLite تبدیل و اجرا کنید.

ویژگی‌های کلیدی

  • بهینه شده برای یادگیری ماشینی روی دستگاه : LiteRT پنج محدودیت کلیدی ODML را برطرف می‌کند: تأخیر (هیچ رفت و برگشتی به سرور وجود ندارد)، حریم خصوصی (هیچ داده شخصی از دستگاه خارج نمی‌شود)، اتصال (اتصال به اینترنت لازم نیست)، اندازه (مدل کاهش یافته و اندازه دودویی) و مصرف برق (استنباط کارآمد و عدم وجود اتصالات شبکه).

  • پشتیبانی چند پلتفرمی : سازگار با دستگاه‌های اندروید و iOS ، لینوکس توکار و میکروکنترلرها .

  • گزینه‌های مدل چند چارچوبی : AI Edge ابزارهایی را برای تبدیل مدل‌ها از مدل‌های PyTorch و TensorFlow به فرمت FlatBuffers ( .tflite ) فراهم می‌کند و شما را قادر می‌سازد از طیف گسترده‌ای از مدل‌های پیشرفته در LiteRT استفاده کنید. همچنین به ابزارهای بهینه‌سازی مدل دسترسی دارید که می‌توانند کوانتیزاسیون و ابرداده را مدیریت کنند.

  • پشتیبانی از زبان‌های متنوع : شامل SDK برای Java/Kotlin، Swift، Objective-C، C++ و Python.

  • عملکرد بالا : شتاب سخت‌افزاری از طریق نمایندگان تخصصی مانند GPU و iOS Core ML.

گردش کار توسعه

گردش کار توسعه LiteRT شامل شناسایی یک مشکل یادگیری ماشین/هوش مصنوعی، انتخاب مدلی که آن مشکل را حل می‌کند و پیاده‌سازی مدل روی دستگاه است. مراحل زیر شما را در این گردش کار راهنمایی می‌کند و پیوندهایی به دستورالعمل‌های بیشتر ارائه می‌دهد.

۱. مناسب‌ترین راه‌حل برای مسئله یادگیری ماشینی را شناسایی کنید

LiteRT سطح بالایی از انعطاف‌پذیری و قابلیت سفارشی‌سازی را در حل مسائل یادگیری ماشین به کاربران ارائه می‌دهد و آن را برای کاربرانی که به یک مدل خاص یا پیاده‌سازی تخصصی نیاز دارند، مناسب می‌سازد. کاربرانی که به دنبال راه‌حل‌های آماده هستند، ممکن است MediaPipe Tasks را ترجیح دهند که راه‌حل‌های آماده‌ای را برای وظایف رایج یادگیری ماشین مانند تشخیص شیء، طبقه‌بندی متن و استنتاج LLM ارائه می‌دهد.

یکی از چارچوب‌های هوش مصنوعی لبه‌ای زیر را انتخاب کنید:

  • LiteRT : یک محیط اجرایی انعطاف‌پذیر و قابل تنظیم که می‌تواند طیف وسیعی از مدل‌ها را اجرا کند. یک مدل برای مورد استفاده خود انتخاب کنید، آن را به فرمت LiteRT تبدیل کنید (در صورت لزوم) و آن را روی دستگاه اجرا کنید. اگر قصد استفاده از LiteRT را دارید، به خواندن ادامه دهید.
  • وظایف MediaPipe : راهکارهای آماده به کار با مدل‌های پیش‌فرض که امکان سفارشی‌سازی را فراهم می‌کنند. وظیفه‌ای را که مشکل هوش مصنوعی/یادگیری ماشین شما را حل می‌کند انتخاب کنید و آن را روی چندین پلتفرم پیاده‌سازی کنید. اگر قصد استفاده از وظایف MediaPipe را دارید، به مستندات وظایف MediaPipe مراجعه کنید.

۲. یک مدل انتخاب کنید

یک مدل LiteRT در یک فرمت قابل حمل کارآمد به نام FlatBuffers نمایش داده می‌شود که از پسوند فایل .tflite استفاده می‌کند.

شما می‌توانید از یک مدل LiteRT به روش‌های زیر استفاده کنید:

  • استفاده از یک مدل LiteRT موجود: ساده‌ترین روش، استفاده از یک مدل LiteRT است که از قبل با فرمت .tflite وجود دارد. این مدل‌ها نیازی به هیچ مرحله تبدیل اضافی ندارند. می‌توانید مدل‌های LiteRT را در Kaggle Models پیدا کنید.

  • تبدیل یک مدل به مدل LiteRT: می‌توانید از مبدل PyTorch یا مبدل TensorFlow برای تبدیل مدل‌ها به فرمت FlatBuffers ( .tflite ) و اجرای آنها در LiteRT استفاده کنید. برای شروع، می‌توانید مدل‌ها را در سایت‌های زیر پیدا کنید:

یک مدل LiteRT می‌تواند به صورت اختیاری شامل فراداده‌هایی باشد که شامل توضیحات مدل قابل خواندن توسط انسان و داده‌های قابل خواندن توسط ماشین برای تولید خودکار خطوط لوله پیش و پس از پردازش در طول استنتاج روی دستگاه هستند. برای جزئیات بیشتر به افزودن فراداده مراجعه کنید.

۳. مدل را در برنامه خود ادغام کنید

شما می‌توانید مدل‌های LiteRT خود را برای اجرای استنتاج‌ها به طور کامل روی دستگاه، در دستگاه‌های وب، تعبیه‌شده و تلفن همراه پیاده‌سازی کنید. LiteRT شامل APIهایی برای پایتون ، جاوا و کاتلین برای اندروید، سوئیفت برای iOS و C++ برای میکرودستگاه‌ها است.

برای پیاده‌سازی یک مدل LiteRT در پلتفرم مورد نظر خود، از راهنماهای زیر استفاده کنید:

  • اجرا روی اندروید : اجرای مدل‌ها روی دستگاه‌های اندروید با استفاده از APIهای جاوا/کاتلین.
  • اجرا روی iOS : اجرای مدل‌ها روی دستگاه‌های iOS با استفاده از APIهای Swift.
  • اجرا روی میکرو : اجرای مدل‌ها روی دستگاه‌های تعبیه‌شده با استفاده از APIهای C++.

در دستگاه‌های اندروید و iOS، می‌توانید با استفاده از شتاب‌دهنده سخت‌افزاری، عملکرد را بهبود بخشید. در هر دو پلتفرم می‌توانید از نماینده GPU و در iOS از نماینده Core ML استفاده کنید. برای افزودن پشتیبانی از شتاب‌دهنده‌های سخت‌افزاری جدید، می‌توانید نماینده خود را تعریف کنید .

شما می‌توانید استنتاج را به روش‌های زیر بر اساس نوع مدل اجرا کنید:

  • مدل‌های بدون فراداده : از رابط برنامه‌نویسی کاربردی مفسر LiteRT استفاده می‌کنند. این رابط در پلتفرم‌ها و زبان‌های مختلفی مانند جاوا، سوئیفت، سی‌پلاس‌پلاس، آبجکتیو-سی و پایتون پشتیبانی می‌شود.

  • مدل‌هایی با فراداده : شما می‌توانید با استفاده از کتابخانه پشتیبانی LiteRT، خطوط لوله استنتاج سفارشی بسازید.

مهاجرت از TF Lite

برنامه‌هایی که از کتابخانه‌های TF Lite استفاده می‌کنند، به کار خود ادامه خواهند داد، اما تمام توسعه‌ها و به‌روزرسانی‌های فعال جدید فقط در بسته‌های LiteRT گنجانده خواهند شد. APIهای LiteRT شامل نام متدهای مشابه APIهای TF Lite هستند، بنابراین مهاجرت به LiteRT نیازی به تغییرات جزئی در کد ندارد.

برای اطلاعات بیشتر، به راهنمای مهاجرت مراجعه کنید.

مراحل بعدی

کاربران جدید باید با راهنمای سریع LiteRT شروع کنند. برای اطلاعات بیشتر، به بخش‌های زیر مراجعه کنید:

تبدیل مدل

راهنماهای پلتفرم