GPT
I

instructor-large

קוד פתוח

hkunlpapache-2.02022-12-20

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

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

  • 512טוקנים בהקשר
  • 1.3 GBמשקל הקבצים
  • 136,554הורדות בחודש
  • 524לייקים

מה זה

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

במבחני MTEB המודל מציג שונות ברורה בין משימות שונות. בסיווג קוטביות בביקורות אמזון הוא הגיע לדיוק של 91.52 אחוז וציון F1 כמעט זהה, אך בסיווג ביקורות רב תחומאיות הדיוק צנח ל־47.85 אחוז בלבד. במשימות אחזור טכניות מתוך CQADupstack, כמו מדור המשחקים, המודל השיג recall של 77.02 אחוז בעשר התוצאות הראשונות, בעוד שבתחומים מורכבים כמו מתמטיקה הוא הגיע ל־43.16 אחוז בלבד.

מתאים ל

  • מנוע חיפוש לשאלות טכניות

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

  • סיווג רגשות בטקסט אנגלי

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

  • קיבוץ מאמרים מדעיים

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

איפה זה נופל

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

שאלות
נפוצות

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

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

איך משפיעה ההנחיה על איכות הווקטור?

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

איך מריצים

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

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

from sentence_transformers import SentenceTransformer

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

הרישיון

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

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

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