בנה, אימון ופרוס דגמי Amazon Lookout for Equipment באמצעות Python Toolbox PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

בנה, אימון ופרוס דגמי Amazon Lookout for Equipment באמצעות ארגז הכלים של Python

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

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

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

מתוך משימה לשים ML בידיו של כל מפתח, אנו רוצים להציג תוסף נוסף ל- Lookout for Equipment: ארגז כלים של Python בקוד פתוח שמאפשר למפתחים ומדעני נתונים לבנות, לאמן ולפרוס מודלים של Lookout for Equipment בדומה למה שאתה רגיל אליו אמזון SageMaker. ספרייה זו היא מעטפת על גבי ה-API של Lookout for Equipment boto3 python ומסופקת כדי להתחיל את המסע שלך עם שירות זה. אם יש לך הצעות שיפור או באגים לדווח, נא להגיש בעיה נגד ארגז הכלים מאגר GitHub.

בפוסט זה, אנו מספקים מדריך שלב אחר שלב לשימוש בארגז הכלים של Python בקוד פתוח של Lookout for Equipment מתוך מחברת SageMaker.

הגדרת סביבה

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

  1. כדי למצוא את התפקיד המצורף למופע, בחר את המופע בקונסולת SageMaker.
    בנה, אימון ופרוס דגמי Amazon Lookout for Equipment באמצעות Python Toolbox PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
  2. במסך הבא, גלול מטה כדי למצוא את AWS זהות וניהול גישה תפקיד (IAM) המצורף למופע ב- הרשאות והצפנה סָעִיף.
  3. בחר את התפקיד לפתיחת מסוף IAM.
    בנה, אימון ופרוס דגמי Amazon Lookout for Equipment באמצעות Python Toolbox PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

לאחר מכן, אנו מצרפים מדיניות מוטבעת לתפקיד SageMaker IAM שלנו.

  1. על הרשאות לשונית של התפקיד שפתחת, בחר הוסף מדיניות מוטבעת.
    בנה, אימון ופרוס דגמי Amazon Lookout for Equipment באמצעות Python Toolbox PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
  2. על JSON לשונית, הזן את הקוד הבא. אנו משתמשים בפעולת כרטיס פראי (lookoutequipment:*) עבור השירות למטרות הדגמה. במקרים של שימוש אמיתי, ספק רק את ההרשאות הנדרשות להפעלת קריאות ה-API המתאימות של SDK.
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lookoutequipment:*" ], "Resource": "*" } ] }

  3. לבחור מדיניות סקירה.
  4. ספק שם לפוליסה וצור את הפוליסה.

