GPT
E

e5-large

קוד פתוח

intfloatmit2022-12-26

  • sentence-transformers
  • pytorch
  • safetensors
  • bert
  • mteb

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

  • 335Mפרמטרים
  • 512טוקנים בהקשר
  • 2.5 GBמשקל הקבצים
  • 23,475הורדות בחודש

מה זה

הארכיטקטורה יושבת על BertModel קלאסי עם 24 שכבות, ובנויה בעיקר עבור sentence-transformers למדידת דמיון בין משפטים. הוא ממיר קטעי טקסט לווקטורים ומכוון לעקוף מודלים קטנים יותר ביכולת להבדיל בין ניואנסים עמוקים של תוכן.

במבחני MTEB הרשמיים רואים פערים חדים בין המשימות. בסיווג פולאריות הוא מגיע לדיוק של 90.04%, אבל כשמבקשים ממנו לסווג דירוגי ביקורות מרובי דרגות הדיוק צונח ל־43.01%. באחזור טקסטים מאתגרים כמו ArguAna המדד של recall בטופ 1000 מגיע ל־99.57%, מה שאומר שהוא כמעט תמיד מוצא את המידע הרלוונטי אם נותנים לו להחזיר רשימה רחבה מספיק, אך במקום הראשון הבודד (map_at_1) הוא עומד רק על 25.1%.

מתאים ל

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

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

  • זיהוי שאלות כפולות

    התוצאות במבחן AskUbuntu הראו MRR של 73.44%, מה שמתאים לניקוי כפילויות בפורומים.

  • קיבוץ מאמרים מדעיים

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

איפה זה נופל

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

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

אותה משפחה

e5-large יצא ב־2 גרסאות שיש להן עמוד כאן. אלה האחרות, לפי כמה מורידים אותן.

שאלות
נפוצות

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

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

כמה זיכרון דרוש כדי להריץ אותו בפרודקשן?

המשקל של הקבצים עומד על 2.5 GB בדיוק float32. מומלץ להקצות כרטיס מסך עם לפחות 6 GB עד 8 GB של VRAM כדי לאפשר תעבורת אצוות בלי לקבל שגיאות חריגת זיכרון.

איך מריצים

טוענים אותו ישירות דרך ספריית sentence-transformers בפייתון. הקבצים שוקלים 2.5 GB והוא רץ בדיוק float32, כך שצריך לפחות 4 GB של זיכרון GPU פנוי כדי להחזיק אותו בזיכרון ולהריץ אצוות קטנות ביציבות, או מעבד חזק עם מספיק RAM אם מוכנים לספוג זמני תגובה איטיים יותר.

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("intfloat/e5-large")
v = m.encode(["שלום עולם"])

הרישיון

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

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

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