איך למצוא את הפתרון המתאים לאפליקציה שלכם בתחום ה-AI/ML

המדריך הזה נועד לעזור לכם לשלב את הפתרונות של Google לבינה מלאכותית גנרטיבית ולמידת מכונה (AI/ML) באפליקציות שלכם. המדריך הזה מספק הנחיות שיעזרו לכם להבין את הפתרונות השונים של בינה מלאכותית ולמידת מכונה שזמינים לכם, ולבחור את הפתרון שהכי מתאים לצרכים שלכם. המטרה של המסמך הזה היא לעזור לכם להחליט באיזה כלי להשתמש ולמה, על ידי התמקדות בצרכים שלכם ובתרחישים לדוגמה.

כדי לעזור לכם לבחור את פתרון ה-AI/ML המתאים ביותר לדרישות הספציפיות שלכם, במסמך הזה יש מדריך פתרונות. המדריך כולל סדרה של שאלות על המטרות והמגבלות של הפרויקט, והתשובות עוזרות לכם לבחור את הכלים והטכנולוגיות המתאימים ביותר.

המדריך הזה יעזור לכם לבחור את פתרון ה-AI הטוב ביותר לאפליקציה שלכם. כדאי לקחת בחשבון את הגורמים הבאים: סוג הנתונים (טקסט, תמונות, אודיו, וידאו), מורכבות המשימה (סיכום פשוט לעומת משימות מורכבות שדורשות ידע מיוחד) וגודל הנתונים (קלט קצר לעומת מסמכים גדולים). כך תוכלו להחליט אם להשתמש ב-Gemini Nano במכשיר או ב-AI מבוסס-הענן של Firebase (Gemini Flash או Gemini Pro).

תרשים זרימה לקבלת החלטות לגבי תרחישי שימוש ב-AI גנרטיבי. הקריטריונים כוללים את אופן השימוש (טקסט, תמונה לעומת אודיו, סרטון, יצירת תמונה), המורכבות (סיכום, כתיבה מחדש לעומת ידע בתחום) וחלון ההקשר (קלט/פלט קצר לעומת מסמכים/מדיה נרחבים), מה שמוביל ל-AI גנרטיבי במכשיר (Gemini Nano) או ל-Firebase AI Logic (Gemini Flash,‏ Pro).
איור 1: האיור הזה מייצג מדריך פתרונות ברמה גבוהה שיעזור לכם למצוא את פתרון ה-AI/ML המתאים לאפליקציית Android שלכם. כדי לקבל פירוט מפורט יותר של אפשרויות ה-AI וה-ML, אפשר לעיין במדריך הפתרונות שמופיע בהמשך המסמך.

מנצלים את הכוח של הסקת מסקנות במכשיר

כשמוסיפים תכונות מבוססות-AI ו-ML לאפליקציית Android, אפשר לבחור דרכים שונות להפעלת התכונות – במכשיר או באמצעות הענן.

פתרונות במכשיר כמו Gemini Nano מספקים תוצאות ללא עלות נוספת, משפרים את פרטיות המשתמשים ומספקים פונקציונליות אמינה במצב אופליין, כי נתוני הקלט מעובדים באופן מקומי. היתרונות האלה יכולים להיות קריטיים בתרחישי שימוש מסוימים, כמו סיכום הודעות, ולכן חשוב לתת עדיפות לפתרונות במכשיר כשבוחרים את הפתרונות המתאימים.

עם Gemini Nano אפשר להריץ הסקה ישירות במכשיר מבוסס-Android. אם אתם עובדים עם טקסט, תמונות או אודיו, כדאי להתחיל עם ממשקי ה-API של GenAI ב-ML Kit כדי לקבל פתרונות מוכנים מראש. ממשקי ה-API של AI גנרטיבי ב-ML Kit מבוססים על Gemini Nano, ומשתמשים ב-AICore כשירות המערכת הבסיסי. הם מותאמים במיוחד למשימות ספציפיות במכשיר. ממשקי ה-API של GenAI ב-ML Kit הם דרך אידיאלית להעביר את האפליקציות שלכם לסביבת הייצור, כי הם כוללים ממשק ברמה גבוהה יותר וניתנים להרחבה. ממשקי ה-API האלה מאפשרים לכם לשלוח בקשות בשפה טבעית עם קלט של טקסט ותמונות, וכך להשתמש בהם במגוון תרחישים כמו הבנת תמונות, תרגומים קצרים, סיכומים מודרכים ועוד.

