יום ראשון, 27 ביולי 2025

498 with Niv from Hailo

פרק מספר 498 של רברס עם פלטפורמה, שהוקלט ב-22 ביולי 2025 - חם טילים בחוץ, עדיין מחפשים (גם בבריכה) רעיונות נחמדים ופחות שגרתיים לפרק 500, ואורי ורן מארחים את ניב מחברת Hailo ומדברים על חומרה ומודלים בקצה. 🎗️




01:00 ניב ו-Hailo

(רן) אז ניב - קצת עליך וקצת על Hailo, ואחר כך נצלול פנימה. שוט.
  • (ניב) יאללה - אז נעים מאוד: אני ניב, בן 39 נשוי עם שניים, מרמת-גן. יש לי כלבה, חשוב מאוד . . . 
      • (רן) איזה?
      • (ניב) קטנה, מעורבת, שחורה, חמודה . . . 
    • תואר שני בהנדסת חשמל.
    • עבדתי לפני ב-Broadcom ובאלביט - ובשש וחצי השנים האחרונות אני ב-Hailo.
  • וכמה מילים על Hailo - אז חברת סטארטאפ, Semiconductors, שמייצרת צ'יפים שמאיצים רשתות נוירונים למכשירי קצה.
    • בעצם, מכשירי-קצה (Edge) זה כל מה שאתם יכולים לחשוב עליו שהוא לא רץ ב-Cloud - אז זה יכול להיות רכב אוטונומי, מצלמה חכמה, אפליקציות שונות ומשונות.
    • אנחנו מייצרים את הצ'יפים, מוכרים לחברות . . .
    • (אורי) היום טלפון נחשב למכשיר-קצה . . . 
    • (ניב) חד-משמעית כן, כמובן. 
      • למרות שלטלפון  - אולי אפשר לדבר על זה קצת אחרי זה - יש צ'יפים ייעודיים לפלטפורמה הזאת.
  • אנחנו מוכרים פלטפורמה, בעצם - חומרה שמלווה בהמון המון תוכנה.
    • כמו כל חברת Semiconductors, גם אצלנו יש יותר מהנדסי-תוכנה מחבר'ה שעושים את החומרה . . . 
  • יושבים בתל אביב . . . 
(רן) ותפקידך בחברה?
  • (ניב) אני מנהל קבוצת תוכנה גדולה, Software Director שבעצם אחראי על כל “ה-Core הנוירונלי” - בעצם ה-IP של החברה.
  • זו חברה שמורכבת מכמה סגמנטים (Segments) -
    • יש לנו גם קבוצת Machine Learning, שאחראית יותר על החלק ה-High-Level-י  של התוכנה, של החבילה שאנחנו מספקים.
    • גם קבוצת Embedded, שממש אחראית על החלק היותר Low-Level-י - -++ C - ובאמת כותבת את התוכנה שממש רצה על ה-Edge Device עצמו.
    • ועוד קבוצת תוכנה שהיא קצת יותר ייחודית - שהיא קבוצת Complier
      • שזה Complier שאנחנו בונים In-house, שבעצם יודע לקחת רשתות נוירונים ולקמפל (Compile) אותם לאיזשהו קובץ בינארי,  שיודע לרוץ על החומרה הייעודית של Hailo.
(אורי) אני חייב להגיד שקבוצת “ה-Core הנוירונלי” זה נשמע לי כמו . . .
(רן) . . . שם של מחלה . . . 
(אורי) . . .  לא לא - מין שבט כזה של Game of Thrones, של משהו כזה . . . 
  • (ניב) כן, אבל בתור חברה שמה שהיא עושה זה מאיצה רשתות נוירוניים, אז “ה-Core הנוירונלי” הוא באמת חלק מרכזי.
  • (רן) . . .  יש לכם את הריקוד המיוחד שלכם ואת לחיצת-היד הסודית?
  • (ניב) כן, בשביל להתקבל אתה חייב להכיר אותנו.
(רן) כן, אז בעצם תיכף נדבר על התוכנה - אבל רק שנייה על חומרה: אז המערכות שאתם בונים זה GPUs של ממש?כלומר, כל המאפיינים של GPU - רק בקטן?
  • (ניב) ממש לא - בעצם, GPU הוא חומרה שהיא גם יודעת לעשות רשתות נוירונים, אבל היא חומרה הרבה יותר גנרית (Generic).
  • החומרה של Hailo היא ממש ASIC ספציפי, למטרה ייעודית, שנבנה From Ground-up - כל מה שהוא יודע לעשות זה להאיץ רשתות נוירונים.
    • כתוצאה מזה, הוא עושה את זה ביעילות הרבה יותר גבוהה.
    • זה מיועד למכשירים דלי-הספק - אופטימיזציות הרבה יותר גבוהות, בביצועים יותר גבוהים וכן הלאה. 
(רן) הבנתי. כלומר, זה לא CPU וזה לא GPU - אבל זה יודע לעשות בדיוק את מה שהוא מיועד.
  • (ניב) אכן. לצורך העניין, אתה יכול לדמיין אפליקציות ב-Edge שרצות ודורשות . . . דלות-הספק ברמות הרבה יותר נמוכות ממה שאתה מכיר מ-GPU.
    • אז לא לסרברים או למחשבים גדולים שאתה יכול לדמיין.
