GPT
V

versatile-diffusion

קוד פתוח

shi-labsmit2022-11-22

  • diffusers
  • image-to-text
  • image-to-image
  • text-to-image
  • text-to-text

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

  • 45.7 GBמשקל הקבצים
  • 2,102הורדות בחודש
  • 48לייקים

מה זה

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

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

מתאים ל

  • יצירה בהנחיה כפולה

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

  • וריאציות לתמונה קיימת

    יצירת גרסאות חלופיות של תמונה מוזנת בלי צורך לנסח תיאור טקסטואלי מפורט מראש.

  • מחקר על מודלים רב תחומיים

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

איפה זה נופל

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

שאלות
נפוצות

האם כדאי להוריד אותו במקום מודל ייעודי ליצירת תמונות?

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

איך אפשר לצמצם את צריכת הזיכרון של המודל הזה?

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

איך מריצים

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

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

from diffusers import DiffusionPipeline

pipe = DiffusionPipeline.from_pretrained("shi-labs/versatile-diffusion")
img = pipe("a photo").images[0]

הרישיון

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

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

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