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

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

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

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

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

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

  • پشتیبانی از زبان های متنوع : شامل SDK برای جاوا/کوتلین، سوئیفت، Objective-C، C++ و پایتون است.

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

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

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

1. مناسب ترین راه حل برای مشکل ML را شناسایی کنید

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

یکی از چارچوب های AI Edge زیر را انتخاب کنید:

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

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

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

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

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

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

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

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

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

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

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

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

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

  • مدل‌های بدون ابرداده : از LiteRT Interpreter API استفاده کنید. پشتیبانی از چندین پلتفرم و زبان مانند جاوا، سوئیفت، C++، Objective-C و Python.

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

مهاجرت از LiteRT

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

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

مراحل بعدی

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

تبدیل مدل

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