(אורי)  יש לי הרגשה שכאילו היה CPU, ו-GPU בא בכלל מהמקום של הגרפיקה - ואמרו “וואלה, זה יכול לעשות גם טוב ל-AI ורשתות נוירונים בכלל”. אתם נתמכים במכשירי-קצה אבל כנראה שיש דור שאומר “רגע-רגע, בואו נראה מה בדיוק ה-AI צריך או הרשתות נוירונים צריכות” - ואז בונים להם משהו.
  • (ניב) נכון. אחת הדרכים להבין את זה זה לצורך העניין ב-Cloud - שאחד הדברים שהכי מאפיינים היום את ה-AI זה שהוא לא רק יודע לעשות Inference אלא גם Training, שזה נניח איזשהו צורך מאוד מאוד נפוץ באפליקציות ומוצרים של GPU.
    • אבל במכשיר-הקצה אנחנו מתעסקים נניח רק ב-Inference, שזה איזשהו הבדל שהוא מאוד מרכזי בין המוצרים האלה. 
(רן) . . . הוא כזה שאני, נגיד, מייצר ארכיטקטורה, מאמן את הרשת - בסופו של דבר הגעתי לרשת מאומנת, ואז אני משתמש ב-Complier שאותו הזכרת כדי לקמפל (Compile) לחומרה שלכם - ומטמיע את זה שם.
  • (ניב) ממש ככה - ופשוט עושה Deployment באיזשהו Embedded Device. 
(רן) אוקיי. יש, ככה בגדול, איזשהן מגבלות? כלומר, נפחים מסוימים שאתם יכולים לעבוד איתם? איפה פחות או יותר ה-Ballpark שלכם?
  • (ניב) אז באמת, כשמדברים על מכשירי-קצה, זה בדרך כלל לא הרשתות-ענק שאנחנו רגילים לדמיין, שרצות ב-Cloud.
    • ששם רוב האפליקציות של AI שאנחנו מכירים ועובדים איתן ב-Day to Day שלנו.
  • אז אם אנחנו מדברים על רשתות Vision זה קצת יותר קל להבין את זה, כי בעצם רוב הרשתות שמאופיינות ל-Computer Vision הן מיועדות למכשירי-קצה - רשתות שעושות Object-Detection, קלסיפיקציה (Classification) או דברים כאלה - זה באמת מאוד סטנדרטי להריץ במכשירי-קצה.
  • (רן) כלומר - מצלמת אבטחה, נגיד, שמזהה אנשים או שמזהה תנועה או כאלה . . .
  • (ניב) כן - לוחיות-רישוי, דברים מהסגנון הזה . . . פרצופים, דברים מאוד סטנדרטיים שעושים היום על מצלמות.
    • גם Gateways, דברים כאלה, הרבה מאוד אנליטיקות (Analytics) שאנחנו יודעים להאיץ.

06:40 פעם ראשונה AI

  • ואם אנחנו מדברים על Generative AI והעולמות היותר מתקדמים שבשנתיים האחרונות פרצו . . . 
    • (רן) לקח לנו שש דקות וארבעים ושש שניות -  אבל הגענו לשם . . . 
  • (ניב) כן - אז גם שם בעצם Hailo היום לוקחת חלק פעיל, ובאמת, אבל שם הרשתות הן הרבה יותר קטנות.
(רן) כלומר, אני יכול להגיע לצ'יפ ולבקש ממנו צייר לי כבשה” - והוא יג'נרט (Generate) לי תמונה של כבשה.
  • (ניב) אכן, אבל . . . 
(אורי) . . . אם אנחנו כבר מתלוצצים, אז באמת מה עם האפליקציות, או מה הדברים שמשתמשים במכשיר-קצה ב-Generative?
  • (ניב) אז קודם כל, צריך להגיד - אין הרבה Deployment של Generative AI היום במכשירי הקצה.
    • רוב האפליקציות שאתה מכיר ואתה משתמש בהן, כמובן, הן רצות כרגע ב-Cloud.
  • אבל זה משהו שגם מסקרן אותנו - אנחנו נכנסנו לתחום הזה כאיזשהו Move אסטרטגי של החברה, רצים שם מאוד חזק. 
    • כחברה שיודעת, וכל היום חיה AI ומאיצה רשתות נוירונים, אז זה תחום שמאוד מעניין אותנו ואנחנו משקיעים בו המון.
    • אז זה מאוד מסקרן אותנו לראות מה אפשר לעשות עם זה - יש הרבה דברים והרבה צורך שהגיע מהשטח ומלקוחות שרוצים להאיץ את זה.
  • אז יש כמה דברים על השולחן - הרבה דברים שקשורים ל-Privacy; לסכם מסמכים; לצורך העניין לא לחלוק את הקוד שלך עם איזשהם שירותי ענן; כל מיני דברים שקשורים ל-VLM ודברים שמערבים Vision - אז זה תמיד Privacy
  • ו-Cost הוא אלמנט מאוד חזק ב-Deployment של רשתות נוירונים . . . 
  • (רן) כן, אני יכול לדמיין מצלמת אבטחה שאתה יכול להוציא סיכום יומי של מתי נראו בני אדם במהלך היום וכמה בני אדם ראיתי . . .
  • (ניב) לגמרי - ואם אתה לא רוצה להוציא את ה-Frame הזה, שמכיל את האנשים - ולצורך העניין יזהו את הפרצופים או את לוחיות רישוי או דברים כאלה, ואתה רוצה לשמור את ה-Frame עצמו במצלמה ולבצע את כל העיבוד במכשיר הקצה, אז אתה תצטרך איזושהי יכולת לעשות את זה, וכנראה שתצטרך לעשות את זה בהספק שהמצלמה הזאת עדיין תוכל להמשיך לתפקד לאורך כל היום.

