top of page

היתוך דירוגים ודירוג מחדש עמוק

  • Writer: shlomoyona
    shlomoyona
  • 3 days ago
  • 3 min read


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


ביישום מערכות אחזור מידע בארגונים, מנהלי נתונים מזהים ששיטת שליפה אחת אינה מספקת מענה שלם לכלל התרחישים. מנגנון חיפוש Dense Retrieval שמבוסס על מדידת Cosine Similarity מציג יכולת גבוהה באיתור הקשרים סמנטיים ומושגים מופשטים, כגון קישור בין המילה פיטורים למסמך שעוסק בצמצום כוח אדם. עם זאת, גישה זו אינה מתאימה עבור מונחים מובהקים כמו מק"טים, שמות קוד, קיצורים טכניים או הודעות שגיאה, שנוטים ללכת לאיבוד בתוך הדחיסה הווקטורית. מנגד, חיפוש Sparse Retrieval שמבוסס על אלגוריתמים ממשפחת BM25 מספק מענה לחיפושים מדויקים ונדירים אך הוא עיוור למילים נרדפות. שילוב של סריקת גרף ידע מוסיף רובד של יחסים לוגיים, אך ללא הכוונת רלוונטיות הוא עלול להביא עמו רעש שכנים עודף.


הפתרון המקובל הוא בניית סביבת Hybrid Search שמפעילה במקביל את כלל מנועי השליפה. בשלב זה נוצר אתגר הנדסי של Rank Fusion, שכן נדרש להשוות ולהחליט איזו תוצאה רלוונטית יותר למשתמש. מערכות וקטוריות מחזירות ציון מנורמל שחסום בין 0 ל-1, בעוד שמנועים סטטיסטיים פולטים ציונים א-ליניאריים שאינם חסומים שיכולים לנוע בטווחים רחבים כתלות באורך המסמך ובתדירות המונח. ללא מנגנון Re-ranking ארכיטקטוני, המערכת מחברת את רשימות התוצאות באופן בסיסי ויוצרת תערובת של מידע רלוונטי יחד עם מידע חסר הקשר שמקבל דירוג שגוי עקב אנומליות מתמטיות של המנועים. עומס זה על הסוכן מוביל להפקת תשובות עמומות שאינן מספקות את מקבלי ההחלטות.


הגישה המדעית לפתרון סתירות בין מנועי חיפוש בארכיטקטורה היברידית מתבססת על תהליך דו שלבי. השלב הראשון עוסק בנרמול ובהיתוך סטטיסטי באמצעות אלגוריתם Reciprocal Rank Fusion. אלגוריתם זה פותר את בעיית חוסר ההלימות של הציונים המוחלטים על ידי התעלמות מהם ובחינה של המיקום היחסי של המסמך בכל אחת מהרשימות. הפונקציה מוגדרת כסכום ההופכי של הדירוגים בתוספת קבוע: RRF_Score(d) = Σ 1 / (k + rank_r(d)). בחישוב זה d הוא המסמך, R מייצג את אוסף מנועי החיפוש, ו-k הוא קבוע כיול שנועד להחליק את ההשפעה שנוצרת מתוצאות שמדורגות נמוך. חשוב להבין שערך k קבוע אינו מתאים לכל תרחיש, ונדרש לבחון את השפעת הפרמטר על מסמכים שמדורגים נמוך בסט הנתונים הספציפי כדי לכייל ולקבוע את הערך המתאים ביותר.


מאחר ששלב ה-RRF משמש כפילטר גס בלבד, המערכת מנתבת את עשרות התוצאות המובילות לשלב השני שכולל Neural Re-ranking שמבוסס על Cross-Encoders. רוב מסדי הנתונים הוקטוריים מבוססים על Bi-Encoders שמקודדים את השאילתה ואת המסמך בנפרד למרחב וקטורי ומשווים ביניהם ללא אינטראקציה טקסטואלית ישירה, מה שגורר אובדן מידע וקושי בניתוח יחסים מורכבים. מודל Cross-Encoder שובר את ההפרדה הזו ומזריק את השאילתה ואת פסוקית הטקסט כרצף אחד ישירות לשכבות Transformer. עיצוב זה מכריח את מנגנון Self-Attention לבצע חישוב של קשרי Cross-Attention בין כל מילה בשאילתה לבין כל מילה במסמך בעת ובעונה אחת. המודל פולט ציון רלוונטיות מדויק שעל בסיסו נבחר אוסף העובדות הרלוונטי ביותר להזרקה סופית.


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


למרות הדיוק של מודל ה-Cross-Encoder בניקוי רעשים סטטיסטיים, סיבוכיות החישוב שלו הופכת לצוואר בקבוק במערכות חיות שנדרשות לתגובה מהירה. במקרים שבהם נדרש לסנן בזמן אמת רשימה של מאות מסמכים היברידיים מועמדים, ניתן ליישם טכניקות של Knowledge Distillation או הקצאת זיכרון מטמון סמנטי כדי לקרב את מהירות ההסקה של מודלים עמוקים אלו למהירות של Bi-Encoders, מבלי לשחוק באופן משמעותי את דיוק המערכת.


היתוך דירוגים ודירוג מחדש עמוק
היתוך דירוגים ודירוג מחדש עמוק

צריכים עזרה עם AI/GenAI/AgenticAI/AI Platform ועם מעבר מהוכחת יכולת לעבודה בסקייל מלא באנטרפרייז? 


זקוקים לשותף טכנולוגי עתיר ניסיון שיודע לספק שירותי מחקר ופיתוח Hands-on, מארגוני אנטרפרייז ועד סטארט-אפים, על מנת להוציא חזון אלגוריתמי שלכם מהכוח אל הפועל? 


רוצים מחקר אלגוריתמי יישומי?  


הבה נדבר!


שלמה יונה,

מייסד ומדען ראשי, 

מתמטיקאי מחקר ופיתוח בע"מ

053-7326360


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

 
 
 

Comments


  • Facebook Social Icon
  • LinkedIn Social Icon

© 2010-2026 mathematic.ai

bottom of page