אפליקציות חכמות

‫Gemini Nano ו-Gemma 4: איך פועלת הבינה המלאכותית במכשיר

רמקולים

  • שרה סמוט

    ראש צוות הנדסה, Gemma

מידע כללי

מידע על ההרצאה

‫Gemma 4 מביא יכולות AI מולטי-מודאליות ישירות למכשירי Android. בסשן הזה נראה איך Gemma התפתח למשפחת מודלים שנועדו ליעילות, ונבדוק מה המודלים E2B ו-E4B, שעברו אופטימיזציה לקצה, יכולים לעשות במכשיר – החל מהבנת חזון ואודיו ועד לקריאה להפעלת פונקציות סוכני. נסביר על הארכיטקטורה שמאחורי היעילות הזו, כולל הטמעות לכל שכבה (PLE), ונראה איך Gemma ו-Gemini Nano פועלים יחד באמצעות AICore. תלמדו איך אימון מודע לקוונטיזציה (QAT) שומר על יכולת המודל בתוך טביעות רגל של זיכרון RAM בנפח 1.1-3.5GB, ואיך חיזוי של כמה אסימונים (MTP) מאיץ את מהירויות הפענוח פי 1.5 עד פי 3 כדי לספק חוויות רספונסיביות בזמן אמת.

סיכום

  • המודלים של Gemma 4 מרחיבים את היכולות המולטי-מודאליות במכשיר עם הקשר של 128K טוקנים ב-E2B/E4B, בכפוף לרישיון Apache 2.
  • מודלים לניסוח חיזוי של כמה אסימונים מפחיתים את זמן האחזור של הפענוח ב-40% וחוסכים 30% עד 40% באנרגיה. הם משתפים את מטמון ה-KV של מודל הבסיס כדי להימנע מיצירה מחדש של מילויים מראש.
  • אימון מודע לקוונטיזציה דוחס את נקודת הבדיקה של הקוונטיזציה בהתאמה אישית לנייד לפחות מ-1GB באמצעות קוונטיזציה ממוקדת של 2 ביטים.
  • אפליקציות ל-Android יכולות לשלב את המודלים באופן אוטומטי דרך AICore בתור Gemini Nano 4, או לכלול אותם עם LiteRT לצורך כוונון מותאם אישית.

משאבים

Gemini Notebook

נושאים

  • gemini-nano
  • gemma-4
  • on-device-ai
  • mobile-ml
  • aicore
  • litert
  • קוונטיזציה

תמליל

הורדת התמליל

מבוא למודלים של Gemma וההתפתחות שלהם

  • שרה סמוט

    שלום, ברוכים הבאים להרצאה.

  • שמי שרה, ואני מובילה את צוות ההנדסה של Gemma בתחום המודלים.

  • היום אני רוצה לדבר איתכם על המודלים שלנו.

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

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

  • אני אסביר איך אפשר לגשת אליו ואיך אנחנו משלבים אותו עם AICore.

  • בסוף אציג כמה הדגמות כדי להראות את המודל ולתת לכם מושג על היכולות שלו ומה הוא יכול לעשות.

  • כדי להבין לאן אנחנו הולכים, כדאי להבין איפה היינו.

  • השקנו את Gemma 1 בשנת 2024.

  • השקנו מודל עם 2 מיליארד ו-7 מיליארד פרמטרים, טקסט בלבד, בגדלים קטנים מאוד בהשוואה למה שהיה באותו זמן.

  • אחרי Gemma 1, השקנו את Gemma 2, שכולל יכולות נוספות.

  • הוספנו את האפשרות לתכנת.

  • השקנו גם מודל גדול, 27B, שהרחיב מאוד את היכולות של סדרת Gemma.

  • זמן קצר לאחר מכן הושק Gemma 3.

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

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

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

  • כדי לעשות את זה, שיפרנו את היעילות.

  • אני אסביר מה עשינו ספציפית ב-Gemma 4 ואיך עשינו את זה.

  • השקנו את E2B, אסביר את ה-"E" הזה בעוד דקה, השקנו את E4B, השקנו מודל מאוחד של 12B, אסביר למה עשינו את זה, ואז השקנו גם מודל MoE.

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

  • כאן אפשר לראות את היכולות שהוספנו עם הזמן.

  • יש כמה דברים שאני רוצה לציין, כמו חלון ההקשר.

  • הוספנו חלון הקשר ארוך בהרבה מזה של גרסאות Gemma הקודמות.

  • ‫Gemma 4 יכול לעבד הקשר של עד 128K.

  • במודלים הגדולים יותר אפשר להגיע עד 256.

  • חשוב לציין ש-ML Kit מגביל את חלון ההקשר, אז כדאי לבדוק את התקציב לפני שמצפים שאפשר יהיה להשיק עם 128.

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

  • וידאו הוא יכולת חדשה שהוספנו, למעשה החל מ-Gemma 3n, והתמקדנו בה קצת יותר ב-Gemma 4.

  • עכשיו יש לנו תמיכה בכמה שפות.

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

  • וכל זה מגיע עכשיו ברישיון Apache 2 חדש לגמרי, שאנחנו ממש מתלהבים ממנו, כי הוא ייתן הרבה יותר גמישות לגבי מה שאפשר לבנות איתו, וגם פשוט מפחית את החיכוך.

  • הרבה יותר קל ליצור ולהוריד את המודל.

