זיהוי חריגות בנתוני ייצור באמצעות Amazon SageMaker Canvas | שירותי האינטרנט של אמזון

זיהוי חריגות בנתוני ייצור באמצעות Amazon SageMaker Canvas | שירותי האינטרנט של אמזון

עם שימוש במחשוב ענן, כלים ביג דאטה ולמידת מכונה (ML) כמו אמזונה אתנה or אמזון SageMaker הפכו לזמינים ושמישים על ידי כל אחד ללא מאמץ רב ביצירה ותחזוקה. חברות תעשייתיות מסתכלות יותר ויותר על ניתוח נתונים וקבלת החלטות מונעות נתונים כדי להגביר את יעילות המשאבים בכל הפורטפוליו שלהן, מתפעול ועד ביצוע תחזוקה חזויה או תכנון.

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

אמזון SageMaker Canvas מטפל בדילמה זו על ידי מתן ממשק ללא קוד למומחי תחום ליצירת מודלים אנליטיים ו-ML רבי עוצמה, כגון תחזיות, סיווג או מודלים של רגרסיה. זה גם מאפשר לך לפרוס ולשתף מודלים אלה עם מומחי ML ו-MLOps לאחר היצירה.

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

איתור חריגות לתעשיית הייצור

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

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

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

סקירת פתרונות

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

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

התרשים הבא ממחיש את ארכיטקטורת הפתרונות.

סקירה כללית של התהליך: נוצר מודל ב- SageMaker Canvas, נפרס ולאחר מכן ניגש אליו מ-AWS Lambda Funcino.

הפתרון מורכב מארבעה שלבים מרכזיים:

  1. מומחה התחום יוצר את המודל הראשוני, כולל ניתוח נתונים ואצירת תכונות באמצעות SageMaker Canvas.
  2. מומחה התחום משתף את המודל דרך ה רישום הדגמים של אמזון SageMaker או פורס אותו ישירות כנקודת קצה בזמן אמת.
  3. מומחה MLOps יוצר את תשתית ההסקה והקוד ומתרגם את פלט המודל מחיזוי לאינדיקטור אנומליה. קוד זה פועל בדרך כלל בתוך an AWS למבדה פונקציה.
  4. כאשר אפליקציה דורשת זיהוי אנומליה, היא קוראת לפונקציית Lambda, המשתמשת במודל להסקת מסקנות ומספקת את התגובה (בין אם זו חריגה ובין אם לאו).

תנאים מוקדמים

כדי לעקוב אחרי פוסט זה, עליך לעמוד בדרישות הקדם הבאות:

צור את המודל באמצעות SageMaker

תהליך יצירת המודל עוקב אחר השלבים הסטנדרטיים ליצירת מודל רגרסיה ב- SageMaker Canvas. למידע נוסף, עיין ב התחלת השימוש ב- Amazon SageMaker Canvas.

ראשית, מומחה התחום טוען נתונים רלוונטיים לתוך SageMaker Canvas, כגון סדרת זמן של מדידות. עבור פוסט זה, אנו משתמשים בקובץ CSV המכיל את המדידות (הנוצרות באופן סינתטי) של מנוע חשמלי. לפרטים, עיין ב ייבא נתונים לתוך Canvas. הנתונים לדוגמה שבהם נעשה שימוש זמינים להורדה בתור א CSV.

תמונה המציגה את השורות הראשונות של ה-csv. בנוסף, היסטוגרמה ומדדי אמת מידה מוצגים עבור מודל תצוגה מקדימה מהירה.

אצור את הנתונים עם SageMaker Canvas

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

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

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

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

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

ברוב המקרים, בחירת כמויות קלט ויעד מתאימות פירושה בחירת העמודות הימניות בלבד וסימון עמודת היעד (לדוגמה זו, bearing_temperature). עם זאת, מומחה תחום יכול גם להשתמש בתכונות ללא קוד של SageMaker Canvas כדי לשנות עמודות ולצמצם או לצבור את הנתונים. לדוגמה, אתה יכול לחלץ או לסנן תאריכים או חותמות זמן ספציפיים מהנתונים שאינם רלוונטיים. SageMaker Canvas תומך בתהליך זה, מציג נתונים סטטיסטיים על הכמויות שנבחרו, ומאפשר לך להבין אם לכמות יש חריגים והתפשטות שעשויים להשפיע על תוצאות המודל.

אימון, כוונון והערכת המודל

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

