GPT
B

bge-reranker-v2-gemma

קוד פתוח

BAAIapache-2.02024-03-16

  • sentence-transformers
  • safetensors
  • gemma
  • text-generation
  • transformers

מודל ריראנקינג מבוסס Gemma 2B שנועד לדרג מחדש מסמכים במספר שפות. הוא שוקל 2.5 מיליארד פרמטרים ומספק דיוק גבוה יותר מריראנקרים קלאסיים וקלים.

  • 2.5Bפרמטרים
  • 8,192טוקנים בהקשר
  • 9.4 GBמשקל הקבצים
  • 306,813הורדות בחודש

מה זה

במקום לייצר וקטורים כמו מודל אמבדינג רגיל, הוא מקבל שאילתה ומסמך יחד ופולט ציון רלוונטיות ישיר. המודל בנוי על בסיס gemma-2b של גוגל ואומן על תערובת של bge-m3-data, quora ו־fever כדי לתת מענה רב-לשוני עם דגש על אנגלית.

ההבדל המרכזי מול דגמים כמו bge-reranker-base או גרסת ה־m3 הוא הארכיטקטורה. כאן מדובר במודל שפה שלם עם 18 שכבות וחלון הקשר של 8,192 טוקנים. הוא מסוגל לתפוס קשרים סמנטיים מורכבים בטקסטים ארוכים, אך דורש משאבי חישוב כבדים בהרבה ביחס למודלים מבוססי אנקודר פשוט.

מתאים ל

  • שלב דירוג סופי בצינור RAG

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

  • סינון מסמכים ארוכים

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

  • חיפוש רב-לשוני משולב

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

איפה זה נופל

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

שאלות
נפוצות

האם הוא מחליף מודל אמבדינג רגיל?

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

איך מחלצים ציון בין 0 ל־1?

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

איך מריצים

המשקל הכולל של הקבצים מגיע ל־9.4 גיגה-בייט בדיוק float32. כדי להריץ אותו בפועל מומלץ להשתמש בספריית FlagEmbedding ולהפעיל מצב fp16 או bf16 שמקצרים את זמן החישוב במחיר של ירידה קלה בביצועים. בשביל הרצה מקומית סבירה תצטרכו מעבד גרפי עם לפחות 8 עד 12 גיגה-בייט של VRAM.

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("BAAI/bge-reranker-v2-gemma")
v = m.encode(["שלום עולם"])

הרישיון

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

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

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