יכולות ונקודות השוואה של מודלים מולטי-מודאליים

  • שרה סמוט

    אוקיי, אז ראייה, מה אנחנו עושים עם ראייה?

  • החזון לגבי Gemma 4 באופן ספציפי הוא יחס גובה-רוחב משתנה.

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

  • זה אומר שהטקסט והאובייקטים לא מתעוותים.

  • למעשה, זה משפר באופן דרמטי את היכולת של המודל.

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

  • הוא גם יכול לקרוא תרשימים, גיליונות אלקטרוניים וגרפים.

  • הוא יכול גם לתרגם מרמזים חזותיים, כך שאפשר לצלם תמונות של מילים והוא יוכל לתרגם אותן.

  • הוא גם מסיק מסקנות לגבי העולם הפיזי.

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

  • הוא יכול לעשות הרבה דברים.

  • תכונה נוספת של מודלי Gemma שלא הרבה מכירים היא שאפשר להגדיר את התקציב של האסימונים החזותיים.

  • אז כרגע, אני מתכוון לבדוק ולראות מה זה ב-ML Toolkit, אבל יש לך טווח גדול.

  • אם אתם רוצים להשקיע יותר משאבים בהבנת תמונות ברזולוציה גבוהה יותר, אתם יכולים להגדיר את זה.

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

  • אודיו הוא מצב חדש יחסית בשבילנו.

  • הצגנו אותו לראשונה ב-Gemma 3n.

  • עכשיו אנחנו מתמקדים בזה לגמרי ב-Gemma 4.

  • האודיו זמין רק במודלים הקטנים ביותר שלנו: E2B,‏ E4B ו-12B.

  • התמלול יתבצע באופן מלא על סמך קובץ האודיו.

  • הוא מתרגם דיבור.

  • הוא תומך ביותר מ-35 שפות.

  • בנוסף, אימנו אותו מראש ביותר מ-140 שפות, כך שאם אתם רוצים להשתמש בשפה שהיא לא אחת מ-35 השפות שלנו, אתם יכולים לבצע כוונון ולקבל תמיכה טובה מאוד בשפה שלא נתמכת באופן מובנה.

  • הוספנו חשיבה רציונלית של סוכנים.

  • גם זה חדש ב-Gemma 4.

  • הוא מתכנן.

  • הוא מבצע משימות עם כמה שלבים.

  • הוא משתמש בכלים.

  • הוא פועל בדיוק לפי ההוראות.

  • הוא מחזיר JSON מובנה.

  • הוא יכול לעשות את כל הדברים שמצפים ממודל אקטיבי.

  • אני אגיד, שימו לב, ודאו שאתם משתמשים, אם אתם עושים, אם אתם לא משתמשים ב-ML Toolkit, אתם עושים דברים בעצמכם, ודאו שאתם שמים לב לתבניות הצ'אט.

  • תבניות של צ'אט הן עניין מסובך.

  • צריך לטפל בהם בזהירות.

  • אם אתם משתמשים ב-ML Toolkit, כל זה נעשה בשבילכם.

  • ולבסוף, Gemma ממשיך לספק הבנת טקסט מעולה.

  • ועם ההקשר הארוך יותר, אנחנו יכולים עכשיו לנתח קוד, מסמכים ארוכים ולתרגם.

  • למעשה, עם פונקציונליות התכנות, Android Studio תומך עכשיו ב-Gemma 4 במצב אופליין.

  • לכן, אם אתם רוצים להשתמש ב-Android Studio אופליין, Gemma 4 יבצע את משימות התכנות שלכם.

  • נקודה חשובה: E2B ו-E4B קטנים מספיק כדי להתאים לטלפון ולפעול בו בצורה טובה.

  • אז יש כאן הרבה יכולות במכשיר קטן מאוד.

  • זה אתגר הנדסי קשה מאוד, אז אנחנו בצוות Gemma מאוד גאים בזה.

  • הנה כמה דוגמאות שממחישות את היכולות.

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

  • ואז האפליקציה יכולה להציג חץ שמראה איפה המחשב הנייד נמצא.

  • במרכז, המודל יכול לזהות אובייקטים ואז לשרטט תיבות תוחמות מסביב לאובייקטים האלה.

  • יש כמה יישומים מעניינים לזה: זיהוי אובייקטים, הימנעות מאובייקטים.

  • זו יכולת ממש נחמדה.

  • בצד שמאל, מוצג איך המודל יכול לקרוא טקסט.

  • אז התרגום הוא "זהירות, יש חתול".

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

  • זה די חמוד, לדעתי.

  • אז הצבעה, זיהוי אובייקטים, OCR ותרגום, והכל בלי צינור עיבוד נתונים מיוחד לראייה.

  • אוקיי, בואו נתחיל עם מספרי ההערכה.

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

  • אם תסתכלו על שתי העמודות האחרונות, תראו ש-E2B עוקף את Gemma 3 27B, שהוא מודל הרבה יותר גדול, בתחומים של חשיבה רציונלית, תכנות וסוכנים.

  • אז בואו נסתכל על LiveCodeBench.

  • ‫44 ל-Gemma 4 לעומת 29 ל-Gemma 3 27B.

  • גם ה-AIME גבוה בהרבה.

  • גם Tau2, שהוא כלי להערכת סוכנים, הרבה יותר גבוה, מה שמראה על חוזק רב בתחום הזה.

  • אם נוסיף עוד כמה פרמטרים, מודל E4B שלנו ינצח את מודל 27B בכל נקודת השוואה.

  • לכן, במעבר מ-Gemma 3 ל-Gemma 4, הוספנו הרבה יותר יכולות לאותו מספר של פרמטרים.

