GPT
B

bge-reranker-v2.5-gemma2-lightweight

קוד פתוח

BAAIgemma2024-07-25

  • sentence-transformers
  • safetensors
  • cost_wise_gemma
  • text-generation
  • transformers

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

  • 9.2Bפרמטרים
  • 8,192טוקנים בהקשר
  • 34.4 GBמשקל הקבצים
  • 162,808הורדות בחודש

מה זה

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

במדדי BEIR ו־MIRACL הוא מוביל מול הדור הקודם ומול מודלים כמו ג'ינה או מיסטרל. הנתון המעניין בכרטיס מראה שגם כשמגדירים דחיסה של פי 2 ועוצרים בשכבה 25, מה שחוסך 60 אחוז מפעולות החישוב, הציון הממוצע ב־BEIR יורד מ־63.67 ל־63.1 בלבד. כלומר, אפשר לוותר על רוב כוח העיבוד בלי להרגיש פגיעה מהותית באיכות התוצאות.

מתאים ל

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

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

  • זיהוי סתירות בין טיעונים

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

  • התאמת שאלות דומות

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

איפה זה נופל

התואר קל משקל מטעה. הבסיס הוא עדיין מפלצת של 9.2 מיליארד פרמטרים, וההורדה הראשונית שוקלת מעל 34 ג'יגה בייט. אם לא מקנפגים ידנית את השכבות והדחיסה, זמן התגובה יהיה איטי מאוד בהשוואה לריראנקרים קלאסיים כמו bge-m3.

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

שאלות
נפוצות

למה הוא נקרא קל משקל אם הוא שוקל 34 ג'יגה?

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

האם אפשר להריץ אותו ישירות דרך ספריית Hugging Face הרגילה?

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

איך מריצים

המשקל המלא הוא מעל 34 ג'יגה בייט בפורמט המקורי, כך שלהרצה מלאה צריך כרטיס עם לפחות 40 או 80 ג'יגה זיכרון. שימוש ב־FP16 הוא חובה מעשית כדי להוריד את צריכת הזיכרון לרמה שכרטיס בודד של 24 ג'יגה יכול להחזיק.

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

from sentence_transformers import SentenceTransformer

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

הרישיון

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

  • שימוש מסחרי
  • שינוי הקוד
  • כפוף לתנאי השימוש של Google

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