GPT
D

distilbert-base-uncased-mnli

קוד פתוח

typeformרישיון לא דווח2022-03-02

  • transformers
  • pytorch
  • tf
  • safetensors
  • distilbert

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

  • 67Mפרמטרים
  • 512טוקנים בהקשר
  • 767 MBמשקל הקבצים
  • 462,130הורדות בחודש

מה זה

מדובר בהתאמה של DistilBERT למשימות סיווג באפס צעדים, המבוססת על אימון מול מאגר MultiNLI שמכיל 433 אלף זוגות משפטים. הרעיון פשוט: במקום לאמן מודל ייעודי לכל קטגוריה, המודל בודק האם הטקסט שלכם תומך בהגדרה שנתתם, וכך מסווג אותו ישירות מתוך אוצר המילים הקיים.

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

מתאים ל

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

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

  • סינון תוכן ותגיות

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

  • תיוג ראשוני למאגרי מידע

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

איפה זה נופל

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

שאלות
נפוצות

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

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

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

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("zero-shot-classification", model="typeform/distilbert-base-uncased-mnli")
print(pipe("שלום"))

הרישיון

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

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