חומרה וארכיטקטורות של מודלים במכשיר

  • שרה סמוט

    אז איך עושים את זה?

  • זה אתגר לא פשוט לשפר את היכולות של המודל בלי להגדיל אותו.

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

  • כלומר, אנחנו מדברים על 12 עד 16GB לעומת 80GB בערך שאפשר לקבל בשרת.

  • גם רוחב הפס קטן בהרבה: 50 עד 80GB לעומת טרה-בייטים שאפשר לקבל בשרת.

  • ויש גם מגבלות חמורות על צריכת החשמל.

  • אז צריך לזכור את כל הדברים האלה כשמריצים את המודל.

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

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

  • לכל גודל מודל יש ארכיטקטורה נפרדת משלו.

  • אז למודלים E2B ו-E4B יש כמה אלמנטים מיוחדים, שבהם אתמקד בעיקר בהמשך ההרצאה, אבל אני חושב שכדאי לדעת שלמודל 12B שלנו אין מקודד חזותי.

  • לכן במודל הזה הסרנו את מקודד הראייה כדי לפשט את הפריסה ולצמצם את מספר הפרמטרים שהמודל צריך.

  • הוא בדרך כלל מיועד לחומרה של המחשבים הניידים שלנו.

  • המודלים הגדולים שלנו נועדו להדגים את היכולות המתקדמות ביותר.

  • המודלים האלה זמינים גם בגרסה מלאה וגם בגרסת שילוב מומחים (MoE).

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

  • אז בשאר ההרצאה, אתמקד במודלים לנייד, שהם E2B ו-E4B, ואדבר על מה שעשינו שם כדי שהם יפעלו ממש טוב בטלפונים שלכם.

  • אוקיי, מכאן מגיעה האות E, הטמעות לכל שכבה.

  • זו שיטה מעניינת וחדשנית שהוספנו למודלים.

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

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

  • אז מה ש-PLE עושה זה להגיד, "אוקיי, אנחנו צריכים עוד פרמטרים".

  • אבל במקום להוסיף עוד פרמטרים ישירות למודל, יש לנו טבלת הטמעות נוספת.

  • טבלת ההטמעות הזו נקראת בכל שכבה.

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

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

  • לכן אנחנו קוראים לזה 2 מיליארד פרמטרים בפועל, כי רק 2 המיליארד האלה נטענים לזיכרון.

  • טבלת ההטמעות נשמרת בדרך כלל בזיכרון Flash, ולא ב-RAM.

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

  • היא גם תופסת פחות זיכרון RAM במכשיר.

  • הדבר הבא שהוספנו הוא מודל טיוטה.

  • מודל ה-drafter שאנחנו משתמשים בו ב-Gemma הוא מודל חיזוי רב-טוקנים.

  • וזו צורה של פענוח ספקולטיבי.

  • הוא חוזה יותר אסימונים בכל מעבר מאשר מודל רגרסיה עצמית כללי.

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

  • מה שה-MTP הזה עושה, הוא חוזה שלושה או ארבעה טוקנים בכל פעם, ואז אנחנו משתמשים במודל הראשי כדי לאמת את הטוקנים האלה.

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

  • זו שיטה נפוצה.

  • יש מודלים של טיוטות.

  • מה שעשינו בצורה שונה ומיוחדת ב-Gemma הוא שאנחנו משתפים את מטמון ה-KV מהמודל הבסיסי.

  • אז ב-E2B אנחנו מבצעים מילוי מראש מלא, בונים את המטמון, ואז מודל ה-drafter שלנו משתמש במטמון ה-KV הזה.

  • אז בעצם חוסכים בערך 130 מילישניות בהנחיה של 100 או 1,000 טוקנים, כי לא צריך ליצור מחדש את המילוי מראש למודל הטיוטה.

  • לכן מודל ה-drafter שלנו מהיר פי 30 עד 40 ממודלים אחרים של drafter שקיימים בשוק.

  • אם מסתכלים על המספרים, אפשר לראות את ההאצות כשמשתמשים במודל הטיוטה.

  • שיעור האישור שלנו גבוה ב-40% עד 60% מרוב המודלים לניסוח.

  • השימוש במודל הטיוטה מפחית את זמן האחזור של פענוח ב-40%, וגם את צריכת האנרגיה ב-30% עד 40%.

  • כך מקבלים תשובות מהירות יותר, חיי סוללה ארוכים יותר, ובלי צורך בקוד.

  • זה כלי די פשוט ונתמך היטב.