בנוסף למדיניות המוטבעת הקודמת, באותו תפקיד של IAM, עלינו ליצור קשרי אמון כדי לאפשר ל-Lookout for Equipment לקחת את התפקיד הזה. לתפקיד SageMaker כבר יש את הגישה המתאימה לנתונים שירות אחסון פשוט של אמזון (אמזון S3); מתן אפשרות ל- Lookout for Equipment למלא את התפקיד הזה מוודא שיש לו את אותה גישה לנתונים מאשר למחברת שלך. בסביבתך, ייתכן שכבר יש לך תפקיד ספציפי המבטיח ל-Lookout for Equipment גישה לנתונים שלך, ובמקרה זה אינך צריך להתאים את יחסי האמון של תפקיד נפוץ זה.

  1. בתוך תפקיד SageMaker IAM שלנו על יחסי אמון בחר, בחר ערוך יחסי אמון.
  2. תחת מסמך המדיניות, החלף את כל הפוליסה בקוד הבא:
     { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lookoutequipment.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

  3. לבחור עדכן את מדיניות האמון.

כעת כולנו מוכנים להשתמש בארגז הכלים Lookout for Equipment בסביבת המחברת SageMaker שלנו. ארגז הכלים Lookout for Equipment הוא חבילת Python בקוד פתוח המאפשרת למדעני נתונים ומפתחי תוכנה לבנות ולפרוס בקלות מודלים לזיהוי חריגות של סדרות זמן באמצעות Lookout for Equipment. בואו נראה מה אתם יכולים להשיג בקלות רבה יותר הודות לארגז הכלים!

תלוי

בזמן הכתיבה, ארגז הכלים צריך להתקין את הדברים הבאים:

לאחר שתספק את התלות הללו, תוכל להתקין ולהפעיל את ארגז הכלים Lookout for Equipment עם הפקודה הבאה ממסוף Jupyter:

pip install lookoutequipment

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

  • הכן את מערך הנתונים
  • אימון מודל זיהוי חריגות באמצעות Lookout for Equipment
  • בנה הדמיות להערכת המודל שלך
  • הגדר והתחל מתזמן מסקנות
  • דמיין תוצאות מסקנות מתזמן

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

הכן את מערך הנתונים

Lookout for Equipment דורשת יצירת מערך נתונים והטמעה. כדי להכין את מערך הנתונים, בצע את השלבים הבאים:

  1. לפני יצירת מערך הנתונים, עלינו לטעון מערך נתונים לדוגמה ולהעלות אותו ל- שירות אחסון פשוט של אמזון דלי (Amazon S3). בפוסט זה אנו משתמשים ב- expander מערך נתונים:
    from lookoutequipment import dataset data = dataset.load_dataset(dataset_name='expander', target_dir='expander-data')
    dataset.upload_dataset('expander-data', bucket, prefix)

החזרה data אובייקט מייצג מילון המכיל את הדברים הבאים:

    • אימון נתונים DataFrame
    • תווית DataFrame
    • מועדי ההתחלה והסיום של ההדרכה
    • מועדי ההתחלה והסיום של ההערכה
    • תיאור תגיות DataFrame

נתוני ההדרכה והתוויות מועלים מספריית היעד לאמזון S3 במיקום הדלי/קידומת.

  1. לאחר העלאת מערך הנתונים ב-S3, אנו יוצרים אובייקט של LookoutEquipmentDataset מחלקה שמנהלת את מערך הנתונים:
    lookout_dataset = dataset.LookoutEquipmentDataset( dataset_name='my_dataset', access_role_arn=role_arn, component_root_dir=f's3://{bucket}/{prefix}training-data'
    ) # creates the dataset
    lookout_dataset.create()

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

אל האני component_root_dir פרמטר צריך לציין את המיקום באמזון S3 שבו מאוחסנים נתוני האימון.

לאחר השקת ממשקי ה-API הקודמים, מערך הנתונים שלנו נוצר.

  1. הטמעת הנתונים לתוך מערך הנתונים:
    response = lookout_dataset.ingest_data(bucket, prefix + 'training-data/')

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

אימון מודל זיהוי חריגות

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

from lookoutequipment import model lookout_model = model.LookoutEquipmentModel(model_name='my_model', dataset_name='my_dataset') lookout_model.set_time_periods(data['evaluation_start'],data['evaluation_end'],data['training_start'],data['training_end'])
lookout_model.set_label_data(bucket=bucket,prefix=prefix + 'label-data/',access_role_arn=role_arn)
lookout_model.set_target_sampling_rate(sampling_rate='PT5M') #trigger training job
response = lookout_model.train() #poll every 5 minutes to check the status of the training job
lookout_model.poll_model_training(sleep_time=300)

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

מודול ההדרכה של ארגז הכלים Lookout for Equipment מאפשר לך לאמן דגם עם פחות מ-10 שורות קוד. הוא בונה בשמך את כל מחרוזות הבקשות ליצירת אורך הדרושות ל-API ברמה נמוכה, ומסיר את הצורך ממך לבנות מסמכי JSON ארוכים ומועדים לשגיאות.

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

להעריך מודל מאומן

לאחר הכשרת דוגמנית, ה תאר דגם API מ- Lookout for Equipment מתעד את המדדים המשויכים לאימון. API זה מחזיר מסמך JSON עם שני שדות עניין כדי לשרטט את תוצאות ההערכה: labeled_ranges ו predicted_ranges, המכילים את החריגות הידועות והחזויות בטווח ההערכה, בהתאמה. ארגז הכלים מספק כלי עזר לטעינת אלה ב-Pandas DataFrame במקום זאת:

from lookoutequipment import evaluation LookoutDiagnostics = evaluation.LookoutEquipmentAnalysis(model_name='my_model', tags_df=data['data']) predicted_ranges = LookoutDiagnostics.get_predictions()
labels_fname = os.path.join('expander-data', 'labels.csv')
labeled_range = LookoutDiagnostics.get_labels(labels_fname)

היתרון בטעינת הטווחים ב-DataFrame הוא שאנו יכולים ליצור הדמיות נחמדות על ידי התווים של אחד מאותות סדרת הזמן המקוריים ולהוסיף שכבת-על של האירועים החריגים המסומנים והחזויים על ידי שימוש ב- TimeSeriesVisualization מחלקה של ארגז הכלים:

from lookoutequipment import plot TSViz = plot.TimeSeriesVisualization(timeseries_df=data['data'], data_format='tabular')
TSViz.add_signal(['signal-001'])
TSViz.add_labels(labeled_range)
TSViz.add_predictions([predicted_ranges])
TSViz.add_train_test_split(data['evaluation_start'])
TSViz.add_rolling_average(60*24)
TSViz.legend_format = {'loc': 'upper left', 'framealpha': 0.4, 'ncol': 3}
fig, axis = TSViz.plot()

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

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

בנה, אימון ופרוס דגמי Amazon Lookout for Equipment באמצעות Python Toolbox PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

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

תזמן מסקנות

בואו נראה כיצד נוכל לתזמן מסקנות באמצעות ארגז הכלים:

from lookout import scheduler #prepare dummy inference data
dataset.prepare_inference_data( root_dir='expander-data', sample_data_dict=data, bucket=bucket, prefix=prefix
) #setup the scheduler
lookout_scheduler = scheduler.LookoutEquipmentScheduler(scheduler_name='my_scheduler',model_name='my_model')
scheduler_params = { 'input_bucket': bucket, 'input_prefix': prefix + 'inference-data/input/', 'output_bucket': bucket, 'output_prefix': prefix + 'inference-data/output/', 'role_arn': role_arn, 'upload_frequency': 'PT5M', 'delay_offset': None, 'timezone_offset': '+00:00', 'component_delimiter': '_', 'timestamp_format': 'yyyyMMddHHmmss' } lookout_scheduler.set_parameters(**scheduler_params)
response = lookout_scheduler.create()

קוד זה יוצר מתזמן שמעבד קובץ אחד כל 5 דקות (בהתאמה לתדירות ההעלאה שנקבעה בעת הגדרת המתזמן). לאחר 15 דקות בערך, אמורות להיות לנו כמה תוצאות זמינות. כדי לקבל את התוצאות האלה מהמתזמן ב-Pandas DataFrame, אנחנו רק צריכים להפעיל את הפקודה הבאה:

results_df = lookout_scheduler.get_predictions()

מכאן נוכל גם לשרטט את חשיבות התכונה עבור חיזוי באמצעות ממשקי ה-API להדמיה של ארגז הכלים:

event_details = pd.DataFrame(results_df.iloc[0, 1:]).reset_index()
fig, ax = plot.plot_event_barh(event_details)

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

בנה, אימון ופרוס דגמי Amazon Lookout for Equipment באמצעות Python Toolbox PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

ארגז הכלים מספק גם API לעצירת מתזמן. ראה את קטע הקוד הבא:

scheduler.stop()

לנקות את

כדי למחוק את כל החפצים שנוצרו בעבר, נוכל לקרוא ל- delete_dataset ממשק API עם השם של מערך הנתונים שלנו:

dataset.delete_dataset(dataset_name='my_dataset', delete_children=True, verbose=True)

סיכום

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

שירותי אמזון יישומי בינה מלאכותית כגון Lookout for Equipment מאפשרים ליצרנים לבנות מודלים של בינה מלאכותית ללא גישה לצוות מגוון של מדעני נתונים, מהנדסי נתונים ומהנדסי תהליכים. כעת, עם ארגז הכלים Lookout for Equipment, המפתחים שלך יכולים לצמצם עוד יותר את הזמן הדרוש כדי לחקור תובנות בנתוני סדרות הזמן שלך ולנקוט פעולה. ארגז כלים זה מספק ממשק קל לשימוש וידידותי למפתחים כדי לבנות במהירות מודלים לזיהוי חריגות באמצעות Lookout for Equipment. ארגז הכלים הוא קוד פתוח וניתן למצוא את כל קוד ה-SDK ב- amazon-lookout-for-equipment-python-sdk ריפו של GitHub. זה זמין גם בתור א חבילת PyPi.

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


על הכותבים

בנה, אימון ופרוס דגמי Amazon Lookout for Equipment באמצעות Python Toolbox PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.ויקש פנדי הוא ארכיטקט פתרונות מומחה ללימוד מכונה ב-AWS, שעוזר ללקוחות בבריטניה ובאזור EMEA רחב יותר לתכנן ולבנות פתרונות ML. מחוץ לעבודה, ויקש נהנה לנסות מאכלים שונים ולשחק בספורט בחוץ.

בנה, אימון ופרוס דגמי Amazon Lookout for Equipment באמצעות Python Toolbox PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.יואן קטאנה הוא ארכיטקט פתרונות מומחה לבינה מלאכותית ולמידת מכונה ב-AWS. הוא עוזר ללקוחות לפתח ולהרחיב את פתרונות ה-ML שלהם בענן AWS. ליואן יש למעלה מ-20 שנות ניסיון, בעיקר בתכנון ארכיטקטורת תוכנה והנדסת ענן.

בנה, אימון ופרוס דגמי Amazon Lookout for Equipment באמצעות Python Toolbox PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.מיכאל הוראו הוא ארכיטקט פתרונות מומחה בינה מלאכותית/ML ב-AWS המחליף בין מדען נתונים וארכיטקט למידת מכונה, בהתאם לרגע. הוא נלהב להביא את הכוח של AI/ML לרצפות החנויות של לקוחותיו התעשייתיים ועבד על מגוון רחב של מקרי שימוש ב-ML, החל מזיהוי חריגות ועד איכות מוצר חזויה או אופטימיזציה של ייצור. כשהוא לא עוזר ללקוחות לפתח את חוויות למידת המכונה הטובות הבאות, הוא נהנה להתבונן בכוכבים, לטייל או לנגן בפסנתר.

בול זמן:

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