GPT
M

mDeBERTa-v3-base-xnli-multilingual-nli-2mil7

קוד פתוח

MoritzLaurermit2022-08-22

  • transformers
  • pytorch
  • onnx
  • safetensors
  • deberta-v2

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

  • 279Mפרמטרים
  • 512טוקנים בהקשר
  • 2.4 GBמשקל הקבצים
  • 885,513הורדות בחודש

מה זה

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

בבדיקות הביצועים הרשמיות על מבחן XNLI, המודל מציג דיוק של כ־87 אחוז באנגלית, ובשאר השפות המרכזיות כמו גרמנית, צרפתית וספרדית הוא נע סביב 82 עד 83 אחוז. בערבית הוא עומד על 79.4 אחוז. היוצר מציין במפורש שכל מודל בגודל הזה שטוען ל־90 אחוז דיוק בשפות שאינן אנגלית כנראה נבדק בצורה שגויה, כך שמדובר בתוצאות ריאליות מאוד לקטגוריה הזו.

מתאים ל

  • מיון פניות תמיכה רב־לשוני

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

  • סינון תוכן ונושאים בזמן אמת

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

  • סיווג עם הנחיות באנגלית

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

איפה זה נופל

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

שאלות
נפוצות

האם הוא יעבוד טוב על עברית?

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

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

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("zero-shot-classification", model="MoritzLaurer/mDeBERTa-v3-base-xnli-multilingual-nli-2mil7")
print(pipe("שלום"))

הרישיון

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

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

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