המתמטיקה מאחורי התאמת מכשירים בין מפגשים
היסודות המתמטיים של התאמת מכשירים למרות אותות משתנים — כיצד ניתוח מבוסס בינה מלאכותית מחבר מחדש מבקרים חוזרים חרף סחיפת אותות.
טביעת אצבע של מכשירים ניצבת בפני אתגר יסודי: האותות משתנים. דפדפנים מתעדכנים, משתמשים משנים הגדרות, גופנים מותקנים ומוסרים. השוואה נוקשה הייתה מתייחסת לכל אות שהשתנה כאל מכשיר חדש, ובכך הורסת את דיוק הזיהוי. מערכת ההתאמה בין המפגשים שלנו פותרת זאת באמצעות טכניקות מבוססות בינה מלאכותית המכמתות דמיון במקום לדרוש שוויון מדויק.
הבעיה: סחיפת אותות
הביטו במכשיר שנלקחה ממנו טביעת אצבע אתמול והחוזר היום לאחר עדכון דפדפן. מחרוזת ה‑user agent השתנתה. שתי תכונות CSS חדשות נתמכות כעת. הרחבת WebGL נוספה. עיבוד ה‑canvas נותר זהה (אותו GPU, אותו מנהל התקן). טביעת האצבע של האודיו זהה. פרמטרי ה‑WebGL זהים למעט ההרחבה החדשה.
עם התאמה מדויקת, מכשיר זה לא היה מזוהה — טביעת האצבע המשולבת השתנתה. אך אינטואיטיבית, אנו יודעים שזהו אותו מכשיר. אותות החומרה זהים, והשינויים בתוכנה עקביים עם עדכון דפדפן. מערכת ההתאמה בין המפגשים שלנו מפרמלת אינטואיציה זו.
השוואה מבוססת קבוצות עבור אותות של תכונות
אותות דפדפן רבים מיוצגים באופן טבעי כקבוצות: קבוצת תכונות ה‑CSS הנתמכות, קבוצת הגופנים הזמינים, קבוצת הרחבות ה‑WebGL. עבור אותות אלה אנו מודדים חפיפה באמצעות מדדי דמיון מבוססי קבוצות. עבור שתי קבוצות A ו‑B, אנו מחשבים את היחס בין האיברים המשותפים לכלל האיברים.
מכשיר עם 45 תכונות CSS אתמול ו‑47 היום (עם 44 משותפות) מקבל ציון דמיון גבוה. זה מספיק כדי להעיד על אותו מכשיר לאחר עדכון דפדפן. מכשיר שונה לחלוטין עשוי לחלוק רק 30 תכונות CSS, ולתת ציון דמיון נמוך בהרבה. הסף בין "אותו מכשיר" ל"מכשיר שונה" נלמד מנתונים מתויגים.
יצירת מועמדים יעילה
חישוב הדמיון בין כל זוג מכשירים היה יקר באופן בלתי מעשי בקנה מידה גדול. מערכת יצירת המועמדים שלנו משתמשת בטכניקות אינדוקס מתקדמות הממפות פריטים דומים לאותו סל חיפוש בהסתברות גבוהה, ומאפשרות לנו למצוא התאמות פוטנציאליות בזמן קבוע.
גישה זו מבטלת 99.9% מההשוואות בשלב יצירת המועמדים, ומייעלת את המערכת אפילו בקנה מידה של מיליארדי פרופילי מכשירים.
ניתוח מבוסס בינה מלאכותית עבור אותות מורכבים
חלק מהאותות אינם מתפרקים באופן מסודר לקבוצות. טביעות אצבע של canvas, פלט עיבוד אודיו ווקטורי פרמטרים של WebGL הם נתונים מורכבים שבהם השוואת קבוצות פשוטה אינה חלה. עבור אותות אלה אנו משתמשים בניתוח מבוסס בינה מלאכותית הממפה פרופילי מכשירים לייצוג שבו מכשירים דומים קרובים זה לזה.
מודל הבינה המלאכותית לוכד קשרים לא מובנים מאליהם בין אותות. לדוגמה, הוא לומד ששינוי במחרוזת ה‑renderer של WebGL מדגם GPU אחד לגרסה משודרגת מעט של אותו דגם מייצג שדרוג GPU באותה מכונה, בעוד ששינוי ליצרן GPU שונה לחלוטין מייצג מכשיר שונה לגמרי.
שילוב הטכניקות
מערכת הייצור שלנו משתמשת במספר טכניקות במפל. ראשית, יצירת מועמדים יעילה מזהה התאמות פוטנציאליות. שנית, השוואה מבוססת קבוצות מספקת מדד מדויק של חפיפה עבור אותות מבוססי תכונות. שלישית, ניתוח מבוסס בינה מלאכותית מדרג את הדמיון של אותות התלויים בחומרה. ציון הביטחון הסופי הוא שילוב משוקלל של כל השיטות, עם משקלים המכוונים על נתונים מתויגים.
ארכיטקטורת מפל זו היא גם מדויקת וגם יעילה. זמן ההתאמה הכולל עבור מבקר חוזר הוא פחות מ‑5ms בממוצע.