שיטות קוונטיזציה ואופטימיזציה

  • שרה סמוט

    החידוש הבא שלנו הוא קוונטיזציה.

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

  • יש כמה דברים שאנחנו חושבים עליהם במודלים של QAT.

  • הראשון הוא שאנחנו מבצעים QAT, שזה, למי שלא יודע, אימון מודע לקוונטיזציה.

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

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

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

  • אז אם עוברים ממודל של 16 ביט למודל של 4 ביט, ושומרים על כל האיכות, חוסכים הרבה מאוד זיכרון.

  • לכן, E2B מגיע בשני קוונטיזציות שונות.

  • יש לנו פורמט Q4_0.

  • זוהי קוונטיזציה למטרות כלליות יותר.

  • אפשר להתאים אישית את ההגדרה הזו.

  • השיטה הזו עובדת טוב מאוד עם ספריות קוונטיזציה אחרות.

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

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

  • הוא לא נתמך ברוב סביבות זמן הריצה, אבל הוא נתמך ב-ML Kit וב-Android Studio, אז אתם יכולים להשתמש בו.

  • אתם יכולים להשתמש בו שם.

  • חלק מהחידושים שפיתחנו: אנחנו משתמשים בקוונטיזציה סטטית של אקטיבציה.

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

  • אנחנו כבר עשינו את זה בשבילכם, אז אתם לא צריכים לחשב מראש את הטווחים.

  • הדבר הנוסף שעשינו הוא קוונטיזציה לפי ערוץ.

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

  • היעד שלנו הוא קוונטיזציה של 2 ביטים.

  • לכן, קוונטיזציה של שני ביטים היא בדרך כלל עם אובדן נתונים (lossy).

  • קשה מאוד לבצע PTQ.

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

  • כך אפשר לחסוך הרבה נפח אחסון, ועדיין לשמור על האיכות כמעט במלואה.

  • אז המודל המיוחד שלנו הוא פחות מג'יגה, שזה, אתם יודעים, די קטן אפילו מהמודלים של 4 ביט שיש לנו שם בחוץ.

  • דבר נוסף ששילבנו בקוונטיזציה המותאמת אישית שלנו הוא הטמעה וקוונטיזציה של מטמון KV.

  • יש הרבה שיטות לעשות את שני הדברים האלה.

  • ערכנו מחקר, וזה מה שעובד ממש טוב עם המודל שלנו.

  • ואת כל זה ארזנו בנקודות הביקורת האלה.

  • כל זה מפחית באופן משמעותי את הזיכרון הפעיל.

  • זה חוסך הרבה רוחב פס, כי לא צריך להעביר פרמטרים הלוך ושוב.

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

