GPT
B

bge-m3-zeroshot-v2.0

קוד פתוח

MoritzLaurermit2024-04-02

  • transformers
  • onnx
  • safetensors
  • xlm-roberta
  • text-classification

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

  • 568Mפרמטרים
  • 8,194טוקנים בהקשר
  • 3.2 GBמשקל הקבצים
  • 124,262הורדות בחודש

מה זה

מדובר במודל סיווג zero-shot שמבוסס על הארכיטקטורה של bge-m3 ורץ כרשת NLI, כלומר בודק אם השערה מסוימת נכונה לגבי הטקסט שקיבל. הייחוד שלו מול מודלים קטנים אחרים בסדרה הוא השילוב בין תמיכה רב לשונית לחלון הקשר ענק שמגיע ל־8,194 טוקנים, בזמן שרוב המתחרים מוגבלים לכ־512 טוקנים בלבד.

במדדי ההערכה על 28 משימות סיווג שונות, הגרסה המקבילה שלו שמאומנת מסחרית הגיעה לציון f1 ממוצע של 0.59 בלבד ב־zero-shot טהור, והגרסה הנוכחית עלתה ל־0.803 כשהוסיפו לה דוגמאות אימון מעטות. זה אומר שמודלים ייעודיים לאנגלית, כמו deberta-v3, מדויקים ממנו משמעותית בסיווג ראשוני, אבל הוא מפצה על זה ביכולת לקרוא טקסטים מחוץ לאנגלית ובאורך חריג.

מתאים ל

  • מיון מסמכים מרובי שפות

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

  • קטלוג מאמרים ארוכים

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

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

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

איפה זה נופל

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

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

שאלות
נפוצות

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

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

מה ההבדל בין הגרסה הזו לגרסה שמסתיימת ב־c?

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

איך מריצים

כדי להריץ אותו משתמשים בפייפליין של transformers מסוג zero-shot-classification עם תבנית של השערה פשוטה. המודל שוקל 3.2 גיגה בייט בפורמט float16, כך שהוא נכנס בקלות לזיכרון של כרטיס מסך ביתי בסיסי עם 8 גיגה זיכרון, ויכול לעבוד גם על מעבד רגיל אם העומס נמוך.

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

from transformers import pipeline

pipe = pipeline("zero-shot-classification", model="MoritzLaurer/bge-m3-zeroshot-v2.0")
print(pipe("שלום"))

הרישיון

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

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

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