GPT
T

TinyStories-33M

קוד פתוח

roneneldanרישיון לא דווח2023-05-12

  • transformers
  • pytorch
  • gpt_neo
  • text-generation
  • endpoints_compatible

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

  • 2,048טוקנים בהקשר
  • 281 MBמשקל הקבצים
  • 30,419הורדות בחודש
  • 114לייקים

מה זה

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

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

מתאים ל

  • בדיקות תוכנה מקומיות

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

  • הוראה ומחקר אקדמי

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

  • מחולל עלילות לילדים

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

איפה זה נופל

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

אותה משפחה

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

שאלות
נפוצות

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

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

למה הטוקנייזר מגיע ממודל אחר?

האימון נעשה בעזרת הטוקנייזר של EleutherAI gpt-neo-125M כדי לחסוך אימון של מילון חדש מאפס. צריך לטעון אותו בנפרד בקוד כפי שמופיע בהוראות של הכרטיס כדי לפענח את הטקסט נכון.

איך מריצים

טוענים אותו ישירות דרך ספריית transformers בפייתון עם AutoModelForCausalLM, יחד עם הטוקנייזר של gpt-neo-125M. המשקל של הקבצים עומד על 281 מגה בייט בלבד בפורמט float32, כך שאין שום צורך בכרטיס מסך ייעודי כדי לעבוד איתו. אפשר להריץ אותו בקלות על מעבד רגיל בכל מחשב נייד ישן, בתוך קונטיינר פצפון, או על שרת ענן במדרגת החינם בלי להרגיש עומס על הזיכרון.

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

from transformers import pipeline

pipe = pipeline("text-generation", model="roneneldan/TinyStories-33M")
print(pipe("שלום"))

הקבצים

9 קבצים במאגר, 281 MB סך הכול. הקישורים מובילים ישירות ל־Hugging Face.

הרישיון

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

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