08:36 ה-Trade-off שבין העלות לבין היכולות / מה בתכל’ס אני עושה עם כל זה?

(רן) אז אתם “חיים בתפר” כרגע, זאת אומרת ככה בשיחת-ההכנה - אמרתי שהתחלתם מהכיוון של Computer Vision, אבל היום העולם רוצה LLM, אז גם את זה אתם עושים . . . 
אבל אחד הדברים שצריך פה לנהל זה איזשהו Trade-off, בין - דיברת מקודם על הספק, יש גם כמות החומרה, כמות הזיכרון, עלות החומרה - לבין יכולות המודל.
אז נניח יש פה איזשהו Use Case - אפשר לחשוב על מצלמת אבטחה או כל Use Case אחר - איך מנהלים את ה-Trade-off הזה של בין העלות לבין היכולות?
  • (ניב) כן, אז קודם כל - בתור אנשים שמכירים את החומרה שלהם הכי טוב, אז לנו יש את היכולת לבוא לתת את הייעוץ ואת ההכוונה ללקוחות שלנו.
  • אנחנו עושים את זה על ידי זה שאנחנו קודם כל חולקים הרבה מאוד מודלים - יש לנו הרבה מאוד Public ו-Open Source Software שאנחנו חולקים עם הלקוחות
    • הרבה מאוד תוצאות, Model Zoo, דברים מהסגנון הזה.
    • יש הרבה מאוד מודלים שאנחנו כבר מאיצים על החומרה שלנו ובעצם יודעים לחלוק עם הלקוחות שלנו הרבה מאוד דברים - אז אני יכול להראות לך בדיוק איזה מודל רץ ובאיזו מהירות, וככה אתה תוכל לבחור את ה-Deployment Scenario שיתאים ל-Use Case הספציפי שלך.
(רן) כלומר, Well-known State of the Art models?
  • (ניב) בדיוק. נניח, אם אנחנו מדברים על Object Detection - נניח שזו אפליקציה מאוד סטנדרטית שתרצה להאיץ, אז אם אתה במצלמת אבטחה אז אתה תוכל להסתכל על בערך 30-50 מודלים ולבחור את המודל שמתאים ל-Use Case הספציפי שלך.
  • וכמובן ה-Scenarios היותר מעניינים מבחינתנו זה דברים שהם לתפור ללקוח ספציפי איזושהי אפליקציה ולתמוך בו בשביל ממש לבנות את ה-Embedded Device שלו ו . . .
(רן) אוקיי, והלקוחות שלכם הם לצורך העניין היצרנים של ה-Devices, והם מטמיעים את הצ'יפ שלכם בתוך
ה-Device שלהם בסופו של דבר.
  • (ניב) בדיוק כך.
(רן) אוקיי, עכשיו - אז איך אנחנו, זאת אומרת, איך מטפלים בזה? זאת אומרת, נגיד, כשעוסקים ב-Machine Learning, בדרך כלל מדברים על Accuracy או False Negatives, False Positives, זאת אומרת, כל אחד וה-Use Case שלו. אבל איך מנהלים את זה לעומת, נגיד, יכול להיות  . . . אם זה וידאו, אז קצב הביטים שעובר, או קצב התמונות לשנייה, הרזולוציה של התמונה . . .  זאת אומרת, אפשר לשחק עם כל מיני פרמטרים. ובסופו של דבר, עלות של החומרה - אני מניח שיש לכם כמה סוגים של חומרות, עם מחירים שונים - איך אני יכול לקבל החלטה? זאת אומרת, הזכרת את ה-Zoo, אבל מה בתכל’ס אני עושה עם כל זה?
  • (ניב) כן, אז בעצם יש לנו שני קווי מוצרים - 
    • אחד שהוא מאיץ כללי, שאתה יכול לחבר לכל פלטפורמה שאתה בוחר.
    • והשני זה איזשהו SOC, System on Chip שלם - שאתה לוקח צ'יפ אחד, ואתה ממש יכול להטמיע אותו בתוך מצלמת אבטחה [למשל]
      • והוא מספק לך את כל השירותים שאתה צריך - כולל עיבוד התמונה וגם האצה של רשתות הנוירונים, שזה בעצם ה-IP של החברה.
  • אז יש בעצם שני סוגי מוצרים שאתה יכול לבחור מביניהם - ובעצם ה-Deployment Scenario שלך, כשאתה בא להטמיע איזשהו מכשיר במכשיר הקצה, אז הוא יתאים.
    • אנחנו נתאים את ה-Use Case שלנו ואת המוצרים שאנחנו יכולים למכור לפי ה-Use Case.
  • אז סתם בשביל לסבר את האוזן, נניח אם אנחנו מדברים על מצלמת אבטחה, זה אולי קצת יותר ברור לפי המוצרים שתיארתי, אבל אם יש לנו איזה שהם Deployment Scenarios אחרים - Gateways, Drones, דברים אוטומטיביים (Automotive) . . .
(רן)  כשאתה אומר “Gateway“, למה אתה מתכוון? כי בעולם ה-Networking, ה-”Gateway” זה כנראה משהו שונה . . .
  • (ניב) נכון, אז כשאני אומר Gateway, אני מדבר נניח על איזשהו מכשיר NVR-י כזה, שיודע לקבל הרבה מאוד Stream-ים של וידאו - אתה יכול לדמיין שדה תעופה, סופרמרקט, דברים כאלה, 30 Stream-ים של Video. . . . 
  • (רן) הבנתי, זה מכשיר “מרכזיית . . . “ מה שנקרא CCTV.
  • (ניב) כן, אז גם זה לצורך העניין, מבחינתנו כל עוד ה-Stream-ים של הוידאו האלה לא יעלו ל-Cloud, אז גם זה יכול להתחשב כ-Deployment של Edge Device.
