טייס אוטומטי של אמזון מאפשרת לארגונים לבנות ולפרוס במהירות מודל למידת מכונה מקצה לקצה (ML) וצינור מסקנות עם מספר שורות קוד בלבד או אפילו בלי שום קוד בכלל עם סטודיו SageMaker של אמזון. טייס אוטומטי מוריד את ההרמה הכבדה של הגדרת תשתית ואת הזמן שלוקח לבניית צינור שלם, כולל הנדסת תכונות, בחירת דגמים וכוונון היפרפרמטרים.
בפוסט זה, אנו מראים כיצד לעבור מנתונים גולמיים לצינור מסקנות חזק ופרוס במלואו עם טייס אוטומטי.
סקירת פתרונות
אנו משתמשים מערך הנתונים הציבורי של Lyft בנושא שיתוף אופניים לסימולציה זו כדי לחזות אם משתמש ישתתף או לא תוכנית Bike Share for All. זוהי בעיית סיווג בינארי פשוטה.
אנחנו רוצים להראות כמה קל לבנות צינור מסקנות אוטומטי ובזמן אמת כדי לסווג משתמשים על סמך השתתפותם בתוכנית Bike Share for All. לשם כך, אנו מדמים צינור של קליטת נתונים והסקת מידע מקצה לקצה עבור חברת שיתוף אופניים דמיונית הפועלת באזור מפרץ סן פרנסיסקו.
הארכיטקטורה מחולקת לשני חלקים: צינור הבליעה וצינור ההסקה.
אנו מתמקדים בעיקר בצינור ML בחלק הראשון של פוסט זה, וסוקרים את צינור קליטת הנתונים בחלק השני.
תנאים מוקדמים
כדי לעקוב אחר דוגמה זו, השלם את התנאים המוקדמים הבאים:
- צור מופע מחברת SageMaker חדש.
- צור צינור אש נתונים של אמזון קינסי זרם משלוח עם AWS למבדה לשנות פונקציה. להנחיות, ראה אמזון Kinesis Firehose Transformation Data עם AWS Lambda. שלב זה הוא אופציונלי ונחוץ רק כדי לדמות הזרמת נתונים.
חקר נתונים
בוא נוריד ונדמיין את מערך הנתונים, שנמצא בציבור שירות אחסון פשוט של אמזון (Amazon S3) דלי ואתר סטטי:
צילום המסך הבא מציג תת-קבוצה של הנתונים לפני השינוי.
העמודה האחרונה של הנתונים מכילה את היעד שאנו רוצים לחזות, שהוא משתנה בינארי שלוקח ערך כן או לא, המציין אם המשתמש משתתף בתוכנית Bike Share for All.
בואו נסתכל על ההתפלגות של משתנה היעד שלנו עבור כל חוסר איזון בנתונים.
כפי שמוצג בגרף לעיל, הנתונים אינם מאוזנים, כאשר פחות אנשים משתתפים בתוכנית.
אנחנו צריכים לאזן את הנתונים כדי למנוע הטיית ייצוג יתר. שלב זה הוא אופציונלי מכיוון שהטייס האוטומטי מציע גם גישה פנימית לטיפול בחוסר איזון בכיתה באופן אוטומטי, אשר כברירת מחדל היא מדד אימות ציון F1. בנוסף, אם תבחר לאזן את הנתונים בעצמך, תוכל להשתמש בטכניקות מתקדמות יותר לטיפול בחוסר איזון כיתתי, כגון עשן or גן.
עבור פוסט זה, אנו מקטינים את מחלקת הרוב (לא) כטכניקת איזון נתונים:
הקוד הבא מעשיר את הנתונים ומדגים פחות את המחלקה המיוצגת יתר על המידה:
השארנו בכוונה את התכונות הקטגוריות שלנו לא מקודדות, כולל ערך היעד הבינארי שלנו. הסיבה לכך היא כי טייס אוטומטי דואג לקידוד ופענוח הנתונים עבורנו כחלק מהנדסת הפיצ'רים האוטומטית ופריסה של צינורות, כפי שנראה בסעיף הבא.
צילום המסך הבא מציג דוגמה מהנתונים שלנו.
הנתונים בגרפים הבאים נראים נורמליים אחרת, כאשר התפלגות בי-מודאלית מייצגת את שתי השיאים עבור שעות הבוקר ושעות העומס של אחר הצהריים, כפי שהיית מצפה. אנו צופים בפעילות נמוכה גם בסופי שבוע ובלילה.
בסעיף הבא, אנו מאכילים את הנתונים לטייס אוטומטי כדי שיוכל להריץ עבורנו ניסוי.
בניית מודל סיווג בינארי
הטייס האוטומטי דורש שנציין את דלי יעדי הקלט והפלט. הוא משתמש בדלי הקלט כדי לטעון את הנתונים ובדלי הפלט כדי לשמור את החפצים, כגון הנדסת תכונות ומחברות Jupyter שנוצרו. אנו שומרים 5% ממערך הנתונים כדי להעריך ולאמת את ביצועי המודל לאחר השלמת ההדרכה ולהעלות 95% ממערך הנתונים לדלי הקלט של S3. ראה את הקוד הבא:
לאחר שהעלינו את הנתונים ליעד הקלט, הגיע הזמן להפעיל את הטייס האוטומטי:
כל מה שאנחנו צריכים כדי להתחיל להתנסות הוא לקרוא לשיטת fit() . הטייס האוטומטי צריך את מיקום הקלט והפלט S3 ואת עמודת תכונת היעד כפרמטרים הנדרשים. לאחר עיבוד תכונה, הטייס האוטומטי מתקשר כוונון הדגם האוטומטי של SageMaker כדי למצוא את הגרסה הטובה ביותר של מודל על ידי הפעלת עבודות הדרכה רבות במערך הנתונים שלך. הוספנו את הפרמטר האופציונלי max_candidates כדי להגביל את מספר המועמדים ל-30, שהוא מספר עבודות ההדרכה שהטייס האוטומטי משיק עם שילובים שונים של אלגוריתמים והיפרפרמטרים על מנת למצוא את המודל הטוב ביותר. אם לא תציין פרמטר זה, ברירת המחדל היא 250.
אנו יכולים לצפות בהתקדמות של טייס אוטומטי עם הקוד הבא:
ההכשרה לוקחת זמן מה. בזמן שהוא פועל, בואו נסתכל על זרימת העבודה של הטייס האוטומטי.
כדי למצוא את המועמד הטוב ביותר, השתמש בקוד הבא:
צילום המסך הבא מראה את הפלט שלנו.
המודל שלנו השיג דיוק אימות של 96%, אז אנחנו הולכים לפרוס אותו. נוכל להוסיף תנאי כך שנשתמש במודל רק אם הדיוק הוא מעל רמה מסוימת.
צינור מסקנות
לפני שנפרוס את המודל שלנו, בואו נבחן את המועמד הטוב ביותר שלנו ומה קורה בצנרת שלנו. ראה את הקוד הבא:
התרשים הבא מציג את הפלט שלנו.
הטייס האוטומטי בנה את המודל וארז אותו בשלושה מיכלים שונים, שכל אחד מהם מריץ משימה ספציפית ברצף: טרנספורמציה, חיזוי ושינוי הפוך. הסקה רב-שלבית זו אפשרית עם א צינור מסקנות של SageMaker.
הסקת מסקנות מרובת שלבים יכולה גם לשרשר מודלים מרובים של הסקה. לדוגמה, מיכל אחד יכול לבצע ניתוח רכיבים עיקריים לפני העברת הנתונים למיכל XGBoost.
פרוס את צינור ההסקה לנקודת קצה
תהליך הפריסה כולל רק כמה שורות קוד:
בואו נגדיר את נקודת הקצה שלנו לחיזוי עם מנבא:
כעת, כשיש לנו את נקודת הקצה והמנבא שלנו מוכנים, הגיע הזמן להשתמש בנתוני הבדיקה שהנחנו בצד ולבדוק את הדיוק של המודל שלנו. אנו מתחילים בהגדרת פונקציית עזר ששולחת את הנתונים שורה אחת בכל פעם לנקודת הקצה שלנו ומקבלת תחזית בתמורה. כי יש לנו XGBoost מודל, אנו שומטים את משתנה היעד לפני שליחת שורת ה-CSV לנקודת הקצה. בנוסף, הסרנו את הכותרת מה-CSV הבודק לפני שעברנו לולאה בקובץ, שהיא גם דרישה נוספת עבור XGBoost ב- SageMaker. ראה את הקוד הבא:
צילום המסך הבא מראה את הפלט שלנו.
עכשיו בואו לחשב את הדיוק של המודל שלנו.
ראה את הקוד הבא:
אנו מקבלים דיוק של 92%. זה מעט נמוך מ-96% שהתקבל במהלך שלב האימות, אבל זה עדיין מספיק גבוה. אנחנו לא מצפים שהדיוק יהיה זהה לחלוטין מכיוון שהבדיקה מתבצעת עם מערך נתונים חדש.
בליעת נתונים
הורדנו את הנתונים ישירות והגדרנו אותם לאימון. בחיים האמיתיים, ייתכן שיהיה עליך לשלוח את הנתונים ישירות ממכשיר הקצה אל אגם הנתונים ולגרום ל-SageMaker לטעון אותם ישירות מאגם הנתונים למחברת.
Kinesis Data Firehose היא אפשרות טובה והדרך הפשוטה ביותר לטעון באופן אמין נתונים זורמים לתוך אגמי נתונים, מאגרי נתונים וכלי ניתוח. זה יכול ללכוד, להפוך ולטעון נתונים זורמים לתוך Amazon S3 וחנויות נתונים אחרות של AWS.
במקרה השימוש שלנו, אנו יוצרים זרם אספקת Kinesis Data Firehose עם פונקציית טרנספורמציה של Lambda כדי לבצע ניקוי נתונים קל משקל בזמן שהוא חוצה את הזרם. ראה את הקוד הבא:
פונקציית Lambda זו מבצעת טרנספורמציה קלה של הנתונים המוזרמים מהמכשירים אל אגם הנתונים. הוא מצפה לקובץ נתונים בפורמט CSV.
עבור שלב ההטמעה, אנו מורידים את הנתונים ומדמים זרם נתונים ל-Kinesis Data Firehose עם פונקציית טרנספורמציה של Lambda ואל אגם הנתונים S3 שלנו.
בואו נדמה זרימה של כמה שורות:
לנקות את
חשוב למחוק את כל המשאבים המשמשים בתרגיל זה כדי למזער את העלות. הקוד הבא מוחק את נקודת הסיום של SageMaker שיצרנו וכן את נתוני ההדרכה והבדיקות שהעלינו:
סיכום
מהנדסי ML, מדעני נתונים ומפתחי תוכנה יכולים להשתמש בטייס אוטומטי כדי לבנות ולפרוס צינור מסקנות עם מעט ניסיון בתכנות ML. טייס אוטומטי חוסך זמן ומשאבים, תוך שימוש במדעי הנתונים ושיטות העבודה המומלצות של ML. ארגונים גדולים יכולים כעת להעביר משאבים הנדסיים הרחק מתצורת תשתית לשיפור מודלים ופתרון מקרי שימוש עסקיים. סטארט-אפים וארגונים קטנים יותר יכולים להתחיל עם למידת מכונה עם מומחיות מועטה עד ללא מומחיות ב-ML.
כדי להתחיל עם טייס אוטומטי של SageMaker, ראה את דף מוצר או גש ל-SageMaker Autopilot בתוך SageMaker Studio.
אנו ממליצים גם ללמוד עוד על תכונות חשובות אחרות שיש ל-SageMaker להציע, כגון חנות הפונקציות של אמזון SageMaker, המשתלב עם צינורות SageMaker של אמזון כדי ליצור, להוסיף חיפוש וגילוי תכונות ולהשתמש מחדש בזרימות עבודה אוטומטיות של ML. אתה יכול להריץ סימולציות של טייס אוטומטי מרובות עם גרסאות שונות של תכונה או יעד במערך הנתונים שלך. אתה יכול גם להתייחס לזה כבעיית הקצאת רכב דינמית שבה הדגם שלך מנסה לחזות את הביקוש לרכב על סמך זמן (כגון שעה ביום או יום בשבוע) או מיקום, או שילוב של שניהם.
על הכותבים
דאג מבאיה הוא ארכיטקט פתרונות בכיר עם התמקדות בנתונים וניתוחים. דאג עובד בשיתוף פעולה הדוק עם שותפי AWS, ועוזר להם לשלב פתרונות נתונים וניתוח בענן. הניסיון הקודם של דאג כולל תמיכה בלקוחות AWS בגזרת שיתוף הנסיעות ומשלוחי מזון.
ולריו פרונה הוא מנהל מדע יישומי שעובד על אמזון SageMaker כוונון דגמים אוטומטי וטייס אוטומטי.
- Coinsmart. בורסת הביטקוין והקריפטו הטובה באירופה.
- Platoblockchain. Web3 Metaverse Intelligence. ידע מוגבר. גישה חופשית.
- CryptoHawk. רדאר אלטקוין. ניסיון חינם.
- מקור: https://aws.amazon.com/blogs/machine-learning/automate-a-shared-bikes-and-scooters-classification-model-with-amazon-sagemaker-autopilot/
- '
- "
- &
- 100
- אודות
- גישה
- הושג
- פעילויות
- מתקדם
- אלגוריתמים
- תעשיות
- הַקצָאָה
- אמזון בעברית
- ניתוח
- אחר
- API
- גישה
- ארכיטקטורה
- AREA
- טיעונים
- אוטומטי
- AWS
- מִפרָץ
- הטוב ביותר
- שיטות עבודה מומלצות
- לִבנוֹת
- עסקים
- שיחה
- יכול לקבל
- אשר
- מקרים
- שינוי
- בחירות
- מיון
- ניקוי
- ענן
- קוד
- טור
- שילוב
- שילובים
- חברה
- רְכִיב
- מצב
- תְצוּרָה
- מכולה
- מכולות
- מכיל
- יכול
- לקוחות
- נתונים
- עיבוד נתונים
- מדע נתונים
- יְוֹם
- מסירה
- דרישה
- לפרוס
- פריסה
- מפתחים
- מכשיר
- התקנים
- אחר
- תגלית
- לְהַצִיג
- הפצה
- מטה
- ירידה
- דינמי
- אדג '
- הצף
- נקודת קצה
- הנדסה
- מהנדסים
- אירוע
- דוגמה
- אלא
- תרגיל
- מצפה
- ניסיון
- לְנַסוֹת
- מומחיות
- מאפיין
- תכונות
- ראשון
- להתמקד
- לעקוב
- הבא
- מזון
- פרנסיסקו
- פונקציה
- מקבל
- הולך
- טוב
- טיפול
- כאן
- גָבוֹהַ
- איך
- איך
- HTTPS
- חשוב
- כולל
- תשתית
- לשלב
- IT
- עבודה
- מקומות תעסוקה
- גָדוֹל
- השקות
- למידה
- רמה
- סִפְרִיָה
- אוֹר
- קַל מִשְׁקָל
- קו
- לינקדין
- קְצָת
- לִטעוֹן
- באופן מקומי
- מיקום
- מכונה
- למידת מכונה
- הרוב
- עשייה
- מנהל
- ML
- מודל
- מודלים
- רוב
- מחברה
- הַצָעָה
- המיוחדות שלנו
- פועל
- אפשרות
- להזמין
- ארגונים
- אחר
- אַחֶרֶת
- השתתפות
- שותפים
- אֲנָשִׁים
- ביצועים
- אפשרי
- נבואה
- בעיה
- תהליך
- תָכְנִית
- תכנות
- לספק
- ציבורי
- מהירות
- חי
- זמן אמת
- להמליץ
- שיא
- רשום
- נדרש
- משאבים
- החזרות
- סקירה
- כללי
- הפעלה
- ריצה
- לְמַהֵר
- סן
- סן פרנסיסקו
- חסכת
- מדע
- מדענים
- חיפוש
- נבחר
- סדרה
- סט
- שיתוף
- משותף
- משמרת
- פָּשׁוּט
- הדמיה
- מידה
- לִישׁוֹן
- So
- תוכנה
- לפצל
- התחלה
- החל
- חברות סטארט
- אחסון
- חנויות
- זרם
- מוזרם
- נהירה
- סטודיו
- יעד
- טכניקות
- מבחן
- בדיקות
- דרך
- זמן
- היום
- כלים
- הדרכה
- לשנות
- טרנספורמציה
- us
- להשתמש
- משתמשים
- תועלת
- ערך
- רכב
- אתר
- שבוע
- אם
- ויקיפדיה
- בתוך
- עובד
- עובד