GPT
A

albert-base-v2

קוד פתוח

albertapache-2.02022-03-02

  • transformers
  • pytorch
  • tf
  • jax
  • rust

albert עומדים גם מאחורי Albert AI, ויש עליו סקירה כאן.

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

  • 12Mפרמטרים
  • 512טוקנים בהקשר
  • 315 MBמשקל הקבצים
  • 930,003הורדות בחודש

מה זה

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

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

מתאים ל

  • סיווג טקסטים באנגלית

    הוא מגיע ל־92.9 נקודות בדיוק בסיווג רגש SST-2, מה שהופך אותו לבסיס מעולה למיון מהיר של משובים.

  • מענה לשאלות על פסקאות

    עם מעל 82 נקודות על מאגרי SQuAD2.0, קל לאמן אותו לחלץ תשובות מדויקות מקטעי תוכן קצרים.

  • חילוץ מאפיינים למודלים קטנים

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

איפה זה נופל

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

שאלות
נפוצות

האם המודל יצרוך פחות זמן עיבוד בגלל שיש לו רק 12 מיליון פרמטרים?

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

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

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

איך מריצים

טעינת המודל נעשית ישירות דרך ספריית transformers בפייתון, עם תמיכה ב־PyTorch וב־TensorFlow. כל הקבצים שלו שוקלים בסך הכל 315 מגה בייט, כך שאין שום צורך במעבדי GPU יקרים או בשרתים מיוחדים. הוא רץ בקלות על מעבד רגיל בכל מחשב פיתוח, מה שמאפשר לבצע אימון המשך ולבדוק אותו מקומית בלי כאב ראש.

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

from transformers import pipeline

pipe = pipeline("fill-mask", model="albert/albert-base-v2")
print(pipe("שלום"))

הרישיון

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

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

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