GPT
I

indobert-base-uncased

קוד פתוח

indolemmit2022-03-02

  • transformers
  • pytorch
  • jax
  • bert
  • fill-mask

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

  • 512טוקנים בהקשר
  • 846 MBמשקל הקבצים
  • 49,334הורדות בחודש
  • 49לייקים

מה זה

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

במבחני ביצועים מול מודלים רב-לשוניים כמו mBERT, הוא מציג יתרון עקבי ברוב משימות השפה. בניתוח רגשות הוא מגיע לציון F1 של 84.13 לעומת 76.58 של mBERT, ובזיהוי ישויות שמיות הוא עולה עליו בבירור בשני מאגרי בדיקה שונים. עם זאת, בניתוח תלויות תחביריות מסוג UD-Indo-PUD המודל הרב-לשוני דווקא השיג תוצאה טובה יותר, מה שמראה שההתמחות המקומית לא מנצחת תמיד בכל מבחן.

מתאים ל

  • ניתוח רגשות באינדונזית

    הוא מגיע לציון F1 של 84.13 במשימה זו ועוקף מודלים רב-לשוניים כלליים.

  • זיהוי ישויות שמיות (NER)

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

  • סיווג ציוצים ורשתות חברתיות

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

איפה זה נופל

המודל מוגבל לחלון הקשר קצר של 512 טוקנים, ולכן הוא לא מתאים למסמכים ארוכים בלי חיתוך מראש. הוא גם uncased לחלוטין, כלומר הוא מתעלם מאותיות גדולות, מה שעלול להקשות על זיהוי שמות עצם או ראשי תיבות מסוימים. בנוסף, הוא אומן על משימת fill-mask ולא מסוגל לייצר טקסט חופשי או לנהל שיחה כמו מודלי שפה מודרניים. המבחנים שלו מראים חולשה יחסית במשימת UD-Indo-PUD שבה mBERT הוביל, כך שתחביר מורכב מסוים עלול להתפספס.

שאלות
נפוצות

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

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

האם הוא יכול לשמש כצ'אטבוט או לכתוב תשובות ארוכות?

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

האם יש בעיה להריץ אותו על מחשב אישי רגיל?

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("fill-mask", model="indolem/indobert-base-uncased")
print(pipe("שלום"))

הרישיון

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

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

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