למשימות של למידת מכונה מסורתית, יש לכם גמישות להטמיע מודלים מותאמים אישית משלכם. אנחנו מספקים כלים חזקים כמו ML Kit,‏ MediaPipe,‏ LiteRT ותכונות של Google Play כדי לייעל את תהליך הפיתוח.

באפליקציות שדורשות פתרונות מאוד מיוחדים, אפשר להשתמש במודל מותאם אישית משלכם, כמו Gemma או מודל אחר שמותאם לתרחיש השימוש הספציפי שלכם. מריצים את המודל ישירות במכשיר של המשתמש באמצעות LiteRT, שמספק ארכיטקטורות של מודלים שתוכננו מראש לביצועים אופטימליים.

אפשר גם לשקול פיתוח פתרון היברידי שמבוסס על מודלים במכשיר וגם על מודלים בענן.

אפליקציות לנייד משתמשות בדרך כלל במודלים מקומיים לנתוני טקסט קטנים, כמו שיחות בצ'אט או מאמרי בלוג. עם זאת, כשמדובר במקורות נתונים גדולים יותר (כמו קובצי PDF) או כשנדרש ידע נוסף, יכול להיות שיהיה צורך בפתרון מבוסס-ענן עם מודלים חזקים יותר של Gemini.

שילוב של מודלים מתקדמים של Gemini

מפתחי Android יכולים לשלב באפליקציות שלהם את היכולות המתקדמות של ה-AI הגנרטיבי של Google, כולל המודלים העוצמתיים Gemini Pro ו-Gemini Flash, באמצעות Firebase AI Logic SDK. ה-SDK הזה מיועד לצרכים של נתונים גדולים יותר, ומספק יכולות מורחבות וגמישות על ידי מתן גישה למודלים של AI רב-אופנתי עם ביצועים גבוהים.

בעזרת Firebase AI Logic SDK, מפתחים יכולים לבצע קריאות בצד הלקוח למודלים של AI של Google בלי להתאמץ. המודלים האלה, כמו Gemini Pro ו-Gemini Flash, מריצים הסקה בענן ומאפשרים לאפליקציות ל-Android לעבד מגוון קלטים, כולל תמונות, אודיו, סרטונים וטקסט. ‫Gemini Pro מצטיין בחשיבה רציונלית לגבי בעיות מורכבות ובניתוח נתונים נרחבים, בעוד שמודלי Gemini Flash מציעים מהירות גבוהה יותר וחלון ההקשר גדול מספיק לרוב המשימות.

מתי כדאי להשתמש בלמידת מכונה מסורתית

בינה מלאכותית גנרטיבית שימושית ליצירה ולעריכה של תוכן כמו טקסט, תמונות וקוד, אבל הרבה בעיות בעולם האמיתי נפתרות טוב יותר באמצעות טכניקות מסורתיות של למידת מכונה (ML). השיטות המוכחות האלה מצטיינות במשימות שקשורות לחיזוי, לסיווג, לזיהוי ולהבנת דפוסים בנתונים קיימים, ולרוב הן יעילות יותר, דורשות פחות עלויות חישוביות ופשוטות יותר ליישום ממודלים גנרטיביים.

מסגרות עבודה מסורתיות של ML מציעות פתרונות חזקים, מותאמים ולעתים קרובות פרקטיים יותר לאפליקציות שמתמקדות בניתוח קלט, בזיהוי תכונות או בביצוע תחזיות על סמך דפוסים שנלמדו – ולא ביצירת פלט חדש לחלוטין. כלים כמו ML Kit,‏ LiteRT ו-MediaPipe של Google מספקים יכולות עוצמתיות שמותאמות לתרחישי השימוש האלה שאינם גנרטיביים, במיוחד בסביבות של מחשוב נייד ומחשוב קצה.

איך מתחילים לשלב למידת מכונה באמצעות ML Kit

