GPT
R

rwkv-5-world

קוד פתוח

BlinkDLapache-2.02023-07-24

  • rwkv
  • pytorch
  • text-generation
  • causal-lm
  • en

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

  • 29.6 GBמשקל הקבצים
  • 1,145הורדות בחודש
  • 272לייקים

מה זה

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

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

מתאים ל

  • ייצור טקסט חסכוני בחומרה

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

  • מערכות שיחה מרובות שפות

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

  • השלמת קוד מקומית

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

איפה זה נופל

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

שאלות
נפוצות

למה המודל עונה לי בג׳יבריש או בשפה לא נכונה?

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

האם אפשר להשתמש במודל הזה בעברית בצורה שוטפת?

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

איך מריצים

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

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

pip install -U huggingface_hub
hf download BlinkDL/rwkv-5-world

הרישיון

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

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

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