(רן) כן, זאת אומרת, זה אולי מכשיר קצת יותר גדול - אבל זה עדיין, זה לא בענן וזה...
  • (ניב) זה לא בענן.

12:47 אימונים ועדכונים

(אורי) יש לי שאלה - מודל זה משהו שמאמנים ועושים לו Deployment. כשאתה עובד ב-Cloud או לא משנה איפה - אולי כן משנה איפה . . . - אתה רגיל לאמן ולעשות Deployment למודל. לא יודע מה, ב-Outbrain זה קורה כל חמש דקות. איך Edge Device, שבכוונה אולי לא מחובר לאיזשהו Cloud, ושאולי גם לא רוצה לשתף - איך עושים עדכונים של המודל?
  • (ניב) אז זו שאלה מצוינת. זה מאוד תלוי כמובן ב-Use Case ובחברה - רכב אוטומטיבי (Automotive) לא יעשה עדכונים של מודלים באותה צורה שלצורך העניין יעשו בשדה תעופה.
  • אבל כן, לכל לקוח יש איזשהו On the Fly Update כזה שהוא מסוגל לבצע.
  • זה בדרך כלל קורה בעצם לא על המכשיר-קצה עצמו - אז יהיה לך עוד מכשיר אחר, לצורך העניין איזשהו Server Offline-י, ששם אתה יכול להריץ את ה-Compiler שהזכרתי, לקמפל מודלים נוספים כל הזמן.
  • ובעצם התוצר של ה-Compiler זה איזשהו קובץ בינארי שאותו אתה יכול להעתיק ולהפיץ לכל מכשירי הקצה שלך ובעצם להחליף On the Fly לקובץ הבינארי החדש, עם המודל המעודכן שלך.
(אורי) כמה מהלקוחות שאתם רואים רוצים לעדכן מודל פעם בכמה זמן? וחלקם בשביל זה צריכים לספק דאטה,
ולפעמים הדאטה הזה הוא חסוי . . . 
  • (ניב) נכון. אז אני יכול לתת דוגמה לאיזשהו Deployment שיש לנו [עם] חברת סופרמרקטים, שבעצם כל הזמן צריכה לעדכן את המודל כי כל הזמן נוספים מוצרים נוספים לסופר כמובן.
    • אז כן, יש להם איזשהו מחשב בסופר עצמו שיודע לצורך העניין לאמן את המודל על תמונות חדשות.
      • הוא לא מאמן את המודל כל פעם From Scratch, זה איזשהו Fine Tuning ל-Class-ים חדשים.
    • וכן, הוא יודע להפיץ את התוצר של האימון הזה לכל הקופות החכמות שלהם וככה לעדכן, למרות שהם לצורך העניין רק הוסיפו איזשהו מוצר חדש לסופר, כבר להכין אותו ולהיות מוכן לזיהוי כבר בקופה החכמה.

15:19 לעשות GenAI על החיות הקטנות והמסכנות האלה

(רן) רמזת לי קודם שמשעמם לכם, כי אמרת שקמתם יום אחד והחלטתם שאתם רוצים לעשות GenAI על החיות הקטנות והמסכנות האלה . . . אז בואו נדבר על האתגרים שבדבר הזה.
אז רק לסדר גודל, [עבור] אנשים שלא מגיעים מהעולם הזה. אם לפני זה דיברנו על מודלי Vision, שיש להם אולי עשרות-מיליוני, אולי מאות-מיליוני פרמטרים, למודלים הגדולים - ב-GenAI, ב-LLMs וכו’ - המודלים הקטנים ביותר מתחילים בערך במיליארד, אוקיי? אולי קצת פחות, אבל זה פחות או יותר סדר הגודל. זאת אומרת שאתה כבר מתחיל באיזשהו סדר גודל יותר גדול ממה שהיה לך לפני זה.
המודלים שחיים בענן זה מאות-מיליארדי פרמטרים - אבל אותם אתם לא שמים על הצ'יפים . . . אבל בכל אופן, נגיד מודל בגודל של מיליארד, שני מיליארד - זה עדיין מודלים קטנים בעולם של LLM-ים, אבל די מפלצתיים לצ'יפים כאלה קטנים, שגם אמרת שהם צורכים מעט אנרגיה.
איך בכלל תוקפים את הבעיה הזאת? זאת אומרת, איך לוקחים כל כך הרבה פרמטרים, מודלים כל כך מורכבים - ושמים אותם על צ'יפ כזה?
  • (ניב) כן. אז קודם כל, מדובר באתגר מאוד גדול.
  • הזכרנו באמת שהתעסקנו במשך הרבה מאוד שנים רק ב-Computer Vision - וסתם בשביל באמת כדי לסבר את אופי הבעיה שהזכרת, אז באמת כמות החישובים שיש לבצע ב-LLM בשביל לספק את ה-Token הבא, את הפרדיקציה (Prediction), היא די דומה לכמות החישובים שיש לעשות לצורך העניין ברשת YOLO Object Detection סטנדרטית שאנחנו רגילים לעבוד איתה.
    • אבל מדובר בערך בין סדר גודל אחד לשניים של כמות פרמטרים יותר גדולה.
  • כמובן שאתה מתעסק ב-Embedded Device . . . 
