GPT
S

sentence-t5-base

קוד פתוח

sentence-transformersapache-2.02022-03-02

  • sentence-transformers
  • pytorch
  • rust
  • safetensors
  • t5

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

  • 110Mפרמטרים
  • 512טוקנים בהקשר
  • 940 MBמשקל הקבצים
  • 148,911הורדות בחודש

מה זה

הבסיס כאן הוא ה־Encoder בלבד של T5-base, בלי החלק שמייצר טקסט, שעבר הסבה מ־TensorFlow ל־PyTorch וממפה קטעי טקסט למרחב וקטורי של 768 ממדים. עם כ־110 מיליון פרמטרים ומשקל קבצים של 940 מגה בייט, הוא יושב בקטגוריית הגודל הסטנדרטית לצד משפחת BERT הוותיקה, אבל מביא ייצוגים שנבנו מראש על מודל טקסט לטקסט.

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

מתאים ל

  • זיהוי כפילויות בטקסט

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

  • אשכול משפטים

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

  • הרצה מקומית חסכונית

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

איפה זה נופל

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

שאלות
נפוצות

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

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

האם הוא תומך בעברית?

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

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

ממש לא. מדובר ב־110 מיליון פרמטרים במשקל של פחות מג'יגה בייט ב־float16. הוא רץ בקלות על מעבדי מחשב רגילים ודורש מינימום זיכרון.

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

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

הרישיון

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

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

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