המדריך הזה נועד לעזור לכם לשלב את הפתרונות של Google לבינה מלאכותית גנרטיבית ולמידת מכונה (AI/ML) באפליקציות שלכם. המדריך מספק הנחיות שיעזרו לכם להבין את הפתרונות השונים של בינה מלאכותית ולמידת מכונה שזמינים לכם, ולבחור את הפתרון שהכי מתאים לצרכים שלכם. המטרה של המסמך הזה היא לעזור לכם להחליט באיזה כלי להשתמש ולמה, על ידי התמקדות בצרכים שלכם ובתרחישים לדוגמה.
כדי לעזור לכם לבחור את פתרון ה-AI/ML המתאים ביותר לדרישות הספציפיות שלכם, במסמך הזה יש מדריך פתרונות. המדריך כולל סדרה של שאלות על המטרות והמגבלות של הפרויקט, והתשובות עוזרות לכם לבחור את הכלים והטכנולוגיות המתאימים ביותר.
המדריך הזה יעזור לכם לבחור את פתרון ה-AI הטוב ביותר לאפליקציה שלכם. כדאי לקחת בחשבון את הגורמים הבאים: סוג הנתונים (טקסט, תמונות, אודיו, וידאו), מורכבות המשימה (סיכום פשוט לעומת משימות מורכבות שדורשות ידע מיוחד) וגודל הנתונים (קלט קצר לעומת מסמכים גדולים). ההסבר הזה יעזור לכם להחליט אם להשתמש ב-Gemini Nano במכשיר או ב-AI מבוסס-הענן של Firebase (Gemini Flash או Gemini Pro).
מנצלים את הכוח של הסקת מסקנות במכשיר
כשמוסיפים תכונות מבוססות-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 מציע פתרונות מוכנים לייצור ומותאמים לנייד למשימות נפוצות של למידת מכונה, ללא צורך במומחיות קודמת ב-ML. ערכת ה-SDK לנייד, שקל מאוד להשתמש בה, מאפשרת לכם להשתמש במומחיות של Google בתחום למידת המכונה ישירות באפליקציות ל-Android ול-iOS, כך שתוכלו להתמקד בפיתוח תכונות במקום באימון מודלים ובאופטימיזציה שלהם. ML Kit מספק ממשקי API מוכנים מראש ומודלים מוכנים לשימוש לתכונות כמו סריקת ברקודים, זיהוי טקסט (OCR), זיהוי פנים, הוספת תוויות לתמונות, זיהוי ומעקב אחר אובייקטים, זיהוי שפה ותשובה חכמה.
המודלים האלה בדרך כלל מותאמים לביצוע במכשיר, כדי להבטיח חביון נמוך, פונקציונליות אופליין ופרטיות משופרת של המשתמשים, כי הנתונים לרוב נשארים במכשיר. כדאי לבחור ב-ML Kit כדי להוסיף במהירות תכונות מבוססות-ML לאפליקציה לנייד, בלי לאמן מודלים או לדרוש פלט גנרטיבי. הוא אידיאלי לשיפור יעיל של אפליקציות עם יכולות "חכמות" באמצעות המודלים המותאמים של 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 גנרטיבי
- ב) ניתוח נתונים/קלט קיימים לצורך חיזוי, סיווג, זיהוי, הבנת תבניות או עיבוד של סטרימינג בזמן אמת (כמו וידאו/אודיו)? → מעבר אל Traditional ML & Perception
- ג) שיפור הפונקציונליות של האפליקציה כדי לשלב אותה עם תכונות מבוססות-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). (עדיפות נמוכה יותר מאפשרויות במכשיר אם אתם במצב אופליין או אם הפרטיות חשובה לכם).
- למה: פתרונות בענן מציעים מודלים מתקדמים ותמיכה בשפות רבות, אבל הם דורשים קישוריות ויכול להיות שהם כרוכים בעלויות.
AI גנרטיבי
אתם צריכים ליצור תוכן חדש, לסכם, לשכתב או לבצע משימות מורכבות של הבנה או אינטראקציה.
האם אתם רוצים שה-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?
- → שימוש ב-Firebase AI Logic SDK → מעבר אל Firebase AI Logic
- ב) אתם צריכים גמישות מקסימלית, גישה למגוון רחב של מודלים (כולל מודלים של צד שלישי או מודלים בהתאמה אישית), כוונון עדין מתקדם, ומוכנים לנהל את השילוב שלכם עם העורף (מורכב יותר)?
- → שימוש ב-Gemini API עם עורף ענן מותאם אישית (באמצעות Google Cloud Platform)
- למה: האפשרות הזו מאפשרת לכם הכי הרבה שליטה, גישה למגוון רחב של מודלים ואפשרויות אימון בהתאמה אישית, אבל היא דורשת מאמץ פיתוח משמעותי בבק-אנד. מתאים לצרכים מורכבים, בהיקף גדול או בהתאמה אישית גבוהה.
(בחרת ב-Firebase AI Logic SDK) איזה סוג של משימה גנרטיבית ופרופיל ביצועים דרושים לך?
- א) אתם צריכים איזון בין ביצועים לעלות, שמתאים ליצירת טקסט כללי, לסיכום או לאפליקציות צ'אט שבהן המהירות חשובה?
- ← שימוש ב: Firebase AI Logic SDK עם Gemini Flash
- למה: מותאם למהירות וליעילות בסביבה המנוהלת של Google Cloud.
- ב) אתם צריכים איכות ויכולות גבוהות יותר ליצירת טקסט מורכב,
להסקת מסקנות, ל-NLU מתקדם או למילוי הוראות?
- → שימוש ב-Firebase AI Logic SDK עם Gemini Pro
- למה: מודל טקסט חזק יותר למשימות מורכבות, שאפשר לגשת אליו דרך Firebase.
AppFunctions
צריך לשפר את הפונקציונליות של האפליקציה כדי לשלב אותה עם תכונות AI של המערכת (הוספת האפליקציה ל-AI).
- → שימוש: AppFunctions
- למה: כדי לאפשר לתכונות מבוססות-AI במערכת, כמו Assistant, לגלות את היכולות של האפליקציה ולהפעיל אותן.