GPT
D

deberta-v3-base-zeroshot-v1

קוד פתוח

MoritzLaurermit2023-09-29

  • transformers
  • pytorch
  • safetensors
  • deberta-v2
  • text-classification

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

  • 184Mפרמטרים
  • 512טוקנים בהקשר
  • 714 MBמשקל הקבצים
  • 1,690הורדות בחודש

מה זה

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

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

מתאים ל

  • סינון תוכן וטוקסיסיטי

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

  • סיווג פניות תמיכה באנגלית

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

  • ניתוח סנטימנט מהיר לביקורות

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

איפה זה נופל

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

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

שאלות
נפוצות

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

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

למה המודל מחזיר שתי תוצאות במקום שלוש כמו מודלי NLI רגילים?

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("zero-shot-classification", model="MoritzLaurer/deberta-v3-base-zeroshot-v1")
print(pipe("שלום"))

הרישיון

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

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

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