GPT
D

distiluse-base-multilingual-cased-v2

קוד פתוח

sentence-transformersapache-2.02022-03-02

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

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

  • 135Mפרמטרים
  • 512טוקנים בהקשר
  • 4.9 GBמשקל הקבצים
  • 1,161,819הורדות בחודש

מה זה

מדובר במודל שממיר פסקאות ומשפטים לווקטורים צפופים בגודל 512 ממדים, על בסיס ארכיטקטורת DistilBert קלה יחסית. הייעוד העיקרי שלו הוא משימות של דמיון סמנטי, קיבוץ וחיפוש בטקסטים חוצי שפות, כשהוא מתחשב גם באותיות גדולות וקטנות. השכבה האחרונה שלו מקטינה את הייצוג המקורי של 768 ממדים ל־512 באמצעות שכבת Dense ואקטיבציית Tanh, מה שמקטין את נפח האחסון הנדרש באינדקס הווקטורי שלכם.

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

מתאים ל

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

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

  • קיבוץ משפטים קצרים

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

  • בדיקת כפילויות בתוכן

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

איפה זה נופל

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

אותה משפחה

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

שאלות
נפוצות

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

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

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

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

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("sentence-transformers/distiluse-base-multilingual-cased-v2")
v = m.encode(["שלום עולם"])

הרישיון

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

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

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