GPT
S

SmolLM-1.7B

קוד פתוח

HuggingFaceTBapache-2.02024-07-14

  • transformers
  • onnx
  • safetensors
  • llama
  • text-generation

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

  • 1.7Bפרמטרים
  • 2,048טוקנים בהקשר
  • 23.3 GBמשקל הקבצים
  • 69,805הורדות בחודש

מה זה

המודל הזה הוא הגרסה הגדולה בסדרת SmolLM, והוא מיועד להשלמת טקסט וקוד באנגלית. במקום לזרוק פנימה את כל האינטרנט ללא אבחנה, האימון התבסס על Cosmo-Corpus שמכיל טקסטים חינוכיים מ־FineWeb, דוגמאות פייתון מ־The Stack, וספרי לימוד סינתטיים שנוצרו על ידי Mixtral בהיקף של כטריליון טוקנים.

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

מתאים ל

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

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

  • עבודה במכשירים מוגבלי זיכרון

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

  • מענה חינוכי באנגלית

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

איפה זה נופל

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

אותה משפחה

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

שאלות
נפוצות

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

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

כמה זיכרון וידאו צריך כדי להריץ אותו?

בגרסת bfloat16 דרושים כ־3.4 גיגה בלבד של VRAM, ובקוונטיזציה של 4 ביט המודל צורך כגיגה אחד של זיכרון.

מה ההבדל בין המשקל של הקבצים לזיכרון בזמן ריצה?

הקבצים להורדה שוקלים 23.3 גיגה בגלל שמירת נתונים ב־float32, אבל בטעינה רגילה עם bfloat16 או קוונטיזציה הזיכרון בפועל נע בין גיגה ל־3.4 גיגה.

איך מריצים

טעינה מלאה של המודל בספריית transformers דורשת משאבים מזעריים. בשימוש ב־bfloat16 הוא תופס כ־3.4 גיגה בזיכרון, ואם מפעילים קוונטיזציה של 8 ביט דרך bitsandbytes הנפח יורד ל־1.8 גיגה בערך. ב־4 ביט מגיעים לגודל של גיגה בודד בלבד, מה שמאפשר להריץ אותו בקלות גם על מעבד רגיל או על כרטיסי מסך ביתיים חלשים.

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

from transformers import pipeline

pipe = pipeline("text-generation", model="HuggingFaceTB/SmolLM-1.7B")
print(pipe("שלום"))

הרישיון

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

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

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