این راهنما برای کمک به شما در ادغام راه حلهای هوش مصنوعی و یادگیری ماشینی (AI/ML) Google در برنامههای خود طراحی شده است. این راهنما به شما کمک میکند تا راهحلهای مختلف هوش مصنوعی و یادگیری ماشینی موجود را پیمایش کنید و بهترین گزینه را انتخاب کنید که با نیازهای شما مطابقت دارد. هدف این سند این است که به شما کمک کند تا با تمرکز بر نیازها و موارد استفاده، تعیین کنید که از کدام ابزار و چرا استفاده کنید.
برای کمک به شما در انتخاب مناسب ترین راه حل AI/ML برای نیازهای خاص خود، این سند شامل راهنمای راه حل ها می باشد . با پاسخ دادن به یک سری سوالات در مورد اهداف و محدودیت های پروژه شما، راهنما شما را به سمت مناسب ترین ابزارها و فناوری ها هدایت می کند.
این راهنما به شما کمک می کند تا بهترین راه حل هوش مصنوعی را برای برنامه خود انتخاب کنید. این عوامل را در نظر بگیرید: نوع داده (متن، تصاویر، صدا، ویدئو)، پیچیدگی کار (خلاصه ساده به کارهای پیچیده که نیاز به دانش تخصصی دارند)، و اندازه داده (ورودی های کوتاه در مقابل اسناد بزرگ). این به شما کمک می کند بین استفاده از Gemini Nano در دستگاه خود یا هوش مصنوعی مبتنی بر ابر Firebase (Gemini Flash، Gemini Pro یا Imagen) تصمیم بگیرید.
از قدرت استنتاج روی دستگاه استفاده کنید
وقتی ویژگیهای هوش مصنوعی و ML را به برنامه Android خود اضافه میکنید، میتوانید راههای مختلفی را برای ارائه آنها انتخاب کنید - چه در دستگاه یا با استفاده از ابر.
راهحلهای روی دستگاه مانند Gemini Nano نتایجی را بدون هزینه اضافی ارائه میدهند، حریم خصوصی کاربر را بهبود میبخشند و عملکرد آفلاین قابلاعتمادی را ارائه میکنند زیرا دادههای ورودی به صورت محلی پردازش میشوند. این مزایا می تواند برای موارد استفاده خاص، مانند خلاصه سازی پیام، اولویت قرار دادن دستگاه در هنگام انتخاب راه حل های مناسب، حیاتی باشد.
Gemini Nano به شما امکان می دهد استنتاج را مستقیماً بر روی یک دستگاه مجهز به اندروید اجرا کنید. اگر با متن یا تصاویر کار می کنید، با APIهای GenAI ML Kit برای راه حل های خارج از جعبه شروع کنید. APIهای ML Kit GenAI توسط Gemini Nano پشتیبانی میشوند و برای کارهای خاص روی دستگاه بهخوبی تنظیم شدهاند. API های GenAI ML Kit به دلیل رابط سطح بالاتر و مقیاس پذیری، مسیری ایده آل برای تولید برنامه های شما هستند. این APIها به شما امکان می دهند موارد استفاده را برای خلاصه کردن، تصحیح و بازنویسی متن و همچنین تولید توضیحات تصویر پیاده سازی کنید.
برای فراتر رفتن از موارد استفاده اساسی ارائه شده توسط ML Kit GenAI APIها، Gemini Nano Experimental Access را در نظر بگیرید. Gemini Nano Experimental Access به شما دسترسی مستقیم بیشتری به درخواست سفارشی با Gemini Nano می دهد.
برای کارهای سنتی یادگیری ماشینی، شما این قابلیت را دارید که مدل های سفارشی خود را پیاده سازی کنید. ما ابزارهای قوی مانند ML Kit ، MediaPipe ، LiteRT ، و ویژگیهای تحویل Google Play را برای سادهسازی فرآیند توسعه شما ارائه میکنیم.
برای برنامههایی که نیاز به راهحلهای بسیار تخصصی دارند، میتوانید از مدل سفارشی خود، مانند Gemma یا مدل دیگری که متناسب با مورد خاص شما است، استفاده کنید. مدل خود را مستقیماً روی دستگاه کاربر با LiteRT اجرا کنید، که معماری های مدل از پیش طراحی شده را برای عملکرد بهینه ارائه می دهد.
همچنین میتوانید با استفاده از مدلهای روی دستگاه و ابر، ساخت یک راهحل هیبریدی را در نظر بگیرید.
برنامههای تلفن همراه معمولاً از مدلهای محلی برای دادههای متنی کوچک، مانند گفتگوهای چت یا مقالات وبلاگ استفاده میکنند. با این حال، برای منابع داده بزرگتر (مانند PDF) یا زمانی که دانش بیشتری مورد نیاز است، ممکن است یک راه حل مبتنی بر ابر با مدل های قدرتمندتر Gemini ضروری باشد.
مدل های پیشرفته Gemini را ادغام کنید
توسعه دهندگان اندروید می توانند با استفاده از Firebase AI Logic SDK ، قابلیت های پیشرفته هوش مصنوعی مولد گوگل، از جمله مدل های قدرتمند Gemini Pro، Gemini Flash و Imagen را در برنامه های خود ادغام کنند. این SDK برای نیازهای داده های بزرگتر طراحی شده است و با امکان دسترسی به این مدل های هوش مصنوعی چندوجهی با کارایی بالا، قابلیت ها و سازگاری گسترده ای را ارائه می دهد.
با Firebase AI Logic SDK، توسعهدهندگان میتوانند با کمترین تلاش با مدلهای هوش مصنوعی گوگل تماس بگیرند. این مدلها، مانند Gemini Pro و Gemini Flash، استنتاج را در فضای ابری اجرا میکنند و برنامههای اندروید را برای پردازش ورودیهای مختلف از جمله تصویر، صدا، ویدئو و متن قدرت میدهند. Gemini Pro در استدلال بر روی مشکلات پیچیده و تجزیه و تحلیل داده های گسترده برتری دارد، در حالی که سری Gemini Flash سرعت فوق العاده و یک پنجره زمینه به اندازه کافی بزرگ برای اکثر وظایف ارائه می دهد.
زمان استفاده از یادگیری ماشین سنتی
در حالی که هوش مصنوعی مولد برای ایجاد و ویرایش محتوا مانند متن، تصاویر و کد مفید است، بسیاری از مشکلات دنیای واقعی با استفاده از تکنیکهای سنتی یادگیری ماشین (ML) بهتر حل میشوند. این روشهای تثبیتشده در کارهایی که شامل پیشبینی، طبقهبندی، تشخیص و درک الگوهای موجود در دادههای موجود است، غالباً با کارایی بیشتر، هزینه محاسباتی کمتر و پیادهسازی سادهتر از مدلهای تولیدی، برتری دارند.
چارچوبهای سنتی ML راهحلهای قوی، بهینهسازی و اغلب کاربردیتر را برای برنامههایی ارائه میدهند که بر تجزیه و تحلیل ورودی، شناسایی ویژگیها، یا پیشبینی بر اساس الگوهای آموخته شده متمرکز هستند – به جای تولید خروجی کاملاً جدید. ابزارهایی مانند کیت ML، LiteRT و MediaPipe گوگل قابلیتهای قدرتمندی را ارائه میکنند که برای این موارد استفاده غیرمولد، بهویژه در محیطهای موبایل و محاسبات لبهای، طراحی شده است.
ادغام یادگیری ماشین خود را با کیت ML شروع کنید
ML Kit راهحلهای بهینهسازی شده برای موبایل را برای کارهای رایج یادگیری ماشین، بدون نیاز به تخصص قبلی در ML ارائه میکند. این کیت توسعه نرم افزاری تلفن همراه با کاربری آسان، تخصص ML Google را مستقیماً به برنامه های Android و iOS شما می آورد و به شما امکان می دهد به جای آموزش مدل و بهینه سازی، بر توسعه ویژگی ها تمرکز کنید. ML Kit APIهای از پیش ساخته شده و مدلهای آماده برای استفاده را برای ویژگیهایی مانند اسکن بارکد، تشخیص متن (OCR)، تشخیص چهره، برچسبگذاری تصویر، تشخیص و ردیابی شی، شناسایی زبان، و پاسخ هوشمند ارائه میکند.
این مدلها معمولاً برای اجرای روی دستگاه بهینهسازی میشوند، از تأخیر کم، عملکرد آفلاین و افزایش حریم خصوصی کاربر اطمینان میدهند زیرا دادهها اغلب روی دستگاه باقی میمانند. ML Kit را انتخاب کنید تا به سرعت ویژگیهای تثبیت شده ML را به برنامه تلفن همراه خود بدون نیاز به آموزش مدلها یا نیاز به خروجی تولیدی اضافه کنید. این برای بهبود کارآمد برنامههایی با قابلیتهای «هوشمند» با استفاده از مدلهای بهینهشده Google یا با استقرار مدلهای سفارشی TensorFlow Lite ایدهآل است.
با راهنماها و مستندات جامع ما در سایت توسعه دهنده ML Kit شروع کنید.
استقرار سفارشی ML با LiteRT
برای کنترل بیشتر یا استقرار مدلهای ML خود، از پشته ML سفارشی ساخته شده بر روی خدمات LiteRT و Google Play استفاده کنید. این پشته ملزومات به کارگیری ویژگی های ML با کارایی بالا را فراهم می کند. LiteRT یک جعبه ابزار است که برای اجرای مدلهای TensorFlow به طور کارآمد در دستگاههای تلفن همراه، جاسازیشده و لبهای با محدودیت منابع بهینه شده است و به شما این امکان را میدهد تا مدلهای بسیار کوچکتر و سریعتری را اجرا کنید که حافظه، انرژی و ذخیرهسازی کمتری مصرف میکنند. زمان اجرا LiteRT برای شتابدهندههای سختافزاری مختلف (GPU، DSP، NPU) در دستگاههای لبه بسیار بهینه شده است و استنتاج با تأخیر کم را امکانپذیر میسازد.
زمانی که نیاز دارید مدلهای آموزشدیده ML (معمولاً برای طبقهبندی، رگرسیون یا تشخیص) را در دستگاههایی با توان محاسباتی یا عمر باتری محدود، مانند تلفنهای هوشمند، دستگاههای IoT یا میکروکنترلرها بهطور کارآمد اجرا کنید، LiteRT را انتخاب کنید. این راهحل ترجیحی برای استقرار مدلهای پیشبینی سفارشی یا استاندارد در لبههایی است که سرعت و حفظ منابع اهمیت بالایی دارند.
درباره استقرار ML با LiteRT بیشتر بیاموزید.
با MediaPipe درک زمان واقعی را در برنامه های خود ایجاد کنید
MediaPipe راهحلهای یادگیری ماشینی منبع باز، کراس پلتفرم و قابل تنظیم را ارائه میکند که برای رسانههای زنده و جریانی طراحی شدهاند. از ابزارهای بهینه سازی شده و از پیش ساخته شده برای کارهای پیچیده مانند ردیابی دست، تخمین ژست، تشخیص مش چهره و تشخیص اشیا بهره مند شوید که همگی امکان تعامل با کارایی بالا و در زمان واقعی را حتی در دستگاه های تلفن همراه فراهم می کنند.
خطوط لوله مبتنی بر نمودار MediaPipe بسیار قابل تنظیم هستند و به شما این امکان را میدهند که راهحلهایی را برای برنامههای Android، iOS، وب، دسکتاپ و برنامههای بکاند طراحی کنید. زمانی که برنامه شما نیاز به درک و واکنش فوری به دادههای حسگر زنده، بهویژه جریانهای ویدئویی دارد، MediaPipe را برای مواردی مانند تشخیص ژست، جلوههای AR، ردیابی تناسب اندام یا کنترل آواتار – که همگی بر تجزیه و تحلیل و تفسیر ورودی متمرکز هستند، انتخاب کنید.
راه حل ها را کاوش کنید و با MediaPipe شروع به ساختن کنید.
روشی را انتخاب کنید: روی دستگاه یا ابر
هنگام ادغام ویژگیهای AI/ML در برنامه Android خود، یک تصمیم اولیه مهم این است که آیا پردازش را مستقیماً روی دستگاه کاربر انجام دهید یا در فضای ابری. ابزارهایی مانند ML Kit، Gemini Nano و TensorFlow Lite قابلیتهای روی دستگاه را فعال میکنند، در حالی که APIهای ابری Gemini با Firebase AI Logic میتوانند پردازش قدرتمند مبتنی بر ابر را ارائه دهند. انتخاب درست به عوامل مختلفی بستگی دارد که مخصوص مورد استفاده شما و نیازهای کاربر است.
جنبه های زیر را برای هدایت تصمیم خود در نظر بگیرید:
- قابلیت اتصال و عملکرد آفلاین : اگر برنامه شما نیاز به عملکرد قابل اعتماد بدون اتصال به اینترنت دارد، راه حل های روی دستگاه مانند Gemini Nano ایده آل هستند. پردازش مبتنی بر ابر طبیعتاً نیازمند دسترسی به شبکه است.
- حریم خصوصی داده ها : برای موارد استفاده که در آن داده های کاربر به دلایل حفظ حریم خصوصی باید در دستگاه باقی بماند، پردازش روی دستگاه با حفظ محلی اطلاعات حساس مزیت مشخصی را ارائه می دهد.
- قابلیتهای مدل و پیچیدگی کار : مدلهای مبتنی بر ابر اغلب بهطور قابلتوجهی بزرگتر، قویتر و بهطور مکرر بهروزرسانی میشوند، و آنها را برای کارهای بسیار پیچیده هوش مصنوعی یا هنگام پردازش ورودیهای بزرگتر که کیفیت خروجی بالاتر و قابلیتهای گسترده در اولویت هستند، مناسب میسازد. کارهای ساده تر ممکن است توسط مدل های روی دستگاه به خوبی انجام شود.
- ملاحظات هزینه : APIهای ابری معمولاً شامل قیمتگذاری مبتنی بر استفاده میشوند، به این معنی که هزینهها میتوانند با تعداد استنباطها یا مقدار دادههای پردازش شده مقیاس شوند. استنتاج روی دستگاه، در حالی که عموماً هزینههای مستقیم در هر بار استفاده را ندارد، هزینههای توسعه را متحمل میشود و میتواند بر منابع دستگاه مانند عمر باتری و عملکرد کلی تأثیر بگذارد.
- منابع دستگاه : مدلهای روی دستگاه، فضای ذخیرهسازی دستگاه کاربر را مصرف میکنند. همچنین مهم است که از سازگاری دستگاه های مدل های خاص روی دستگاه مانند Gemini Nano آگاه باشید تا اطمینان حاصل کنید که مخاطبان هدف شما می توانند از ویژگی ها استفاده کنند.
- تنظیم دقیق و سفارشیسازی : اگر به توانایی تنظیم دقیق مدلها برای مورد خاص خود نیاز دارید، راهحلهای مبتنی بر ابر عموماً انعطافپذیری بیشتر و گزینههای گستردهتری برای سفارشیسازی ارائه میدهند.
- سازگاری بین پلتفرمی : اگر ویژگیهای هوش مصنوعی ثابت در چندین پلتفرم، از جمله iOS، حیاتی هستند، توجه داشته باشید که برخی از راهحلهای روی دستگاه مانند Gemini Nano، ممکن است هنوز در همه سیستمعاملها در دسترس نباشند.
با در نظر گرفتن دقیق نیازمندیهای مورد استفاده و گزینههای موجود، میتوانید راهحل عالی AI/ML را برای بهبود برنامه اندروید خود و ارائه تجربیات هوشمند و شخصی به کاربران خود بیابید.
راهنمای راه حل های AI/ML
این راهنمای راهحلها میتواند به شما در شناسایی ابزارهای توسعهدهنده مناسب برای ادغام فناوریهای AI/ML در پروژههای Android خود کمک کند.
هدف اصلی ویژگی هوش مصنوعی چیست؟
- الف) تولید محتوای جدید (متن، توضیحات تصویر)، یا انجام پردازش ساده متن (خلاصه، تصحیح، یا بازنویسی متن)؟ → به Generative AI بروید
- ب) تجزیه و تحلیل دادهها/ورودیهای موجود برای پیشبینی، طبقهبندی، تشخیص، درک الگوها، یا پردازش جریانهای همزمان (مانند ویدیو/صوت)؟ → به ML و ادراک سنتی بروید
ML سنتی و ادراک
شما باید ورودی ها را تجزیه و تحلیل کنید، ویژگی ها را شناسایی کنید یا بر اساس الگوهای آموخته شده پیش بینی کنید، نه اینکه خروجی کاملاً جدیدی تولید کنید.
چه وظیفه خاصی را انجام می دهید؟
- الف) آیا به ادغام سریع ویژگی های از پیش ساخته شده و رایج ML موبایل نیاز دارید؟ (به عنوان مثال، اسکن بارکد، تشخیص متن (OCR)، تشخیص چهره، برچسبگذاری تصویر، تشخیص و ردیابی شی، شناسه زبان، پاسخ هوشمند اولیه)
- → استفاده: کیت ML (API های سنتی)
- چرا : ساده ترین ادغام برای وظایف ML ثابت تلفن همراه، که اغلب برای استفاده در دستگاه بهینه شده است (تأخیر کم، آفلاین، حریم خصوصی).
- ب) آیا نیاز به پردازش دادههای جریان بیدرنگ (مانند ویدیو یا صدا) برای کارهای ادراک دارید؟ (به عنوان مثال، ردیابی دست، تخمین ژست، مش چهره، تشخیص اشیاء در زمان واقعی و تقسیم بندی در ویدئو)
- → استفاده: MediaPipe
- چرا : چارچوب تخصصی برای خطوط لوله ادراک با کارایی بالا و زمان واقعی در پلت فرم های مختلف.
- ج) آیا نیاز به اجرای کارآمد مدل ML سفارشی آموزش داده شده خود (به عنوان مثال، برای طبقه بندی، رگرسیون، تشخیص) روی دستگاه، اولویت بندی عملکرد و استفاده کم از منابع دارید؟
- → استفاده: LiteRT (TensorFlow Lite Runtime)
- چرا : زمان اجرا بهینه شده برای استقرار مدل های سفارشی به طور موثر در دستگاه های تلفن همراه و لبه (اندازه کوچک، استنتاج سریع، شتاب سخت افزاری).
- د) آیا نیاز به آموزش مدل ML سفارشی خود برای یک کار خاص دارید؟
- → استفاده: LiteRT (TensorFlow Lite Runtime) + آموزش مدل سفارشی
- چرا : ابزارهایی را برای آموزش و استقرار مدلهای سفارشی، بهینهسازی شده برای دستگاههای تلفن همراه و لبه ارائه میکند.
- E) به طبقه بندی محتوای پیشرفته، تجزیه و تحلیل احساسات یا ترجمه بسیاری از زبان ها با تفاوت های ظریف نیاز دارید؟
- در نظر بگیرید که آیا مدلهای سنتی ML (به طور بالقوه با استفاده از LiteRT یا ابر مستقر میشوند) مناسب هستند، یا اگر NLU پیشرفته به مدلهای تولیدی نیاز دارد (به Start برگردید، A را انتخاب کنید). برای طبقه بندی، احساسات یا ترجمه مبتنی بر ابر:
- ← استفاده: راهحلهای مبتنی بر ابر (به عنوان مثال، Google Cloud Natural Language API ، Google Cloud Translation API ، که احتمالاً با استفاده از یک backend سفارشی یا Vertex AI قابل دسترسی است) . (اگر آفلاین یا حریم خصوصی کلیدی است اولویت کمتری نسبت به گزینه های روی دستگاه دارد).
- چرا : راهحلهای Cloud مدلهای قدرتمند و پشتیبانی گسترده از زبان را ارائه میکنند، اما نیاز به اتصال دارند و ممکن است هزینههایی را متحمل شوند.
هوش مصنوعی مولد
شما باید محتوای جدید ایجاد کنید، خلاصه کنید، بازنویسی کنید، یا وظایف پیچیده درک یا تعامل را انجام دهید.
آیا به هوش مصنوعی نیاز دارید که به صورت آفلاین عمل کند، به حداکثر حریم خصوصی داده ها (نگهداری داده های کاربر در دستگاه) نیاز دارید یا می خواهید از هزینه های استنتاج ابری جلوگیری کنید؟
- الف) بله ، آفلاین، حداکثر حریم خصوصی یا بدون هزینه ابری بسیار مهم است.
- ← به هوش مصنوعی مولد روی دستگاه بروید
- ب) خیر ، اتصال در دسترس و قابل قبول است، قابلیتهای ابری و مقیاسپذیری مهمتر هستند یا ویژگیهای خاصی نیاز به ابر دارند.
- ← به Cloud Generative AI بروید
هوش مصنوعی مولد روی دستگاه (با استفاده از Gemini Nano)
هشدارها : به دستگاههای Android سازگار، پشتیبانی محدود iOS، محدودیتهای رمز خاص (1024 prompt، 4096 context) نیاز دارد، مدلها نسبت به همتایان ابری قدرتمندتر هستند.
آیا مورد استفاده شما به طور خاص با وظایف ساده ارائه شده توسط APIهای ML Kit GenAI مطابقت دارد؟ (خلاصه کردن متن، تصحیح متن، بازنویسی متن، تولید توضیحات تصویر) و آیا محدودیت های نشانه کافی است؟
- الف) بله :
- ← استفاده: ML Kit GenAI API (طراحی شده توسط Gemini Nano)
- چرا : ساده ترین راه برای ادغام وظایف خاص و متداول تولیدی روی دستگاه، راه حل با بالاترین اولویت روی دستگاه.
- ب) خیر (شما به دستورات یا وظایف انعطافپذیرتر فراتر از APIهای خاص ML Kit GenAI نیاز دارید، اما همچنان میخواهید در داخل دستگاه در محدوده قابلیتهای نانو اجرا شود):
- → استفاده: Gemini Nano Experimental Access
- چرا : با رعایت محدودیتهای Nano، قابلیتهای باز را در دستگاه برای موارد استفاده فراتر از APIهای ساختار یافته ML Kit GenAI ارائه میکند.
هوش مصنوعی مولد ابر
از مدلهای قدرتمندتر استفاده میکند، نیاز به اتصال دارد، معمولاً شامل هزینههای استنباط میشود، دسترسی وسیعتری به دستگاه ارائه میدهد و سازگاری بین پلتفرمی (اندروید و iOS) آسانتر است.
اولویت شما چیست: سهولت ادغام در Firebase یا حداکثر انعطاف/کنترل؟
- الف) ادغام ساده تر، تجربه API مدیریت شده را ترجیح می دهید و احتمالاً از Firebase قبلاً استفاده می کنید؟
- ← استفاده: Firebase AI Logic SDK ← رفتن به Firebase AI Logic
- ب) به حداکثر انعطافپذیری، دسترسی به گستردهترین طیف مدلها (از جمله شخص ثالث/سفارشی)، تنظیمات دقیق نیاز دارید، و آیا مایلید یکپارچهسازی باطن خود (پیچیدهتر) را مدیریت کنید؟
- ← استفاده از: Gemini API با یک Cloud Backend سفارشی (با استفاده از Google Cloud Platform)
- چرا : بیشترین کنترل، گسترده ترین دسترسی به مدل و گزینه های آموزشی سفارشی را ارائه می دهد اما به تلاش قابل توجهی برای توسعه باطن نیاز دارد. مناسب برای نیازهای پیچیده، در مقیاس بزرگ یا بسیار سفارشی.
( شما Firebase AI Logic SDK را انتخاب کردید) به چه نوع کار و نمایه عملکرد تولیدی نیاز دارید؟
- الف) به تعادلی بین عملکرد و هزینه نیاز دارید، مناسب برای برنامههای تولید متن عمومی، خلاصهسازی یا چت که در آن سرعت مهم است؟
- → استفاده: Firebase AI Logic SDK با فلش Gemini
- چرا : برای سرعت و کارایی در محیط مدیریت شده Vertex AI بهینه شده است.
- ب) به کیفیت و قابلیت بالاتری برای تولید متن پیچیده، استدلال، NLU پیشرفته یا دنبال کردن دستورالعمل نیاز دارید؟
- → استفاده: Firebase AI Logic SDK با Gemini Pro
- چرا : مدل متنی قدرتمندتر برای کارهای سخت، قابل دسترسی از طریق Firebase.
- ج) آیا نیاز به تولید تصویر پیچیده یا درک یا دستکاری تصویر پیشرفته بر اساس پیام های متنی دارید؟
- ← استفاده: Firebase AI Logic SDK با Imagen 3
- چرا : پیشرفته ترین مدل تولید تصویر با استفاده از محیط Firebase مدیریت شده قابل دسترسی است.