‫ML Kit מציע פתרונות מוכנים לייצור ומותאמים לנייד למשימות נפוצות של למידת מכונה, ללא צורך במומחיות קודמת בתחום. ערכת ה-SDK לנייד, שקל מאוד להשתמש בה, מאפשרת לכם להשתמש במומחיות של Google בתחום למידת המכונה ישירות באפליקציות ל-Android ול-iOS, כך שתוכלו להתמקד בפיתוח תכונות במקום באימון מודלים ובאופטימיזציה שלהם. ‫ML Kit מספק ממשקי API מוכנים מראש ומודלים מוכנים לשימוש לתכונות כמו סריקת ברקוד, זיהוי טקסט (OCR), זיהוי פנים, הוספת תוויות לתמונות, זיהוי ומעקב אחרי אובייקטים, זיהוי שפה ותשובה חכמה.

המודלים האלה בדרך כלל מותאמים לביצוע במכשיר, כדי להבטיח חביון נמוך, פונקציונליות אופליין ופרטיות משופרת של המשתמשים, כי הנתונים לרוב נשארים במכשיר. כדאי לבחור ב-ML Kit כדי להוסיף במהירות תכונות מבוססות למידת מכונה לאפליקציה לנייד, בלי לאמן מודלים או לדרוש פלט גנרטיבי. הוא אידיאלי לשיפור יעיל של אפליקציות עם יכולות 'חכמות' באמצעות מודלים שעברו אופטימיזציה של Google או באמצעות פריסה של מודלים מותאמים אישית של TensorFlow Lite.

כדי להתחיל, אפשר להיעזר במדריכים ובמסמכי התיעוד המקיפים שלנו באתר למפתחים של ML Kit.

פריסת ML בהתאמה אישית באמצעות LiteRT

כדי לקבל שליטה רבה יותר או כדי לפרוס מודלים משלכם של למידת מכונה, אתם יכולים להשתמש במערך מותאם אישית של למידת מכונה שמבוסס על LiteRT ועל Google Play Services. החבילה הזו מספקת את כל מה שצריך כדי להטמיע תכונות של ML עם ביצועים גבוהים. ‫LiteRT הוא ערכת כלים שעברה אופטימיזציה להרצת מודלים של TensorFlow ביעילות במכשירים ניידים, במכשירים מוטמעים ובמכשירי קצה עם מגבלות משאבים. כך תוכלו להריץ מודלים קטנים ומהירים יותר באופן משמעותי, שצורכים פחות זיכרון, חשמל ונפח אחסון. זמן הריצה של LiteRT מותאם במיוחד למאיצי חומרה שונים (GPU, ‏ DSP, ‏ NPU) במכשירי קצה, ומאפשר הסקת מסקנות עם זמן אחזור קצר.

כדאי לבחור ב-LiteRT כשצריך לפרוס ביעילות מודלים של ML שאומנו (בדרך כלל לסיווג, לרגרסיה או לזיהוי) במכשירים עם כוח מחשוב מוגבל או חיי סוללה מוגבלים, כמו סמארטפונים, מכשירי IoT או מיקרו-בקרים. זהו הפתרון המועדף לפריסת מודלים סטנדרטיים או מותאמים אישית של חיזוי בקצה הרשת, במקומות שבהם המהירות וחיסכון במשאבים הם בעלי חשיבות עליונה.

מידע נוסף על פריסת ML באמצעות LiteRT

הוספת תפיסה בזמן אמת לאפליקציות באמצעות MediaPipe

‫MediaPipe מספקת פתרונות ללמידת מכונה בקוד פתוח, שפועלים בכמה פלטפורמות וניתנים להתאמה אישית. הפתרונות האלה מיועדים למדיה בשידור חי ולסטרימינג של מדיה. ליהנות מכלים מובנים מראש שעברו אופטימיזציה למשימות מורכבות כמו מעקב ידיים, הערכת תנוחות, זיהוי רשת פנים וזיהוי אובייקטים, והכול מאפשר אינטראקציה בזמן אמת עם ביצועים גבוהים, גם במכשירים ניידים.

צינורות הנתונים מבוססי-הגרפים של MediaPipe ניתנים להתאמה אישית רבה, ומאפשרים לכם להתאים פתרונות לאפליקציות ל-Android, ל-iOS, לאינטרנט, למחשב ול-backend. כדאי לבחור ב-MediaPipe אם האפליקציה צריכה להבין ולהגיב באופן מיידי לנתוני חיישנים בזמן אמת, במיוחד לסטרימינג של סרטונים, לתרחישי שימוש כמו זיהוי תנועות, אפקטים של מציאות רבודה, מעקב אחר כושר או שליטה באווטאר – כל אלה מתמקדים בניתוח של קלט ובהסבר שלו.

