GPT
G

GTE-ModernColBERT-v1

קוד פתוח

lightonaiapache-2.02025-04-30

  • PyLate
  • onnx
  • safetensors
  • modernbert
  • ColBERT

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

  • 149Mפרמטרים
  • 8,192טוקנים בהקשר
  • 1.3 GBמשקל הקבצים
  • 192,946הורדות בחודש

מה זה

מדובר במודל multi-vector שממיר משפטים ופסקאות לרצף וקטורים בגודל 128 ממדים ומשתמש בפעולת MaxSim להשוואה ביניהם. הוא בנוי על גבי gte-modernbert-base של עליבאבא ועבר אימון בזיקוק ידע על גבי דאטה-סט ms-marco-en-bge-gemma. ההבדל המרכזי מול מודלי אמבדינג רגילים בגודל הזה הוא שימור המידע ברמת הטוקן, מה שמונע את אובדן ההקשר שקורה כשדוחסים טקסט שלם לווקטור בודד.

למרות שהאימון עצמו בוצע על מסמכים קצרים באורך 300 טוקנים ושאילתות של 32 טוקנים, הארכיטקטורה של ModernBERT מאפשרת לו לפתוח חלון הקשר של עד 8,192 טוקנים. היוצרים מדווחים על תוצאות חזקות במבחני LongEmbed למסמכים ארוכים, מה שאומר שאפשר להשתמש בו לחיפוש בקבצים ומאמרים מורכבים בלי לחתוך אותם למקטעים זעירים.

מתאים ל

  • חיפוש בקבצים ומאמרים ארוכים

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

  • שלב דירוג מחדש במערכות RAG

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

  • חיפוש סמנטי ממוקד באנגלית

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

איפה זה נופל

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

שאלות
נפוצות

האם אפשר להשתמש במודל הזה לטקסטים בעברית?

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

איך המודל מתמודד עם מסמכים ארוכים אם הוא אומן על 300 טוקנים בלבד?

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

איך מריצים

המודל שוקל כ־1.3 גיגה-בייט וכולל כ־149 מיליון פרמטרים, כך שאפשר להריץ אותו בקלות על כרטיס מסך בסיסי או אפילו על מעבד שרת סטנדרטי בלי השקעה כבדה בחומרה. מריצים אותו בעזרת ספריית PyLate הייעודית או באמצעות MultiVectorEncoder מתוך Sentence Transformers בגרסה 6 ומעלה.

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

pip install -U huggingface_hub
hf download lightonai/GTE-ModernColBERT-v1

הרישיון

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

  • שימוש מסחרי
  • שינוי הקוד
  • הפצה מחדש
  • שימוש בפטנטים

הרישיון המלא בעמוד המודל ↗