GPT
B

bitnet_b1_58-large

קוד פתוח

1bitLLMmit2024-03-29

  • transformers
  • safetensors
  • llama
  • text-generation
  • text-generation-inference

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

  • 729Mפרמטרים
  • 2,048טוקנים בהקשר
  • 2.7 GBמשקל הקבצים
  • 2,312הורדות בחודש

מה זה

מדובר במימוש עצמאי של המאמר על BitNet b1.58, שאומן מאפס על מאגר RedPajama בהיקף של 100 מיליארד טוקנים. המודל בנוי על ארכיטקטורת BitnetForCausalLM עם 24 שכבות, ומייצר טקסט על בסיס משקולות שעברו קוונטיזציה קיצונית לרמת ביט בודד וחצי, תוך ניסיון לשמור על יכולות חיזוי סבירות.

במבחני הביצועים וה־Perplexity, השחזור הזה מגיע לציון ממוצע של 44.5 במבחני zero-shot שונים, תוצאה כמעט זהה למספרים המקוריים שפורסמו במאמר (44.3). עם זאת, בהשוואה למודל FP16 רגיל באותו סדר גודל שמגיע ל־45.5, עדיין יש ירידה קלה בדיוק לטובת החיסכון החישובי.

מתאים ל

  • מחקר של מודלים מכווצים

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

  • ניסויי קוונטיזציה מקומיים

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

  • השלמת טקסט בסיסית באנגלית

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

איפה זה נופל

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

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

שאלות
נפוצות

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

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

למה הקבצים שוקלים 2.7 גיגה-בייט אם זה מודל של ביט וחצי?

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

איך מריצים

המודל נתמך ישירות בספריית transformers באמצעות הארכיטקטורה הייעודית שלו, והמשקלים שמורים כרגע בדיוק float16 בנפח של 2.7 גיגה-בייט שמחולקים ל־17 קבצים. כדי לבדוק אותו מקומית צריך רק כרטיס מסך בסיסי או מעבד מודרני עם זיכרון פנוי זעיר, וההערכה שלו מתבצעת בעזרת חבילת lm-eval בגרסה 0.3.0.

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

from transformers import pipeline

pipe = pipeline("text-generation", model="1bitLLM/bitnet_b1_58-large")
print(pipe("שלום"))

הרישיון

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

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

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