GPT
Z

Zamba2-2.7B

קוד פתוח

Zyphraapache-2.02024-07-09

  • transformers
  • safetensors
  • zamba2
  • text-generation
  • endpoints_compatible

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

  • 2.7Bפרמטרים
  • 4,096טוקנים בהקשר
  • 20.0 GBמשקל הקבצים
  • 11,438הורדות בחודש

מה זה

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

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

מתאים ל

  • הסקה על מכשירי קצה

    צריכת הזיכרון הנמוכה של ארכיטקטורת ה־SSM מאפשרת לו לרוץ ביציבות על חומרה מקומית צנועה.

  • השלמת קוד וטקסט מהירה

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

  • בסיס לאימון מודל הוראות

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

איפה זה נופל

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

אותה משפחה

Zamba2 יצא ב־5 גרסאות שיש להן עמוד כאן. אלה האחרות, לפי כמה מורידים אותן.

שאלות
נפוצות

האם אפשר להשתמש בו ישירות בתור בוט שיחה?

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

למה ההתקנה שלו מסובכת יותר ממודלים אחרים?

הוא משתמש בשכבות Mamba2 שדורשות קרנלים מותאמים של קונבולוציות ומצבים כדי לפעול ביעילות. בלי קימפול של mamba-ssm ושל causal-conv1d הביצועים ייפגעו משמעותית.

איך מריצים

בשביל להריץ אותו צריך כרטיס מסך תומך CUDA, כשבגרסת bfloat16 המודל דורש כרטיס סביר בהחלט. העניין המרכזי כאן הוא התלויות. כדי לקבל את המהירות שהארכיטקטורה מבטיחה, חייבים לקמפל את mamba-ssm ישירות מהמקור מול גרסה 2.1.0 ולהתקין את causal-conv1d. אפשר טכנית להריץ בלי הקרנלים האלה, אבל אז תסבלו מזמני תגובה ארוכים ומצריכת זיכרון מנופחת שמבטלת את כל היתרון שלו.

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

from transformers import pipeline

pipe = pipeline("text-generation", model="Zyphra/Zamba2-2.7B")
print(pipe("שלום"))

הרישיון

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

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

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