אתם יכולים לעיין בפתרונות ולהתחיל לפתח באמצעות MediaPipe.

שילוב האפליקציה עם העוזר הדיגיטלי במכשיר

בעוד ששילוב AI מסורתי מתמקד ב'הוספת AI לאפליקציה', אפשר גם 'להוסיף את האפליקציה ל-AI'. כשאתם משלבים את הפונקציונליות של האפליקציה שלכם בתכונות AI של המערכת, אתם מאפשרים לעוזרים דיגיטליים ברמת המערכת (כמו Gemini) לגלות את היכולות של האפליקציה שלכם ולהפעיל אותן באופן אוטונומי. הדרך העיקרית לשילוב הזה היא באמצעות AppFunctions, שמאפשרת לאפליקציה שלכם להשתתף במערכת האקולוגית הרחבה יותר של AI ב-Android.

בחירת גישה

כשמשלבים AI כדי לשפר את אפליקציית Android, כדאי לשקול שלוש גישות עיקריות: ביצוע עיבוד במכשיר, שימוש במודלים מבוססי-ענן או הוספת הפונקציונליות של האפליקציה ל-AI ברמת המערכת. כלים כמו ML Kit,‏ Gemini Nano ו-LiteRT מאפשרים יכולות עיבוד במכשיר, בעוד שממשקי Gemini Cloud API עם Firebase AI Logic מספקים עיבוד עוצמתי מבוסס-ענן. ‫AppFunctions מייצג נתיב שלישי, שמאפשר לכם "להכניס את האפליקציה שלכם ל-AI" על ידי כך שתכונות האפליקציה יהיו זמינות למערכת באמצעות סוכן.

כשבוחרים את הגישה, כדאי להביא בחשבון את הגורמים הבאים:

פירוק לגורמים פתרונות במכשיר פתרונות בענן
קישוריות ופונקציונליות במצב אופליין אידיאלי לשימוש אופליין; פועל ללא חיבור לרשת. נדרש חיבור לרשת כדי לתקשר עם שרתים מרוחקים.
פרטיות נתונים מעבדת ומאחסנת מידע אישי רגיש באופן מקומי במכשיר. הנתונים מועברים לענן, ולכן צריך לבטוח באבטחה של הספק.
קלות הגילוי ופוטנציאל החשיפה שילוב ישיר במערכת ההפעלה (AppFunctions) מאפשר לעוזרים וירטואליים לגלות תכונות. הגילוי מוגבל בדרך כלל לממשק המשתמש הפנימי של האפליקציה או לשילובי API ספציפיים.
יכולות המודל אופטימיזציה לזמן אחזור נמוך ולמשימות ספציפיות ופחות אינטנסיביות. מודלים מתקדמים שיכולים להתמודד עם מורכבות גבוהה ועם קלט גדול.
שיקולי עלות אין חיובים ישירים לכל שימוש, המערכת משתמשת בחומרה הקיימת של המכשיר. בדרך כלל כולל תמחור לפי שימוש או עלויות מינוי שוטפות.
משאבים במכשיר האפליקציה משתמשת באחסון מקומי, בזיכרון RAM ובסוללה. ההשפעה המקומית מינימלית, והפעולות הכבדות מועברות לשרת.
כוונון עדין גמישות מוגבלת; מוגבלת על ידי יכולות החומרה המקומיות. גמישות רבה יותר להתאמה אישית נרחבת ולשיפורים בקנה מידה גדול.
עקביות בפלטפורמות שונות הזמינות עשויה להשתנות בהתאם למערכת ההפעלה ולתמיכה בחומרה. חוויה עקבית בכל פלטפורמה עם גישה לאינטרנט.

אם תבחנו בקפידה את הדרישות של תרחיש השימוש ואת האפשרויות הזמינות, תוכלו למצוא את הפתרון המושלם של AI/ML לשיפור אפליקציית Android ולספק למשתמשים חוויות חכמות ומותאמות אישית.


מדריך לפתרונות מבוססי-AI/ML

