GPT
P

paraphrase-multilingual-MiniLM-L12-v2

קוד פתוח

sentence-transformersapache-2.02022-03-02

  • sentence-transformers
  • pytorch
  • tf
  • onnx
  • safetensors

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

  • 118Mפרמטרים
  • 512טוקנים בהקשר
  • 4.3 GBמשקל הקבצים
  • 46,316,902הורדות בחודש

מה זה

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

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

מתאים ל

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

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

  • קלאסטרינג מהיר למשפטים

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

  • זיהוי כפילויות ודמיון

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

איפה זה נופל

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

שאלות
נפוצות

האם הוא מתאים לחיפוש בתוך מסמכים ארוכים?

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

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

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

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2")
v = m.encode(["שלום עולם"])

הרישיון

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

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

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