GPT
S

starvector-8b-im2svg

קוד פתוח

starvectorapache-2.02025-01-11

  • transformers
  • safetensors
  • starvector
  • text-generation
  • custom_code

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

  • 7.5Bפרמטרים
  • 14.0 GBמשקל הקבצים
  • 3,266הורדות בחודש
  • 566לייקים

מה זה

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

הוא אומן על מאגר בשם SVG-Stack שמכיל מעל שני מיליון דוגמאות של קובצי וקטור. במבחני ההשוואה של SVG-Bench עם מדד DinoScore, גרסת ה־8B עוקפת שיטות קודמות ומודלים כלליים כמו GPT-4-V בכל הקטגוריות שנבדקו. היתרון הגדול שלו מתבטא בעיקר בדיאגרמות ותרשימים טכניים, שם הוא מוציא ציון של 0.959 לעומת פחות מ־0.89 בכלים הקלאסיים, מה שאומר שהקוד שהוא מייצר שומר על המבנה הלוגי של האלמנטים ולא רק מדביק צורות מקורבות.

מתאים ל

  • וקטוריזציה של לוגואים

    הוא יודע לקחת תמונת פיקסלים של לוגו ולהפוך אותה לקובץ SVG נקי וחד שמתאים להדפסה או לאתר.

  • המרת תרשימים טכניים

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

  • יצירת קובצי אייקונים

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

איפה זה נופל

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

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

שאלות
נפוצות

אפשר להשתמש בו כדי להמיר תמונות אמיתיות או צילומים ל־SVG?

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

איזה כרטיס מסך מינימלי צריך בשביל להריץ אותו עצמאית?

המשקלים תופסים כ־14 גיגהבייט, ולכן דרוש כרטיס עם לפחות 16 גיגהבייט זיכרון וידאו, ועדיף 24 גיגהבייט. זה נחוץ כדי להתמודד עם פלט ארוך של עד 4000 טוקנים של קוד.

למה להשתמש במודל כבד כזה במקום כלים רגילים כמו Potrace?

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

איך מריצים

הקבצים שוקלים 14 גיגהבייט ונטענים דרך ספריית transformers הרגילה, אבל הטעינה דורשת הגדרה של trust_remote_code מפני שנעשה שימוש בארכיטקטורה מותאמת. בשביל להריץ אותו ב־float16 או bfloat16 בלי קריסות תצטרכו כרטיס מסך עם לפחות 16 עד 24 גיגהבייט זיכרון וידאו, במיוחד אם מגדילים את אורך הפלט עד ל־4000 טוקנים של קוד וקטורי.

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

from transformers import pipeline

pipe = pipeline("text-generation", model="starvector/starvector-8b-im2svg")
print(pipe("שלום"))

הרישיון

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

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

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