מדריך הפתרונות הזה יעזור לכם לזהות את כלי הפיתוח המתאימים לשילוב טכנולוגיות AI/ML בפרויקטים שלכם ב-Android.

מה המטרה העיקרית של תכונת ה-AI?

  • א) יצירת תוכן חדש (טקסט, תיאורי תמונות) או ביצוע עיבוד טקסט פשוט (סיכום, הגהה או שכתוב של טקסט)? → עוברים אל AI גנרטיבי
  • ב) ניתוח נתונים/קלט קיימים לצורך חיזוי, סיווג, זיהוי, הבנת תבניות או עיבוד של סטרימינג בזמן אמת (כמו וידאו/אודיו)?מעבר אל ML מסורתי ותפיסה
  • ג) שיפור הפונקציונליות של האפליקציה כדי לשלב אותה עם תכונות מבוססות-AI של המערכת (הוספת האפליקציה ל-AI)?איך משלבים את האפליקציה ב-AI

למידת מכונה מסורתית ותפיסה

אתם צריכים לנתח קלט, לזהות תכונות או לבצע חיזויים על סמך דפוסים שנלמדו, ולא ליצור פלט חדש לגמרי.

מהי המשימה הספציפית שאתה מבצע?

  • א) אתם צריכים לשלב במהירות תכונות נפוצות של ML לנייד שמוכנות מראש? (למשל: סריקת ברקודים, זיהוי טקסט (OCR), איתור פנים, תיוג תמונות, זיהוי אובייקטים ומעקב אחרי אובייקטים, זיהוי שפה, תשובה מהירה בסיסית)
    • → שימוש ב: ML Kit (ממשקי API מסורתיים)
    • למה: זהו השילוב הכי פשוט למשימות ML בנייד, והוא מותאם לשימוש במכשיר (חביון נמוך, לא מקוון, פרטיות).
  • ב) צריך לעבד נתוני סטרימינג בזמן אמת (כמו וידאו או אודיו) למשימות תפיסה? (למשל, מעקב ידיים, הערכת תנוחות, רשת פנים, זיהוי אובייקטים ופילוח בזמן אמת בסרטון)
    • → שימוש ב: MediaPipe
    • למה: מסגרת שמתמחה בצינורות עיבוד נתונים של תפיסה בזמן אמת עם ביצועים גבוהים בפלטפורמות שונות.
  • ג) אתם צריכים להפעיל ביעילות מודל ML בהתאמה אישית (למשל, לסיווג, לרגרסיה, לזיהוי) במכשיר, תוך מתן עדיפות לביצועים ולשימוש נמוך במשאבים?
    • → שימוש ב: LiteRT (TensorFlow Lite Runtime)
    • למה: זמן ריצה אופטימלי לפריסת מודלים מותאמים אישית ביעילות במכשירים ניידים ובמכשירי קצה (גודל קטן, הסקה מהירה, האצת חומרה).
  • ד) צריך לאמן מודל מותאם אישית של למידת מכונה לביצוע משימה ספציפית?
    • ← שימוש ב: LiteRT (TensorFlow Lite Runtime) + אימון מודל בהתאמה אישית
    • למה: מספק כלים לאימון ולפריסה של מודלים בהתאמה אישית, שעברו אופטימיזציה לניידים ולמכשירי קצה.
  • E) Need advanced content classification, sentiment analysis, or translation of many languages with high nuance?
    • כדאי לשקול אם מודלים מסורתיים של למידת מכונה (שעשויים להיות פרוסים באמצעות LiteRT או ענן) מתאימים, או אם מודלים גנרטיביים נדרשים ל-NLU מתקדם (חוזרים להתחלה ובוחרים באפשרות א'). לסיווג, לניתוח סנטימנט או לתרגום מבוססי-ענן:
    • → שימוש: פתרונות מבוססי-ענן (לדוגמה, Google Cloud Natural Language API ‎, Google Cloud Translation API ‎, אפשרות גישה באמצעות קצה עורפי מותאם אישית או Gemini Enterprise Agent Platform). (עדיפות נמוכה יותר מאפשרויות במכשיר אם המכשיר במצב אופליין או אם הפרטיות היא הדבר החשוב ביותר).
    • למה: פתרונות מבוססי-Cloud מציעים מודלים מתקדמים ותמיכה בשפות רבות, אבל הם דורשים חיבור לאינטרנט ועשויים להיות כרוכים בעלויות.

‫AI גנרטיבי

אתם צריכים ליצור תוכן חדש, לסכם, לשכתב או לבצע משימות מורכבות של הבנה או אינטראקציה.

האם אתם רוצים שה-AI יפעל במצב אופליין, צריכים פרטיות נתונים מקסימלית (שמירת נתוני המשתמשים במכשיר) או רוצים להימנע מעלויות של הסקת מסקנות בענן?

  • א) כן, חשוב לי שהנתונים יהיו אופליין, שהפרטיות תהיה מקסימלית או שלא תהיה עלות בענן.
  • ב) לא, יש קישוריות זמינה ומתאימה, יכולות הענן והגמישות חשובות יותר, או שתכונות ספציפיות דורשות ענן.