(רן) כלומר, ה-Latency End-to-End הוא אולי אותו Latency - אבל הרוחב הוא הרבה יותר . . . 
  • (ניב) אז ה-Latency - הוא נשלט לא תמיד על ידי כמות החישובים, לפעמים בעצם מה שמגביל אותך זה דווקא כמות הפרמטרים שאתה צריך להביא מהזיכרון.
    • זה גם פרמטר מאוד חשוב, בטח כשאתה מתעסק ב-LLM-ים.
    • למעשה, ה-Interface שלך על ה-Memory לפעמים הוא אפילו יותר חשוב מכמות החישובים, מכמה מהר אתה מסוגל להאיץ חישובים.
    • (רן) . . . אולי יהיה לנו זמן לדבר על KV Caching . . .
    • (ניב) כן, בדיוק . . .
  • (ניב) בכל מקרה, כן - מדובר באתגר מאוד גדול: אנחנו מתעסקים ב-Embedded Device, אז יש לנו Constraint-ים בערך לכל כיוון שאתה לא מסתכל.
    • אם זה ב-DRAM Capacity, אז אתה צריך להחזיק על Embedded Device כזה
      • לצורך העניין, אתם יכולים לדמיין איזשהו Raspberry Pi או משהו מאוד מוגבל מבחינת גודל הדיסק שיש לו.
      • אז צריך להחזיק את המודל עם כל המשקולות שלו שם.
    • אז אנחנו משתמשים בטכניקות של Compression, קוונטיזציות, דברים מהסגנון הזה - בשביל להיות מסוגלים לדחוף את המודלים האלה לתוך DRAM Constraint.
    • יש לנו... 
(רן) בוא נעצור שנייה ונסביר מה זה קוונטיזציה . . . 
  • (ניב) כן, אז קוונטיזציה זה בעצם תהליך שבו לוקחים מודל שמגיע אחרי Training, הוא מגיע בייצוג של Floating Point.
      • בדרך כלל 16 בעולמות Deep Learning, או 32.
      • (רן) כלומר תופס 16 Bit או 32 Bit . . .
      • (ניב) 16 Bit לכל משקולת . . .
      • (רן) . . .  כפול מיליארד, כן?
      • (ניב) נכון, בדיוק.
    • אז נניח מודל של אחד ביליון פרמטרים שהזכרת, אז הוא יתפוס על הדיסק 2Gb.
    • ו-2Gb זה אולי נשמע לנו לא מאוד גדול - אבל ל-Edge Device זה יכול להיות Limitation בפני עצמו.
    • (רן) עכשיו, זה לא בדיסק - זה צריך להיות בזיכרון, כל הסיפור הזה . . . 
    • (ניב) נכון, זה צריך להיות בזיכרון הריצה - אתה ממש צריך אותו, לגשת אליו בצורה Frequent.
  • וברגע שאתה רוצה לדחוס את המודל, טכניקה מאוד סטנדרטית זה בעצם לקחת את הייצוג הזה ולדחוס אותו לייצוג יותר קומפקטי.
    • משהו סטנדרטי בעולמות ה-LLM זה ל-4 Bit.
  • אז בעצם לוקחים את השני 16 Bit האלה שהזכרנו - ולכל משקולת, נותנים לה עכשיו רק 4 Bit בזיכרון.
    • אז מן הסתם מרוויחים x4 ב-Memory.
  • זה מציב איזה שהם . . . כמובן שהדחיסה הזאת מלווה באיזושהי הוספה של רעש ודגרדציה (Degradation), שיש הרבה פיתוחים אלגוריתמיים שמטרתם היא להחזיר את ה-Accuracy הזה שנאבד, אבל כן, זה התהליך עצמו.
(רן) כלומר, הארכיטקטורה - אותו נוירון מחובר לאותם נוירונים, אבל עכשיו הדיוק שלו הוא קטן פי - כמה? 2 בחזקת 4?
(אורי) זה רק מקטין את הדיוק, או שאתה יודע לפצות ב-Uncompressed, שעולה לך ב-CPU בסוף?
  • (ניב) אז תראה, קודם כל בעולמות ה-Computer Vision, גם שם היינו עושים קוונטיזציה, אבל שם זה לא היה בשביל לחסוך Disk Space, זה בדרך כלל היה בשביל לחסוך ב-Compute.
    • גם כשאתה מבצע את החישובים עצמם - זאת אומרת, לעשות מכפלות שנמצאות בליבה של כל רשת נוירונלית (Neural Network) - זה בעצם בסופו של דבר מכונה שיודעת להכפיל מטריצות ענק
    • אז גם להכפיל מטריצות לצורך העניין ב-Fix point וב-8 Bit . . . ב-8 Bit זה עלות הרבה יותר זולה מאשר להכפיל Floating Point ב-Floating Point, שזה פשוט מאוד מאוד יקר בחומרה - להחזיק הרבה מאוד מכפילים בתוך החומרה שלך.
    • (רן) כן, פעולת הכפלה של Int-ים (Integers) היא יותר זולה מפעולת הכפלה של Floats.
    • בדיוק, אז בעולמות ה-Computer Vision זה הגיע מעולמות ה-Compute, זו בעצם המטרה - שרצית לחסוך.
  • בעולמות של Generative AI - וזה לא מיוחד רק ל-Hailo, זה באופן כללי - המטרה היא כמעט Exclusively לחסוך Memory והבאה של ה-Memory ליחידות שיודעות לבצע בעצם את המכפלות עצמן.
