אנו מפתחים מודלים מותאמים אישית של המלצות שעובדים בתנאים אמיתיים, לא על מדדים מותאמים יתר על המידה. אימון מודלים של המלצות שלנו משתמש ב-Two-Tower, פירוק מטריצות, דגימה שלילית ופיצול זמני.
מקרה טיפוסי: לקוח מסחר אלקטרוני השתמש בפיצול אקראי, קיבל NDCG@10 = 0.65, אך לאחר הפריסה המודל ביצע ב-0.4. לאחר מעבר לפיצול זמני, המדדים הלא-מקוונים ירדו, אך מבחן ה-A/B הראה עלייה של +5% בהכנסות.
הלקוח ציין: "פיצול אקראי נתן מדדים מנופחים — פיצול זמני התברר כיחיד ההגון." הסטאק שלנו: PyTorch, Hugging Face Transformers, Faiss לחיפוש ANN, ONNX Runtime להסקה. לצוות יש 5+ שנות ניסיון ב-ML ו-50+ מערכות המלצה שנפרסו במסחר אלקטרוני, מדיה ופינטק.
אנו משתמשים ב-Weights & Biases למעקב אחר ניסויים וב-MLflow לניהול מודלים. הזמן ניתוח נתונים מקדים — נעריך את המשימה שלך ונציע את הפתרון האופטימלי.
בעיות שאנו פותרים
יצירת דוגמאות שליליות שגויות
אם תבצע דגימה אחידה מכל הפריטים, המודל לא ילמד להבחין בין פופולרי לרלוונטי. אנו משתמשים בכריית דוגמאות שליליות מבוססת פופולריות וקשות (למשל, פריטים שהמודל כבר מדרג אותם גבוה באופן שגוי).
מודל ה-Two-Tower שלנו outperforms ALS פי 1.2 ב-NDCG@10, ודגימת דוגמאות שליליות קשות outperforms אחידה פי 1.3 ב-Recall@20.
התחלה קרה למשתמשים ופריטים חדשים
ללא תכונות תוכן, המודל מפיק תחזיות אפס. אנו מוסיפים מידע צד (קטגוריה, תיאור טקסט, תמונות) באמצעות embeddings.
הטיה זמנית
תרחישים אמיתיים הם רצפים של פעולות. אם תערבב נתונים באופן אקראי, המודל "רואה" את העתיד במהלך האימון. פיצול זמני עם סטי אימות/בדיקה מבוססי זמן הוא חובה.
איך אנחנו עושים את זה: מקרה מפורט
בין הפרויקטים שלנו נמצא חנות מקוונת עם 5M אינטראקציות ו-200K פריטים. בנינו מודל Two-Tower עם אינדקס HNSW לאחזור. הצינור כלל:
- עיבוד מקדים של לוגים: הסרת כפילויות, סינון בוטים, שקלול אינטראקציות (רכישה > צפייה);
- יחס דגימה שלילית 4:1 עם שקלול פופולריות; פיצול זמני: 28 ימים אימון, 7 ולידציה, 7 בדיקה;
- Two-Tower: מגדל משתמש — שכבת embedding + Dense(256), מגדל פריט — אותו דבר + נרמול L2. Loss — Weighted BCE עם log-weight לדוגמאות חיוביות;
- אימון 20 אפוקים עם early stopping על NDCG@10, באמצעות AdamW (LR=1e-3). על GPU A100 — 45 דקות;
- פריסה דרך Triton Inference Server עם מודל ONNX. השהיית p99 — 12 מ״ש.
תוצאה: שיפור NDCG@10 של 22% לעומת בסיס ALS, מבחן A/B מקוון הראה +8% בהוספות לסל.
מדוע דגימה שלילית נכונה חשובה
דוגמאות שליליות מגדירות את גבול ההחלטה. אם כל הדוגמאות השליליות הן פריטי זנב אקראיים, המודל מבחין בהן בקלות. אך בפועל, יש להבחין בין פריטים כמעט רלוונטיים — למשל, ספה כהה לעומת ספה שחורה. דגימה שלילית קשה (מתוך 100 הפריטים המובילים ללא אינטראקציה) מניבה אימון עמיד יותר. אנו מיישמים זאת באמצעות מטמון הטמעות ודגימה מקוונת.
מה מספק פיצול טמפורלי
הערכת מודל על פיצול טמפורלי היא הדרך היחידה לקבל מדדים כנים. פיצול אקראי יכול "להציץ" אל העתיד, ולנפח את התוצאות. NDCG@10 על פיצול טמפורלי מתאם עם תוצאות מבחני A/B מקוונים: סטייה <15%.
השוואת ארכיטקטורות מודלים
| מודל | איכות (NDCG@10) | זמן אימון (5M) | השהיית הסקה | הערות |
|---|---|---|---|---|
| ALS (פירוק מטריצות) | 0.42 | 30 דקות (CPU) | <1 ms | בסיס פשוט, ללא מידע צדדי |
| Two-Tower (Dense 256) | 0.53 | 45 דקות (A100) | 3–12 ms | גמיש, התחלה קרה באמצעות פיצ'רים |
| BERT4Rec (transformer) | 0.58 | 4 שעות (A100) | 50 ms | רצפים בלבד, ללא התחלה קרה |
בהשוואה ל-ALS, Two-Tower מספק שיפור של פי 1.2 ב-NDCG@10 עם זמן הסקה דומה.
השוואת אסטרטגיות דגימה שלילית
| אסטרטגיה | איכות (Recall@20) | מהירות אימון | מורכבות מימוש |
|---|---|---|---|
| אחידה | 0.48 | גבוהה | נמוכה |
| מבוססת פופולריות | 0.55 | בינונית | בינונית |
| שלילית קשה (מקוונת) | 0.61 | נמוכה (בגלל חישוב מחדש של embedding) | גבוהה |
בפועל, אנו משלבים שליליות מבוססת פופולריות ושליליות קשות: 80% פופולריות, 20% שליליות קשות. זה מאזן בין איכות למהירות.
התהליך שלנו
1. אנליטיקה: לימוד יומני אינטראקציה, זיהוי צווארי בקבוק (דלילות, התחלה קרה, חוסר איזון). 2. עיצוב: בחירת ארכיטקטורה, פונקציית הפסד, אסטרטגיית דגימה שלילית. 3. מימוש: כתיבת pipeline ב-PyTorch + Hugging Face, אינטגרציה עם מערכת הלוגים שלך. 4. בדיקות: מדדים לא מקוונים (NDCG, recall@k) + בדיקת A/B מקוונת למשך 2–4 שבועות. 5. פריסה: קונטיינריזציה, ניטור (data drift, latency), תיעוד.לוחות זמנים ועלויות
לוחות זמנים: משבועיים (בסיס + התאמות) ועד חודשיים (צינור מלא עם ארכיטקטורה מותאמת אישית). העלות נקבעת באופן פרטני לאחר ניתוח נתונים. הלקוחות שלנו מדווחים על חיסכון של עד 40% בתשתיות ועל הפחתה של 30% בעלויות התחזוקה הודות לאופטימיזציה של הצינור. ההשקעה האופיינית נעה בין по индивидуальному расчётуל-по индивидуальному расчёту
מה כלול בעבודה
- מערך נתונים מוכן לאימון מחדש
- Baseline (ALS או Two-Tower) עם דוח מדדים
- מודל סופי מאומן (PyTorch/ONNX)
- תיעוד לשחזור ה-pipeline
- קוד ה-pipeline (עיבוד מקדים, אימון, הסקה)
- מדריך לכוונון עדין עם נתונים חדשים
- מפגש אימון לצוות שלך
- 30 ימי תמיכה לאחר פריסה
- ייעוץ בנושא כלי NDCG ו-Temporal Split
קבלו ייעוץ מומחה — נדון בפרויקט שלכם ונציע את הפתרון האופטימלי.







