GPT
L

LaBSE

קוד פתוח

sentence-transformersapache-2.02022-03-02

  • sentence-transformers
  • pytorch
  • tf
  • jax
  • onnx

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

  • 471Mפרמטרים
  • 512טוקנים בהקשר
  • 8.8 GBמשקל הקבצים
  • 778,130הורדות בחודש

מה זה

מדובר בהמרה ל־PyTorch של המודל המקורי מגוגל, המבוסס על ארכיטקטורת BERT עם 12 שכבות וכמעט 471 מיליון פרמטרים. הרעיון כאן הוא לקחת טקסטים ביותר ממאה שפות שונות ולייצר עבורם ייצוג וקטורי בגודל 768 ממדים, כך שמשפטים בעלי משמעות זהה בשפות שונות ישבו קרוב מאוד זה לזה במרחב.

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

מתאים ל

  • חיפוש חוצה שפות

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

  • סינון ותרגום מקבילי

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

  • מניעת כפילויות רב לשונית

    איתור שאלות זהות שנשאלו במערכות תמיכה בשפות שונות לגמרי.

איפה זה נופל

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

שאלות
נפוצות

האם כדאי להשתמש בו לחיפוש סמנטי בשפה אחת בלבד?

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

איך המודל מתמודד עם טקסטים ארוכים?

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

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("sentence-transformers/LaBSE")
v = m.encode(["שלום עולם"])

הרישיון

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

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

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