(אורי) מה שאני שואל זה האם זה בא - ה-Compression הזה - הוא בא במחיר של איכות, או שאתה יודע גם לעשות לו Un-Compress ואז...
  • (ניב) אז קודם כל - אין ארוחות חינם, זה Lossy Compression, כן? אי אפשר בסוף לקחת 16 Bit, לייצג אותם בארבע Bit, ו . . .  אין קסמים בעולם.
    • אנחנו כן...
(רן) חוץ מ-MP3! חוץ מ-MP3 -  זה קסם!
    • (ניב) כן . . . יש אולי דחיסות כמו JPEG שגם אתה לא תראה בעין, אבל אין דבר כזה דחיסה שהיא בעצם Loss-less לחלוטין,
    • עד כדי חוקי Shannon . . .  שהוציא את זה לפני, כן . . . המציא תורה לפני 80 שנה וכתב את כל החוקים האלה.
    • אבל כן, אנחנו מדברים פה על Lossy Compression - אז כמובן שיש איזושהי דגדציה (Degradation) שנוצרת כתוצאה מהדבר הזה.
  • הרבה מאוד מחקר - גם אצלנו בחברה יש צוות שלם שמתעסק בעצם ב-Model Optimization ובעצם באלגוריתמיקה שכל מטרתה היא להחזיר את ה-Accuracy הזה שנאבד כתוצאה מה-Compression הזה.
    • יש הרבה מאוד פיתוחים, בטח בעולמות של Generative AI - אבל גם בעולמות של Computer Vision,
    • הרבה מאוד שיטות שפותחו עם השנים, כנסים בתחום הזה . . . 
(רן) אני לא מכיר, אז אני אהמר - אז נגיד שעושים קוונטיזציה למודל, ואז עושים לו עוד איזשהו שלב של Tuning או Fine Tuning, כדי להחזיר לו את העטרה ליושנה?
  • (ניב) כן, אז זו באמת שיטה מאוד סטנדרטית - שעושים איזשהו Fine Tuning על המודל המקוונטט, Quantized.
    • בעצם באמת להחזיר לו את ה-Accuracy הזה שנאבד כתוצאה מהקוונטיזציה.
  • לפעמים עושים את זה על כל המודל, לפעמים עושים את זה על חלקים, Step by Step כזה, על איזשהם סגמנטים בתוך המודל.
    • יש הרבה מאוד שיטות ו... 
(רן) אוקיי, ואתם צריכים להתחיל מאיזשהו מודל ספציפי? כלומר, אתם בוחרים איזשהו מודל התחלתי וממנו את עושים קוונטיזציה?
  • (ניב) אז כן, בעולמות ה-Generative AI זה מאוד מקובל כמובן כן להתחיל מאיזשהו Public Hugging Face Model. זו הנקודת התחלה שלנו גם.
(רן)  עכשיו, שיטה אחרת נקראת דיסטילציה, Distillation. זה גם משהו שמעניין אתכם? זאת אומרת, זה גם יכול לעזור ב-Use Case שלכם?
  • (ניב) אז זה יכול לעזור בעיקר בשביל לייצר את המודל ה-Floating Point הראשוני, שהוא יהיה נקודת הכניסה שאנחנו נתחיל לעבוד עליה.
  • ברגע שנכנסת ל-Tool Chain, מה שנקרא, או שהתחלת עם איזשהו מודל ספציפי, אז אין לנו צורך במודל הגדול שלצורך העניין הוא Distilled ממנו.
    • אז בדרך כלל אנחנו לא עושים בזה שימוש.
(רן) כן, אז רק נסביר מה זה Distillation: לוקחים מודל גדול שהוא חכם - נקרא לו “המורה” - ולוקחים מודל קטן יותר, ומשתמשים במודל הגדול על מנת לאמן את המודל הקטן. לפעמים קוראים לזה Teacher-Student, נהוג לקרוא לזה Distillation. ואז בסופו של דבר אנחנו מקבלים מודל קטן - אבל שהוא יותר חכם ממקודם. הוא אולי לא חכם כמו המודל הגדול, אבל הוא יותר חכם ממה שהוא היה לפני זה, ואתה אומר שאז, בשלב הבא, עושים את הקוונטיזציה (Quantized).
  • (ניב) כן, אז לצורך העניין אנחנו משתמשים בטכניקה הזאת גם ב-Fine-tuning שהזכרנו מקודם של הקוונטיזציה, ושם ה-Teacher הזה שהזכרנו, הוא בעצם המודל ה-Floating Point הראשוני שהתחלנו ממנו, וה-Student הוא יהיה המודל ה-Quantized, שמנסה ללמוד ולהחזיר את ה-Accuracy הזה שנאבד כתוצאה מה-Complression הזה.

24:07 מודלים היברידיים

(רן) אוקיי, עכשיו בוא נחזור נגיד לדוגמה של NVR או CCTV או Whatever איך שקוראים לזה: אז המערכות שהן קצת יותר גדולות - אוקיי, זה כבר לא מצלמה בודדת, יכול להיות שהן כן מחוברות לאינטרנט, זאת אומרת עדיין יש עניין של Privacy, אבל יכול להיות שהן כן מחוברות. האם יש מודלים של איזושהי עבודת Hybrid? כלומר, חלק מה-Proccessing קורה על החומרה שלכם - בין אם זה משיקולי Privacy, משיקולי עלות, לא יודע, משיקולים אחרים - וחלק אחר כך ממשיך בענן?
  • (ניב) כן, אז יש הרבה מאוד אפליקציות שמטרתן היא באמת לנסות לחסוך גם Storage בענן, גם Bandwidth וכן הלאה, הרבה מאוד Cost שניתן לחסוך על ידי איזשהו עיבוד ראשוני שנעשה ביחידת הקצה, אבל בסופו של דבר כן רוצים, מטעמים שונים ומשונים, להעלות את הדאטה עצמו ל-Cloud.
    • זה יכול להיות בשביל Record שיקרה Offline או לעיבוד יותר מסיבי שאנחנו רוצים לעשות.