‫AI גנרטיבי במכשיר (באמצעות Gemini Nano)

הערות: נדרשים מכשירי Android תואמים, תמיכה מוגבלת ב-iOS, המודלים פחות חזקים מהמודלים המקבילים בענן.

באמצעות Prompt API של ML Kit, אתם יכולים לשלוח בקשות בשפה טבעית עם קלט של טקסט בלבד או טקסט ותמונה למגוון תרחישי שימוש, כמו הבנת תמונות, תרגומים קצרים וסיכומים מונחים. אם מקרי השימוש שלכם עומדים במגבלות האסימונים האלה, ממשקי ה-API של ML Kit GenAI הם האפשרות הטובה ביותר ל-AI גנרטיבי במכשיר. בנוסף, ML Kit מציע ממשקי API יעילים למשימות נפוצות כמו סיכום ותשובה מהירה.

  • ← שימוש ב: ML Kit GenAI APIs (מופעל על ידי Gemini Nano)
  • הסיבה: הדרך הכי קלה לשלב משימות של AI גנרטיבי במכשיר באמצעות הנחיות בשפה טבעית. זהו הפתרון במכשיר עם העדיפות הכי גבוהה.

‫AI גנרטיבי בענן

השיטה הזו משתמשת במודלים חזקים יותר, דורשת קישוריות, בדרך כלל כוללת עלויות היקש, מציעה כיסוי רחב יותר של מכשירים ועקביות קלה יותר בפלטפורמות שונות (Android ו-iOS).

מה חשוב לך יותר: קלות השילוב ב-Firebase או גמישות ושליטה מקסימליות?

  • א) אתם מעדיפים שילוב קל יותר, חוויית API מנוהלת, וכנראה כבר משתמשים ב-Firebase?
  • ב) אתם צריכים גמישות מקסימלית, גישה למגוון רחב של מודלים (כולל מודלים של צד שלישי או מודלים בהתאמה אישית), כוונון עדין מתקדם, ומוכנים לנהל את השילוב שלכם עם העורף (מורכב יותר)?
    • → שימוש ב-Gemini API עם עורף ענן מותאם אישית (באמצעות Google Cloud Platform)
    • למה: האפשרות הזו מאפשרת לכם הכי הרבה שליטה, גישה למגוון רחב של מודלים ואפשרויות אימון בהתאמה אישית, אבל היא דורשת מאמץ פיתוח משמעותי בשרת. מתאים לצרכים מורכבים, רחבי היקף או מותאמים אישית.

(בחרת ב-Firebase AI Logic SDK) איזה סוג של משימה גנרטיבית ופרופיל ביצועים דרושים לך?

  • א) אתם צריכים איזון בין ביצועים לעלות, שמתאים ליצירת טקסט כללי, לסיכום או לאפליקציות צ'אט שבהן המהירות חשובה?
  • ב) אתם צריכים איכות ויכולות גבוהות יותר ליצירת טקסט מורכב, להסקת מסקנות, ל-NLU מתקדם או למילוי הוראות?

AppFunctions

צריך לשפר את הפונקציונליות של האפליקציה כדי לשלב אותה עם תכונות AI של המערכת (הוספת האפליקציה ל-AI).

  • → שימוש: AppFunctions
  • הסיבה: ההרשאה מאפשרת לתכונות מבוססות-AI במערכת, כמו Assistant, לגלות את היכולות של האפליקציה ולהשתמש בהן.