GPT
I

instructor-xl

קוד פתוח

hkunlpapache-2.02022-12-20

  • sentence-transformers
  • pytorch
  • t5
  • text-embedding
  • embeddings

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

  • 512טוקנים בהקשר
  • 4.6 GBמשקל הקבצים
  • 14,860הורדות בחודש
  • 586לייקים

מה זה

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

במבחני MTEB הוא מציג תוצאות מעורבות שתלויות מאוד בסוג המשימה. בסיווג פולריות באמזון הוא מגיע לדיוק של 86.542, ובסיווג שאלות בנקאיות ב־Banking77 הוא מגיע ל־82.662, שזה ביצוע יציב למדי. מצד שני, בסיווג מורכב יותר כמו ביקורות מדורגות באמזון הדיוק צונח ל־42.964, ובמשימות אחזור טכניות כמו Mathematica ב־CQADupstack ה־MRR בעשירייה הראשונה מגיע רק ל־29.705.

מתאים ל

  • אחזור שאלות ותשובות

    המודל מגיע ל־MRR של 77.611 בזיהוי שאלות כפולות במאגרים טכניים.

  • סיווג כוונות בנקאיות

    הוא מציג דיוק של 82.662 במאגר Banking77 ישירות בעזרת הנחיה מתאימה.

  • דמיון סמנטי רפואי

    מגיע למתאם ספירמן של 84.153 במבחן BIOSSES לטקסטים ביו-רפואיים.

איפה זה נופל

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

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

שאלות
נפוצות

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

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

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

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

מה המשמעות של T5EncoderModel במודל כזה?

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

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("hkunlp/instructor-xl")
v = m.encode(["שלום עולם"])

הרישיון

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

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

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