(רן) כן, אני חושב על Mars Rover - על איזשהו רכב שמטייל על Mars או על הירח וצריך לעשות איזשהו עיבוד ראשוני. במקרה שלו אולי זה רק דחיסה ולא יותר מזה . . . 
  • (ניב) כנראה שהוא צריך להתנהל בתוך הכוכב ולקבל כמה החלטות נאיבות מרכזיות, אז כן - אז כנראה שיש לו איזושהי יחידת עיבוד שצריכה להיעשות על גבי ה-Device עצמו.
    • אבל חלק מרכזי בעצם בפעילות שלו היא תהיה לשלוח את הדאטה אחורה.
    • ואם הוא יכול, באיזושהי יכולת שכנראה שב-2025 היא תהיה משוייכת ל-AI בצורה כזאת או אחרת, לזהות את ה-Frame-ים המעניינים וגם לשלוח אלינו רק את הפריימים (Frames) שלצורך העניין לא מוסתרים על ידי איזשהו סלע, זה יהיה גם נהדר.
    • (אורי) או שהוא יוכל לייצג את ה-Inference שלו ולשלוח את ה...
    • (ניב) נכון, שזה לצורך העניין סוג של דחיסה, אם הוא ישלח לנו רק את ה-Embedding, אבל או איזשהו ייצוג יותר... 
    • (רן) “היי, ראיתי חייזר!”
    • (ניב)  . . . כן, ייצוג יותר High-Level-י של מה שהוא רואה - אבל אפילו לפני זה, היית רוצה אולי לקבל את הדאטה הגולמי ולאבד אותו בעצמך.
(רן) אוקיי, אז ה-Business הזה של שילוב, זאת אומרת של ה-Hybrid - כלומר שילוב בין ה-On Device או Edge Device לבין ה-Cloud - זה גם משהו שעושים אצלכם ב-Hailo?
  • (ניב) כן, בעולמות ה-Generative AI זה נראה שזה באמת הולך להיות איזשהו Deployment Scenario שיהיה מאוד מאוד מרכזי במה שהלקוחות מחפשים.
  • אז הזכרנו קודם שהמודלים שאנחנו מתעסקים איתם הם מודלים קטנים, אנחנו מדברים על מודלים של קטנים מ-7 מיליארד פרמטרים.
    • זה המודלים פחות או יותר שאנחנו רואים היום שהולכים ל-Edge Devices.
    • והם מודלים שהם מוגבלים - בסוף הם לא ה-ChatGPT וה-Claude שאנחנו רגילים להשתמש בהם ב-Day to Day שלנו.
  • אז המשימות שהם מסוגלים לעשות הן יהיו איזושהי משימת Agent-ים סטנדרטית ויחסית פשוטה - הם מסוגלים לקבל החלטה והם גם יודעים להגיד “אוקיי, את זה אני לא יודע לעשות ואני אעביר ל-Cloud”
    • והמטרה זה לעשות את זה כמה שפחות.
(רן) כן, דרך אגב - צריך להגיד שמודלים קטנים אבל ייעודיים עושים עבודה בכלל לא רעה. זאת אומרת, אם אנחנו מדברים בעולם כבר ה-7B, אז נגיד מודל שיכול לפתור בעיות במתמטיקה בגודל 7B יכול לעשות את זה באותה רמה ש-GPT עושה, GPT-4. אז זאת אומרת אולי הוא לא מודל שפה גנרי מאוד מאוד טוב - אבל לבעיות ספציפיות הוא דווקא טוב כמו הגדולים.
  • (ניב) כן, ככל שאתה יותר Constraint ואתה יותר יודע מה ה-Deployment Scenario שאתה עוד מנסה לפתור, אז כן.
    • לצורך העניין, יש היום הרבה מאוד מודלים ברכבים סיניים, שאתה יודע לדבר כבר עם הרכב כבר היום ולתת לו פקודות.
    • דברים כאלה שרצים על הרכב עצמו.
  • אז כן, כל עוד אתה יודע ממש להתאים בדיוק לדברים האלה שאתה מחפש, אז אתה כמובן יכול לתפור את הפתרון עם מודל הרבה הרבה יותר קטן ממה שאנחנו רגילים.
(רן) מה שאני אומר זה שזו כבר לא תהיה חוויה נחותה - כלומר, זה לגמרי ריאלי להשתמש במודלים בגודל 7B ולקבל State of the Art - במה שהם צריכים לעשות.
  • (ניב) כן, לא הייתי שואל אותם לצורך העניין על עזרה בפתרון של הבעיית קוד שאתה מתמודד איתה.
    • אבל לצורך העניין בשביל ה-Scenario שבו הם מיועדים לפתור, אז כן - הם כנראה יהיו מספיק טובים.
(רן) הם יעשו עבודה מצוינת, כן.

28:14 איך אני משלב את Hailo בתוך ה-Raspberry Pi הבא שאני בונה?