בדרך כלל, אתה יכול להשתמש ב- SageMaker Canvas תצוגה מקדימה של דגם אוֹפְּצִיָה. זה מספק אינדיקציה מהירה של איכות הדגם המצופה, ומאפשר לך לחקור את ההשפעה שיש לתשומות שונות על מדד הפלט. לדוגמה, בצילום המסך הבא, המודל מושפע ביותר מה- motor_speed ו ambient_temperature מדדים בעת חיזוי bearing_temperature. זה הגיוני, כי הטמפרטורות הללו קשורות קשר הדוק. יחד עם זאת, חיכוך נוסף או אמצעים אחרים לאובדן אנרגיה עשויים להשפיע על כך.

עבור איכות המודל, ה-RMSE של המודל הוא אינדיקטור עד כמה המודל הצליח ללמוד את ההתנהגות הרגילה בנתוני האימון ולשחזר את הקשרים בין מדדי הקלט והפלט. לדוגמה, במודל הבא, המודל אמור להיות מסוגל לחזות את הנכון motor_bearing טמפרטורה בטווח של 3.67 מעלות צלזיוס, כך שנוכל להתייחס לסטייה של הטמפרטורה האמיתית מחיזוי מודל שגדול מ, למשל, 7.4 מעלות כאנומליה. עם זאת, הסף האמיתי שבו תשתמש יהיה תלוי ברגישות הנדרשת בתרחיש הפריסה.

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

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

פרוס את הדגם

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

בפוסט זה ולמען הפשטות, אנו פורסים את המודל כנקודת קצה מ- SageMaker Canvas ישירות. להנחיות, עיין ב פרוס את הדגמים שלך לנקודת קצה. הקפד לשים לב לשם הפריסה ולשקול את התמחור של סוג המופע אליו אתה פורס (עבור פוסט זה, אנו משתמשים ב-ml.m5.large). לאחר מכן, SageMaker Canvas תיצור נקודת קצה מודל שניתן לקרוא לה כדי לקבל תחזיות.

חלון יישום המציג את התצורה של פריסת מודל. ההגדרות המוצגות הן גודל מכונה ml.m5.large ושם הפריסה של דגם-unomaly-exempel.

במסגרות תעשייתיות, דגם צריך לעבור בדיקה יסודית לפני שניתן יהיה לפרוס אותו. לשם כך, מומחה הדומיין לא יפרוס אותו, אלא ישתף את המודל עם רישום המודלים של SageMaker. כאן, מומחה תפעול של MLOps יכול להשתלט. בדרך כלל, אותו מומחה יבדוק את נקודת הקצה של המודל, יעריך את גודל ציוד המחשוב הנדרש עבור יישום היעד, ויקבע את הפריסה היעילה ביותר, כגון פריסה להסקה ללא שרת או הסקת אצווה. שלבים אלה הם בדרך כלל אוטומטיים (לדוגמה, באמצעות אמזון Sagemaker Pipelines או SDK של אמזון).

תמונה המציגה את הכפתור לשיתוף דגם מאמזון Sgemaker למרשם הדגמים.

השתמש במודל לזיהוי אנומליות

בשלב הקודם, יצרנו פריסת מודל ב- SageMaker Canvas, הנקראת canvas-sample-anomaly-model. אנו יכולים להשתמש בו כדי לקבל תחזיות של א bearing_temperature ערך המבוסס על העמודות האחרות במערך הנתונים. כעת, אנו רוצים להשתמש בנקודת הקצה הזו כדי לזהות חריגות.

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

# We are using pandas dataframes for data handling
import pandas as pd import boto3,json
sm_runtime_client = boto3.client('sagemaker-runtime') # Configuration of the actual model invocation
endpoint_name="canvas-sample-anomaly-model"
# Name of the column in the input data to compare with predictions
TARGET_COL='bearing_temperature' def do_inference(data, endpoint_name): # Example Code provided by Sagemaker Canvas body = data.to_csv(header=False, index=True).encode("utf-8") response = sm_runtime_client.invoke_endpoint(Body = body, EndpointName = endpoint_name, ContentType = "text/csv", Accept = "application/json", ) return json.loads(response["Body"].read()) def input_transformer(input_data, drop_cols = [ TARGET_COL ] ): # Transform the input: Drop the Target column return input_data.drop(drop_cols,axis =1 ) def output_transformer(input_data,response): # Take the initial input data and compare it to the response of the prediction model scored = input_data.copy() scored.loc[ input_data.index,'prediction_'+TARGET_COL ] = pd.DataFrame(
response[ 'predictions' ],
index = input_data.index )['score'] scored.loc[ input_data.index,'error' ] = (
scored[ TARGET_COL ]-scored[ 'prediction_'+TARGET_COL ]
).abs() return scored # Run the inference
raw_input = pd.read_csv(MYFILE) # Read my data for inference
to_score = input_transformer(raw_input) # Prepare the data
predictions = do_inference(to_score, endpoint_name) # create predictions
results = output_transformer(to_score,predictions) # compare predictions & actuals

