GPT
E

e5-base-v2

קוד פתוח

intfloatmit2023-05-19

  • sentence-transformers
  • pytorch
  • onnx
  • safetensors
  • openvino

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

  • 109Mפרמטרים
  • 512טוקנים בהקשר
  • 2.0 GBמשקל הקבצים
  • 1,072,365הורדות בחודש

מה זה

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

במדדי אחזור כמו CQADupstack הוא מגיע לדיוק סביר של בין 24 ל־45 אחוזים בתוצאה הראשונה, ותופס מעל 80 אחוז מהמסמכים הרלוונטיים במאה התוצאות הראשונות. במשימות סיווג כמו Amazon Polarity הוא מגיע ל־92.8 אחוזי דיוק, מה שמראה שההפרדה הגיאומטרית שלו עובדת היטב כשהטקסט ברור וקצר.

מתאים ל

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

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

  • סיווג טקסטים וסנטימנט

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

  • סינון כפילויות במערכות תמיכה

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

איפה זה נופל

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

שאלות
נפוצות

האם המודל יצליח להתמודד עם מסמכים בעברית?

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

האם חובה להשתמש בכרטיס מסך כדי להריץ אותו במוצר?

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

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

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

הרישיון

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

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

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