GPT
M

multilingual-e5-large

קוד פתוח

intfloatmit2023-06-30

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

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

  • 560Mפרמטרים
  • 514טוקנים בהקשר
  • 8.9 GBמשקל הקבצים
  • 6,999,925הורדות בחודש

מה זה

המודל הזה יושב על ארכיטקטורת XLM-RoBERTa עם 560 מיליון פרמטרים ו־24 שכבות, והוא נבנה ספציפית למשימות של חילוץ מאפיינים ודמיון בין משפטים. בניגוד למודלים ייעודיים לאנגלית בלבד, הוא אומן להתמודד עם שפות מרובות, מה שמאפשר לו לגשר על פערים בין שפות שונות באותו מאגר נתונים.

תוצאות המדידה שלו במבחני MTEB מציגות ביצועים חזקים במיוחד באיתור מידע וכריית טקסטים מקבילים, עם דיוק של מעל 99% במבחני BUCC בין שפות כמו גרמנית או סינית לאנגלית. עם זאת, במיון ביקורות רב-לשוני מורכב, כמו ב־Amazon Reviews, הדיוק שלו צונח לאזור ה־40% עד 47%, מה שמראה שהוא מצטיין בעיקר באחזור ודמיון סמנטי ופחות בהבחנות סנטימנט עדינות ומורכבות.

מתאים ל

  • חיפוש סמנטי חוצה שפות

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

  • מנועי אחזור למערכות RAG

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

  • אשכול שאלות ותמיכה

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

איפה זה נופל

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

אותה משפחה

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

שאלות
נפוצות

האם המודל תומך בעברית למרות שהיא לא מופיעה ברשימת השפות?

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

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

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

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

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

הקבצים

44 קבצים במאגר, 8.9 GB סך הכול. הקישורים מובילים ישירות ל־Hugging Face.

הרישיון

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

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

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