הקוד הקודם מבצע את הפעולות הבאות:

  1. נתוני הקלט מסוננים עד לתכונות הנכונות (פונקציה "input_transformer").
  2. נקודת הקצה של מודל SageMaker מופעלת עם הנתונים המסוננים (פונקציה "do_inference"), שבו אנו מטפלים בעיצוב קלט ופלט בהתאם לקוד לדוגמה שסופק בעת פתיחת דף הפרטים של הפריסה שלנו ב- SageMaker Canvas.
  3. תוצאת הפנייה מצטרפת לנתוני הקלט המקוריים וההבדל נשמר בעמודת השגיאה (פונקציה "output_transform").

מצא חריגות והעריך אירועים חריגים

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

לצורך בדיקה, נוכל להריץ את הקוד גם במחברת SageMaker. הגרפים הבאים מציגים את הקלט והפלט של המודל שלנו בעת שימוש בנתונים לדוגמה. שיאים בסטייה בין הערכים החזויים והממשיים (ציון אנומליה, המוצג בגרף התחתון) מצביעים על חריגות. לדוגמה, בגרף, אנו יכולים לראות שלוש פסגות ברורות שבהן ציון האנומליה (ההבדל בין הטמפרטורה הצפויה לטמפרטורה האמיתית) עולה על 7 מעלות צלזיוס: הראשון לאחר זמן סרק ארוך, השני בירידה תלולה של bearing_temperature, והאחרון איפה bearing_temperature גבוה בהשוואה ל motor_speed.

שני גרפים לסדרות זמן. החלק העליון מציג את סדרת הזמן של טמפרטורות המנוע ומהירויות המנוע. הגרף התחתון מציג את ציון האנומליה לאורך זמן עם שלושה שיאים המעידים על חריגות.

במקרים רבים, ידיעת סדרת הזמן של ציון האנומליה כבר מספיקה; אתה יכול להגדיר סף מתי להתריע על חריגה משמעותית בהתבסס על הצורך ברגישות לדגם. הציון הנוכחי מצביע על כך שלמכונה יש מצב לא תקין הדורש בדיקה. לדוגמה, עבור המודל שלנו, הערך המוחלט של ציון האנומליה מתחלק כפי שמוצג בגרף הבא. זה מאשר שרוב ציוני האנומליה הם מתחת ל-(2xRMS=)8 מעלות שנמצאו במהלך האימון עבור המודל בתור השגיאה האופיינית. הגרף יכול לעזור לך לבחור סף באופן ידני, כך שהאחוז הנכון של הדגימות המוערכות יסומן כחריגות.

היסטוגרמה של התרחשות ערכים עבור ציון האנומליה. העקומה יורדת מ-x=0 ל-x=15.

אם התפוקה הרצויה היא אירועים של חריגות, אזי ציוני החריגות שמספק המודל דורשים חידוד כדי להיות רלוונטיים לשימוש עסקי. לשם כך, מומחה ה-ML יוסיף בדרך כלל עיבוד לאחר כדי להסיר רעש או פסגות גדולות בציון האנומליה, כגון הוספת ממוצע מתגלגל. בנוסף, המומחה יעריך בדרך כלל את ציון האנומליה לפי היגיון הדומה להעלאת אמזון CloudWatch אזעקה, כגון מעקב אחר פריצת סף לאורך זמן מסוים. למידע נוסף על הגדרת אזעקות, עיין ב שימוש באזעקות Amazon CloudWatch. הפעלת הערכות אלו בפונקציית Lambda מאפשרת לשלוח אזהרות, למשל, על ידי פרסום אזהרה ל- שירות התראה פשוט של אמזון (אמזון SNS) נושא.

לנקות את

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

  1. ב- SageMaker Canvas, מצא את פריסת נקודת הקצה המודל שלך ומחק אותה.
  2. התנתק מ- SageMaker Canvas כדי למנוע חיובים על כך שהוא פועל בחוסר מעש.

<br> סיכום

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

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


על הסופר

זיהוי חריגות בנתוני ייצור באמצעות Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Data Intelligence. חיפוש אנכי. איי. Helge Aufderheide הוא חובב הפיכת נתונים לשמישים בעולם האמיתי עם התמקדות חזקה באוטומציה, אנליטיקה ולמידת מכונה ביישומים תעשייתיים, כגון ייצור וניידות.

בול זמן:

עוד מ למידת מכונות AWS