GPT
M

multilingual-e5-large-instruct

קוד פתוח

intfloatmit2024-02-08

  • sentence-transformers
  • onnx
  • safetensors
  • xlm-roberta
  • feature-extraction

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

  • 560Mפרמטרים
  • 514טוקנים בהקשר
  • 3.2 GBמשקל הקבצים
  • 1,980,898הורדות בחודש

מה זה

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

בבדיקות הביצועים רואים תמונה מעורבת. במשימות כריית טקסט מקביל בין שפות כמו צרפתית, גרמנית או סינית לאנגלית הוא מגרד את ה־99% דיוק, ובסיווג קוטביות בסיסי הוא עומד על מעל 96%. מצד שני, בסיווג ביקורות אמזון מרובות דרגות הדיוק צונח לאזור ה־44% עד 56% בשפות שונות, ובשליפת עובדות מורכבת מול ClimateFEVER הוא מגיע ל־MRR של כ־41% בלבד. הוא מצטיין בהתאמות ישירות, אך מתקשה כשההקשר דורש הבחנות עדינות מאוד.

מתאים ל

  • חיפוש סמנטי רב לשוני

    שליפת מסמכים יעילה ממאגרים שמכילים טקסטים בשפות שונות, עם MRR גבוה של מעל 82% במאגרים כמו HotpotQA.

  • כריית משפטים מקבילים

    זיהוי ותרגום משפטים זהים בין שפות שונות, משימה שבה המודל מציג דיוק של מעל 98% במבחני BUCC.

  • סיווג כוונות משתמש

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

איפה זה נופל

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

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

אותה משפחה

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

שאלות
נפוצות

האם המודל מתאים לייצור טקסט או מענה לשאלות?

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

איך משפיעה מגבלת 514 הטוקנים על חיפוש במסמכים ארוכים?

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

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

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

הרישיון

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

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

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