איתור אנומליות בנתונים באמצעות בינה מלאכותית: ניטור איכות אוטומטי

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

תחומי פיתוח AI

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

זיהוי אנומליות אוטומטי: היכן נשבר הבקרה הידנית

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

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

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

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

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

אפקט מדיד: מה משתנה לאחר הטמעת הניטור

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

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

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

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

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

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

מצבי ניטור: אצוות, זרימה והיברידי

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

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

כיצד לבחור מצב

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

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

שלבי הטמעה: מניתוח נתונים ועד מסירת נהלים

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

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

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

מה מוסרים לידיים: כללים, סכמות ונהלים

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

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

מקרה בוחן: אנומליות בזרם טלמטריה לפני ואחרי ההטמעה

זרם הטלמטריה עבר דרך Kafka — עשרות אלפי אירועים בשעה מציוד ומשירותים פנימיים. את איכות הנתונים בחנו ידנית: האנליסט חילץ פעם ביום צבירות והשווה לתקופה קודמת. האנומליה שהתה במערכת עד 19 שעות לפני שהבחינו בה — בזמן הזה הספיקו הדוחות להתחשב מחדש ולעלות לפאנלים של המנהלים.

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

מה שינינו

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

מדדים לפני ואחרי

מדד לפני אחרי
זמן זיהוי האנומליה עד 19 שעות 8 דקות
שיעור אותות השווא 80% 9%
כיסוי מקורות הנתונים 4 מתוך 20 20 מתוך 20

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

במה נבדלים כללי סף ממודלים של למידת מכונה?

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

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

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

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

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

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

הפעלות שווא, סימון והתנעה קרה של המודל

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

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

המערכת לא תציף בהפעלות שווא?

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

מי מסמן את האירועים וכמה זה עתיר עבודה?

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

מה עושים אם ההיסטוריה קצרה ממחזור עונתי?

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

נדון במשימה: מה נדרש להרצת הניטור

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

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

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