שילוב מערכות וארכיטקטורת בטיחות

  • שרה סמוט

    אוקיי, אז אנחנו משלבים את זה דרך AICore.

  • אז מה שאתם מקבלים עם AICore הוא המודל Gemini Nano 4.

  • ‫Gemini Nano 4 הוא Gemma שנוצר ופועל באמצעות AICore.

  • ‫AICore עושה בשבילכם כמה דברים נחמדים.

  • זו הדרך הכי פשוטה, אבל אני רוצה לדבר בקצרה על הדרך השנייה.

  • הדרך השנייה היא באמצעות LiteRT, שהיא דרך מותאמת אישית ומעשית יותר.

  • אם אתם בוחרים בדרך הזו, המודל יצורף לאפליקציה שלכם.

  • הוא לא ישתמש במודל המשותף שמתארח במכשיר.

  • לכן, אתם צריכים להיות מודעים לזיכרון שלכם.

  • אתם צריכים להיות מודעים לצריכת החשמל שלכם.

  • תצטרכו לנהל את המשאבים בטלפון באופן ידני.

  • אבל היא נותנת לכם שליטה מלאה.

  • אתם יכולים להשתמש בכוונון עדין עם LiteRT, ואז יש לכם יותר אפשרויות להתאמה אישית.

  • אם אתם משתמשים ב-AICore, אתם יכולים להשתמש בממשקי ה-API של ערכת הכלים ל-ML, וזו הדרך הכי פשוטה.

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

  • הוא כבר כולל MTP מובנה, כך שההעברה תתבצע באופן אוטומטי.

  • הוא גם משתמש ב-quant לנייד שלנו.

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

  • אז הוא יכול לפעול ולעשות דברים ברמת דיוק של 2 ביטים, איפה שצריך, וזה הופך אותו ליעיל מאוד.

  • אם אתם רוצים להעמיק, יש עוד שתי הרצאות שהיו או שיהיו.

  • הסשן של דיוויד על ML Kit עוסק ב-Gemini Nano 4, איך להשתמש במודל דרך ML Kit, והסשן של צ'ינטן ופרגוס על LiteRT עוסק באיך להשתמש ב-LiteRT ואיך לפתח איתו.

  • ככה נראה תהליך הבקשה ב-Gemma.

  • יש ממשק API שעובר עיבוד קלט מסוים, וכל זה מובנה בשבילכם.

  • חלק מעיבוד הקלט הוא אותות בטיחות.

  • ב-AICore יש כמה אמצעי בטיחות מובנים.

  • הוא בודק אם אנחנו מטמיעים הרבה אמצעי בטיחות במודל.

  • זו שכבת אבטחה נוספת לאפליקציות לנייד.

  • הוא יעבור דרך הגדרת התכונה ואז דרך סביבת זמן הריצה במכשיר.

  • הוא גם בודק שוב את הבטיחות של הפלט.

  • הוא בודק את אותות הפלט כדי לוודא שהפלט בטוח.

  • זוהי שכבת אבטחה נוספת מעבר למה שבנינו במודל.

  • הוא גם מבצע עדכונים ומשותף בין אפליקציות.

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

