תוכן העניינים[להתחבא][הופעה]
מודלים של Machine Learning נמצאים בכל מקום עכשיו. במהלך היום, אתה כנראה משתמש במודלים האלה הרבה יותר ממה שאתה מבין. מודלים של למידת מכונה משמשים במשימות נפוצות כמו גלישה במדיה חברתית, צילום ובדיקת מזג האוויר.
ייתכן שאלגוריתם למידת מכונה המליץ לך על הבלוג הזה. כולנו שמענו על כמה זמן זה גוזל לאמן את הדגמים האלה. כולנו שמענו שאימון מודלים אלה גוזל זמן רב.
עם זאת, הסקת מסקנות על מודלים אלה היא לעתים קרובות יקר מבחינה חישובית.
אנו זקוקים למערכות מחשב מהירות מספיק כדי להתמודד עם הקצב שבו אנו משתמשים בשירותי למידת מכונה. כתוצאה מכך, רוב הדגמים הללו מופעלים על מרכזי נתונים מסיביים עם אשכולות CPU ו-GPU (אפילו TPUs במקרים מסוימים).
כשאתה מצלם, אתה רוצה למידת מכונה לשפר אותו באופן מיידי. אינך רוצה להמתין עד שהתמונה תועבר למרכז נתונים, תעובד ותחזור אליך. במקרה זה, יש לבצע את מודל למידת המכונה באופן מקומי.
כשאתה אומר "היי סירי" או "אוקיי, גוגל", אתה רוצה שהגאדג'טים שלך יגיבו מיד. ממתין לשידור הקול שלך למחשבים, שם הוא יוערך ויושג נתונים.
זה לוקח זמן ויש לו השפעה מזיקה על חווית המשתמש. במקרה זה, אתה רוצה שמודל למידת המכונה יעבוד גם מקומית. כאן נכנסת לתמונה TinyML.
בפוסט זה, נבחן את TinyML, איך זה עובד, השימושים שלו, איך להתחיל איתו ועוד הרבה יותר.
מה TinyML?
TinyML היא דיסציפלינה מתקדמת המיישמת את הפוטנציאל המהפכני של למידת מכונה על מגבלות הביצועים וההספק של מכשירים קטנים ומערכות משובצות.
פריסה מוצלחת בתעשייה זו מחייבת הבנה מעמיקה של יישומים, אלגוריתמים, חומרה ותוכנה. זהו תת-ז'אנר למידת מכונה המשתמשת במודלים של למידה עמוקה ולמידת מכונה במערכות משובצות המעסיקות מיקרו-בקרים, מעבדי אותות דיגיטליים או מעבדים מיוחדים אחרים בעלי הספק נמוך במיוחד.
התקנים משובצים התומכים ב-TinyML נועדו להפעיל אלגוריתם למידת מכונה עבור עבודה ספציפית, בדרך כלל כחלק מהמכשיר של המכשיר קצה.
על מנת לפעול במשך שבועות, חודשים או אפילו שנים ללא טעינה או החלפת סוללה, מערכות משובצות אלו חייבות להיות בצריכת חשמל של פחות מ-1 mW.
איך זה עובד?
מסגרת למידת המכונה היחידה שניתן להשתמש בה עם מיקרו-בקרים ומחשבים היא TensorFlow Lite. זוהי סט של כלים המאפשרים למפתחים להפעיל את הדגמים שלהם בנייד, משובץ ומכשירי קצה, המאפשרים למידת מכונה תוך כדי תנועה.
הממשק של המיקרו-בקר משמש לאיסוף נתונים מחיישנים (כמו מיקרופונים, מצלמות או חיישנים משובצים).
לפני שליחתם למיקרו-בקר, הנתונים משולבים במודל למידת מכונה מבוסס ענן. אימון אצווה במצב לא מקוון משמש בדרך כלל לאימון דגמים אלה. נתוני החיישן שישמשו עבור למידה והסקת מסקנות כבר נקבע עבור היישום הספציפי.
אם הדגם מאומן לזהות מילת ערות, למשל, הוא כבר מוגדר לטפל בזרם שמע רציף ממיקרופון.
הכל כבר נעשה בעזרת פלטפורמת ענן כמו Google Colab במקרה של TensorFlow Lite, כולל בחירת מערך נתונים, נורמליזציה, התאמה או התאמה יתר של המודל, רגולציה, הגדלת נתונים, הדרכה, אימות ובדיקות.
דגם מאומן במלואו הופך בסופו של דבר ומועבר למיקרו-בקר, למיקרו-מחשב או למעבד האותות הדיגיטלי לאחר אימון אצווה לא מקוון. לדגם אין הכשרה נוספת לאחר שהועבר למכשיר משובץ. במקום זאת, הוא משתמש אך ורק בנתונים בזמן אמת מחיישנים או התקני קלט כדי ליישם את המודל.
כתוצאה מכך, מודל למידת מכונה של TinyML חייב להיות עמיד במיוחד ויכול לעבור הדרכה מחדש לאחר שנים או לעולם לא לעבור הכשרה מחדש. יש לחקור את כל התאמת הדגמים הפוטנציאליים וההתאמות יתר על המידה כדי שהמודל יישאר רלוונטי למשך זמן ממושך, באופן אידיאלי ללא הגבלת זמן.
אבל למה להשתמש ב-TinyML?
TinyML החלה כמאמץ לבטל או להפחית את ההסתמכות של ה-IoT על שירותי ענן עבור קנה מידה קטן בסיסי למידת מכונה פעולות. זה הצריך שימוש במודלים של למידת מכונה במכשירי הקצה עצמם. הוא מספק את היתרונות העיקריים הבאים:
- צריכת חשמל נמוכה צְרִיכָה: יישום TinyML צריך לנצל פחות מ-1 מיליוואט של כוח. עם צריכת חשמל נמוכה כזו, מכשיר עשוי להמשיך להסיק מסקנות מנתוני חיישנים במשך חודשים או שנים, גם אם הוא מופעל באמצעות סוללת מטבע.
- זול יותר: הוא נועד לפעול על מיקרו-בקרי 32 סיביות או DSP בעלות נמוכה. מיקרו-בקרים אלה הם בדרך כלל כמה סנטים כל אחד, והמערכת המשובצת הכוללת שפותחה איתם היא פחות מ-$50. זוהי אפשרות חסכונית מאוד להפעלת תוכניות למידת מכונה קטנות בקנה מידה גדול, והיא מועילה במיוחד ביישומי IoT שבהם יש ליישם למידת מכונה.
- השהייה נמוכה יותר: ליישומים שלה יש חביון נמוך מכיוון שהם לא צריכים להעביר או להחליף נתונים דרך הרשת. כל נתוני החיישנים מתועדים באופן מקומי, ומסקנות מתקבלות באמצעות מודל שכבר הוכשר. תוצאות המסקנות עשויות להישלח לשרת או לענן לצורך רישום או עיבוד נוסף, אם כי זה לא חיוני כדי שהמכשיר יפעל. זה ממזער את זמן השהיה ברשת ומבטל את הצורך בביצוע פעולות למידת מכונה על ענן או שרת.
- פרטיות: זה עניין מרכזי באינטרנט ובאינטרנט של הדברים. עבודת למידת המכונה באפליקציות TinyML מתבצעת באופן מקומי, ללא אחסון או שליחת נתוני חיישן/משתמש לשרת/ענן. כתוצאה מכך, גם כשהם מקושרים לרשת, יישומים אלה בטוחים לשימוש ואינם מהווים סיכוני פרטיות.
יישומים
- חקלאות - מתי חקלאים מצלמים צמח, האפליקציה של TensorFlow Lite מזהה בו מחלות. זה עובד על כל מכשיר ואינו דורש חיבור לאינטרנט. הנוהל מגן על אינטרסים חקלאיים ומהווה צורך קריטי עבור חקלאים כפריים.
- תחזוקת מכניקה - TinyML, כאשר משתמשים בה במכשירים בעלי הספק נמוך, יכולה לזהות ללא הרף פגמים במכונה. זה כרוך בתחזוקה מבוססת חיזוי. Ping Services, סטארט-אפ אוסטרלי, הציגה גאדג'ט IoT המנטר את טורבינות הרוח על ידי הצמדתו לחלק החיצוני של הטורבינה. הוא מודיע לרשויות בכל פעם שהוא מזהה כל בעיה או תקלה אפשרית.
- בתי חולים - ה Solar Scare הוא פרויקט. יתושים משתמשים ב-TinyML כדי לעצור את התפשטותן של מחלות כמו דנגי ומלריה. הוא מופעל על ידי אנרגיה סולארית ומזהה תנאי רביית יתושים לפני שהוא מאותת למים לעכב את רביית היתושים.
- מעקב אחר תנועה - מאת באמצעות יישום TinyML על חיישנים שאוספים נתוני תנועה בזמן אמת, נוכל להשתמש בהם כדי לכוון טוב יותר את התנועה ולקצץ את זמני התגובה לרכבי חירום. Swim.AI, למשל, משתמשת בטכנולוגיה הזו בהזרמת נתונים כדי להגביר את בטיחות הנוסעים תוך הפחתת עומס ופליטות באמצעות ניתוב חכם.
- חוק: ניתן להשתמש ב-TinyML באכיפת החוק כדי לזהות פעולות לא חוקיות כגון התפרעות וגניבה באמצעות למידת מכונה וזיהוי מחוות. תוכנית דומה עשויה לשמש גם לאבטחת כספומטים של הבנק. על ידי צפייה בהתנהגות המשתמש, מודל TinyML עשוי לחזות אם המשתמש הוא צרכן אמיתי המשלים עסקה או פולש המנסה לפרוץ או להרוס את הכספומט.
איך להתחיל עם TinyML?
כדי להתחיל עם TinyML ב-TensorFlow Lite, תזדקק ללוח מיקרו-בקר תואם. TensorFlow Lite for Microcontrollers תומך במיקרו-בקרים המפורטים להלן.
- טרמינל Wio: ATSAMD51
- מועצת הפיתוח של Himax WE-I Plus EVB Endpoint AI
- ערכת גילוי STM32F746
- Adafruit EdgeBadge
- פלטפורמת פיתוח תוכנה של Synopsys DesignWare ARC EM
- סוני ספרסנס
- ארדואינו ננו 33 BLE Sense
- SparkFun Edge
- ערכת Adafruit TensorFlow Lite עבור מיקרו-בקרים
- Adafruit Circuit Playground Bluefruit
- Espressif ESP32-DevKitC
- אספרסיף ESP-EYE
אלה הם מיקרו-בקרים של 32 סיביות שיש להם מספיק זיכרון פלאש, זיכרון RAM ותדר שעון כדי לבצע מודל למידת מכונה. הלוחות כוללים גם מספר חיישנים מובנים המסוגלים להריץ כל תוכנית משובצת ולהחיל מודלים של למידת מכונה על האפליקציה הממוקדת. ל לבנות מודל למידת מכונה, תזדקק למחשב נייד או מחשב בנוסף לפלטפורמת חומרה.
לכל פלטפורמת חומרה יש כלי תכנות משלה לבנייה, הדרכה והעברה של מודלים של למידת מכונה, המשתמשים בחבילת TensorFlow Lite for Microcontrollers. TensorFlow Lite חופשי לשימוש ולשינוי מכיוון שכן קוד פתוח.
כדי להתחיל עם TinyML ו-TensorFlow Lite, כל מה שאתה צריך הוא אחת מפלטפורמות החומרה המשובצות המוזכרות לעיל, מחשב/מחשב נייד, כבל USB, ממיר USB לסדרתי - והרצון לתרגל למידת מכונה עם מערכות משובצות .
אתגרים
למרות שההתקדמות של TinyML הניבה תוצאות חיוביות רבות, תעשיית למידת המכונה עדיין מתמודדת עם מכשולים ניכרים.
- מגוון תוכנות - קידוד ידני, יצירת קוד ומתורגמני ML הם כולם אפשרויות לפריסת מודלים במכשירי TinyML, וכל אחד מהם דורש כמות שונה של זמן ומאמץ. ביצועים שונים יכולים להיווצר כתוצאה מכך.
- גיוון בחומרה - יש קיימות מספר אפשרויות חומרה זמינות. פלטפורמות TinyML יכולות להיות כל דבר, החל ממיקרו-בקרים לשימוש כללי ועד למעבדים עצביים חדישים. זה גורם לבעיות בפריסת מודלים על פני ארכיטקטורות שונות.
- פתרון בעיות / איתור באגים - מתי מודל ML מתפקד גרוע בענן, קל להסתכל על הנתונים ולהבין מה משתבש. כאשר מודל מפוזר על פני אלפי מכשירי TinyML, ללא זרם נתונים חוזר לענן, איתור באגים הופך לקשה ועלול לחייב שיטה אחרת.
- אילוצי זיכרון - מסורתי פלטפורמות, כמו סמארטפונים ומחשבים ניידים, זקוקות לג'יגה-בייט של זיכרון RAM, בעוד שמכשירי TinyML משתמשים בקילו-בייט או מגה-בייט. כתוצאה מכך, גודל הדגם שניתן לפרוס מוגבל.
- הכשרת דוגמניות - אמנם ישנם מספר יתרונות לפריסת מודלים של ML במכשירי TinyML, רוב דגמי ה-ML עדיין מאומנים בענן כדי לחזור ולשפר באופן מתמיד את דיוק המודל.
שלנו
ל-TinyML, עם טביעת הרגל הקטנה שלה, צריכת הסוללה הנמוכה והיעדר או הסתמכות מוגבלת על קישוריות אינטרנט, יש פוטנציאל עצום בעתיד, שכן רוב הצרכנים בינה מלאכותית יוטמע במכשירי קצה או גאדג'טים משובצים עצמאיים.
זה יהפוך את יישומי ה-IoT לפרטיים ובטוחים יותר על ידי מינוףם. אמנם TensorFlow Lite היא כיום מסגרת למידת המכונה היחידה עבור מיקרו-בקרים ומחשבי מיקרו, מסגרות דומות אחרות כמו חיישן ו-CMSIS-NN של ARM נמצאות בעבודות.
בעוד TensorFlow Lite הוא פרויקט קוד פתוח בתהליך שהתחיל בצורה נהדרת עם הצוות של גוגל, הוא עדיין זקוק לתמיכה קהילתית כדי להיכנס למיינסטרים.
סיכום
TinyML היא גישה חדשה המשלבת מערכות משובצות עם למידת מכונה. כאשר הבינה המלאכותית הצרה מגיעה לשיא בתחומים רבים ואנכיים, הטכנולוגיה יכולה להופיע כתת-תחום בולט בלמידת מכונה ובינה מלאכותית.
הוא מספק פתרון למספר רב של אתגרים איתם מתמודדים כעת מגזר ה-IoT ואנשי מקצוע המיישמים למידת מכונה לדיסציפלינות רבות ספציפיות לתחום.
הרעיון של ניצול למידת מכונה ב התקני קצה עם מחשוב קטן לטביעת הרגל ולצריכת החשמל יש פוטנציאל לשנות באופן משמעותי את האופן שבו מערכות משובצות ורובוטיקה נבנות.
השאירו תגובה