(רן) אוקיי, תראה, יש פה הרבה נושאים וכיוונים מעניינים, אבל אנחנו כבר עוד מעט לקראת הסימן שלנו.
יש עוד נושא שלא כיסינו שכן היית רוצה שנכסה?
  • (ניב) כן, אני אשמח לדבר על איזושהי פלטפורמה ש[באמצעותה]ניתן להגיע ל-Hailo - אם מישהו מתעניין, לנסות קצת לשחק עם הצ'יפ וכן הלאה.
  • אז יש לנו איזשהו שיתוף פעולה עם חברת Raspberry Pi - בעצם, אנחנו מייצרים את ה-AI HAT שלהם.
    • זה HAT שבעצם - מי שמכיר את המוצרים של Raspberry Pi - זה יכול להתחבר לפלטפורמה שלהם ולספק שירותים ויכולות AI על גבי ה-Raspberry Pi.
(רן) רגע, אני לא מכיר . . .  זאת אומרת, קניתי, פה ושם, קניתי כל מיני Raspberry Pi - אחד, שניים, שלושה. קיבלתי “קופסה”, חיברתי אותה לחשמל. היום אני מניח שזה כבר לא ככה . . .  אז מה אני כאן יכול לעשות? איך אני משלב את Hailo בתוך ה-Raspberry Pi הבא שאני בונה?
  • (ניב) אז מהאתר של Raspberry Pi ניתן לקנות -מי שמכיר - הרבה מאוד תוספות לצ'יפ שלהם.
    • אז אחת מהתוספות זה יכול להיות לצורך העניין סנסור-מצלמה, שניתן לחבר ל-Pi.
  • ולאחרונה, בשנה-שנתיים האחרונות, גם HAT - שזה איזשהו Board שניתן לחבר על ה-Pi - של AI.
    • ובתוכו נמצא בעצם צ'יפ של Hailo.
  • אז בפחות מ-100 דולר אתה יכול לקנות איזשהו Deployment Scenario ל-Edge Device שלך ולהתחיל לפתח איזשהן אפליקציות לבית או לאיזשהו רובוט שאתה בונה.
(רן) ואיך זה פיזית עובד? כאילו, אני פותח את הקופסה, מחבר את הצ'יפ וסוגר? איך זה עובר? איך זה נראה בסוף?
  • (ניב) כן, ממש איזשהו Board שמתחבר על Board.
    • מי שמכיר את ה-Board-ים של Raspberry Pi - אז זה כמו כל Board סטנדרטי שהם מוכרים.
    • מגיע עם חיבור כזה די נחמד, ומאפשר לך באמת לקחת את ה-Board הזה, שהוא די דל בהספקים וחשמל וכן הלאה, ולעשות איתו הרבה מאוד דברים מעניינים.
(רן) כן, אוקיי - אבל אני עדיין צריך . . .  זאת אומרת, כדי להשתמש בזה, אני צריך לעשות את העבודה אולי שהזכרת מקודם. כלומר - לבחור את המודל, אולי לעשות לו קוונטיזציה - יכול להיות שיש Off the Shelf, אבל צריך לדעת מה לבחור, להשתמש ב-Compiler שלכם, כדי בסופו של דבר להביא את המודל לחומרה . . . 
  • (ניב) נכון, אז יש בעצם Community של יותר מ-10,000 משתמשים כבר ב-Raspberry Pi, ב-AI של Hailo
    • אז אתה כנראה לא תתחיל מ-0, אלא תתחיל מאיזשהו פרויקט שכבר קיים בשטח, ותוכל באמת להתנסות כבר באיזשהו פרויקט מוכן.
  • אבל אם תרצה לקחת את המודל שלך, לאמן אותו על דאטה משלך וכן הלאה, אז גם ה-Compiler שלנו פתוח ללקוחות ה-Raspberry Pi, ואתה תוכל לקמפל את המודל שלך ובעצם לעשות לו Deployment.
(רן) אז אתם הולכים אצלכם במשרד ויש לכם כל מיני עציצים שמדברים אליכם, ושירותים שמורידים מעצמם? . . . 
  • (ניב) כן, כל עובד ב-Hailo קיבל את ה-Raspberry Pi HAT הזה, ומשחק איתו בבית עם הילדים.

31:10 עוד קצת על Hailo לסיכום

(רן) בסדר גמור - אז אולי ככה כמה מילים אחרונות על החברה: איפה אתם נמצאים, מה אתם מגייסים ומה עוד כדאי שנדע עליכם.
  • (ניב) כן, מעולה. אז אנחנו יושבים ביגאל אלון בתל אביב, במגדל סוזוקי.
  • מגייסים למגוון משרות די גדול
    • בעיקר מתעסקים כמובן ב-Embedded, אז כל מה שקשור למפתחי Embedded חזקים, אנשי R&D שאוהבים C, C++ ורוצים להיכנס לעולמות האלה של AI ו-Deployment של AI, לרשום איך Pipeline של LLM עובד - מוזמנים לפנות אלינו.
    • אנחנו גם מתעסקים ב-Computer Vision - אז כל מה שקשור לעולמות של מצלמה, עיבוד תמונה וכן הלאה.
    • הרבה מאוד דברים ופעילויות מאוד מעניינות שקורות אצלנו.
    • נשמח.
(רן) בת כמה החברה, דרך אגב?
  • (ניב) החברה מ-2017, כבר שמונה שנים.
(רן) וכמה עובדים היום?
  • (ניב) קרוב ל-300.
(רן) כולם בישראל?
  • (ניב) לא. יש משרדים ברחבי העולם - במזרח, באירופה, בארצות הברית וכן הלאה.
    • ה-R&D הוא כמעט כולו בישראל.
(רן) אוקיי.

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

תגובה 1:

  1. שני השקל שלי:

    https://github.com/SonySemiconductorSolutions/mct-model-optimization

    פותח גם כן בארץ כמובן...

    השבמחק