הדגמות מקומיות במכשיר

  • שרה סמוט

    אוקיי, אני אעבור להדגמה.

  • זהו עוזר קולי.

  • אני אראה את זה במחשב נייד.

  • כמה דברים שכדאי לשים לב אליהם: זה מקומי לגמרי, זה פועל במכשיר.

  • הוא מועבר באמצעות VAD.

  • הוא עובר דרך STT, אחר כך דרך Gemma, ואז דרך TTS, שהוא מודל המרת טקסט לדיבור.

  • הוא משודר, והוא גם פועל במודל E2B.

  • אז זה בדיוק אותו מודל שפועל במחשב נייד, אבל זה בדיוק אותו מודל שפועל בטלפון.

  • כל זה יכול להתבצע בטלפון.

  • ההדגמה הספציפית הזו מבוססת על LiteRT.

  • אפשר ליצור את זה גם באמצעות ML Kit.

  • שימו לב לזמן האחזור, אין הלוך ושוב עם השרת, ושימו לב איך הוא מתמודד עם הפרעות.

  • ‫Gemma, ספרי לי קצת על עצמך.

  • אני Gemma 4, מודל שפה גדול (LLM) שפותח על ידי Google DeepMind.

  • אני מעבד טקסט ותמונות כדי לספק מידע ולבצע משימות.

  • מגניב.

  • אתה יכול לספר לי קצת על שייקספיר?

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

  • בעצם, רגע.

  • ואתה יודע מה?

  • אני ממש רוצה לדעת על מערכת השמש.

  • אפשר לקבל עוד פרטים?

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

  • מגניב.

  • תסביר לי איך פועל חור שחור.

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

  • זה ממש מגניב.

  • תודה.

  • שמחתי לעזור.

  • יש לך שאלות נוספות שאוכל לענות עליהן?

  • טוב.

  • יש את העוזר הקולי.

  • אוקיי, הלאה.

  • זה יהיה עוזר אישי מקומי שמשתמש ביכולות הווידאו.

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

  • דברים שחשוב לשים לב אליהם: המודל הזה מבוסס על מודל E4B.

  • הוא מדבר באופן טבעי.

  • אנחנו נראה לו איך לעשות דברים.

  • הוא משתמש בקריאות API לכלי ברקע, ויכול לגשת לדברים שונים בטלפון.

  • והוא די משעשע.

  • ‫Hey Gemma, do we have internet now?‎

  • לא, אין לנו חיבור לאינטרנט כרגע.

  • מה המשמעות של האזהרה הזו?

  • בספרדית.

  • השלט הזה מזהיר מפני בית הגידול של הפומה.

  • הוא ממליץ לכם להיזהר אם אתם נתקלים בפומות, כי הן חלק מהסביבה המקומית.

  • מה הנגזרת של הפונקציה הזו?

  • הנגזרת של x בריבוע ועוד 7x ועוד 10 היא 2x ועוד 7.

  • זה מצחיק.

  • היי, שלום.

  • היי סינדי.

  • ‫Gemma, מתי הטיול הקבוצתי שלנו הערב?

  • הטיול הקבוצתי נקבע לשעה 18:00.

  • היום.

  • האם זו פומה?

  • לא, זה כלב.

  • ילד טוב.

מקורות מידע והשלבים הבאים

  • שרה סמוט

    זהו, אפשר להתחיל לבנות.

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

  • אם אתם רוצים לבדוק ישירות את נקודות הבדיקה ואת קוד המודל שלנו, הכול זמין.

  • אתם יכולים להשתמש בלמידת מכונה – יש את Gemma, את Gemini Nano 4 ואת הקישור ל-ML Kit.

  • נקודות הבדיקה נמצאות ב-Hugging Face, והקוד שלנו נמצא ב-codebase של Transformers.

  • אתם יכולים לראות מה עשינו.

  • אפשר גם להוריד את נקודות הבדיקה מ-Kaggle.

  • אני רוצה להזכיר לכם שוב, אם אתם רוצים לדעת עוד על ML Kit, כדאי לכם לצפות במצגת של דיוויד על ML Kit.

  • בהמשך נציג גם את המצגת של צ'ינטאן ופרגוס על LiteRT.

  • אם אתם רוצים לראות איך לגשת למודל ולהשתמש בו באפליקציות שלכם באמצעות LiteRT.

  • תודה.

  • אני ממש מתרגש לראות מה כולכם הולכים לבנות.