מה עושה ה-seed ב-Stable Diffusion?

מאת עודכן 2 דקות קריאה

ה-seed הוא מספר שלם שמאתחל את הרעש האקראי שממנו מתחילה כל יצירה. עם אותו seed, פרומפט, מודל, הגדרות ותוכנה, Stable Diffusion מייצר בדיוק את אותה תמונה; שנו את ה-seed ותקבלו קומפוזיציה אחרת לאותו פרומפט. ב-Automatic1111 ובאתר הזה, הערך ‎-1 בוחר seed אקראי בכל פעם.

למה ה-seed חשוב

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

איך משתמשים ב-seed

  1. צרו תמונות עם seed של ‎-1 עד שמופיעה קומפוזיציה שמוצאת חן בעיניכם.
  2. קראו את ה-seed במידע על התמונה (Automatic1111 כותב אותו במטא-דאטה של ה-PNG ומתחת לתמונה) והדביקו אותו בשדה ה-seed.
  3. עכשיו שפרו את הפרומפט או את הפרומפט השלילי מילה אחר מילה: הקומפוזיציה בדרך כלל נשארת, הפרטים זזים.
  4. עם sampler שאינו ancestral (Euler, DDIM, DPM++ 2M), אותו seed עדיין נותן תמונה קרובה כשמשנים את מספר הצעדים או את ה-CFG, וכך אפשר להשוות הגדרות בצורה הוגנת. samplers מסוג ancestral כמו Euler a מוסיפים רעש חדש בכל צעד ונסחפים.

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

מה שובר את השחזור

  • מודל או LoRA אחרים: הרעש זהה אבל ה-denoiser לא, ולכן התמונה משתנה: מעט עם LoRA קל, לגמרי עם מודל אחר.
  • גודל תמונה אחר: לטנזור הרעש יש צורה אחרת, ולכן התמונה לא קשורה בכלל גם עם אותו seed.
  • GPU או גרסת תוכנה אחרים: הבדלים זעירים בחישובי נקודה צפה יכולים להזיז פרטים; בין יצרני GPU שונים Automatic1111 אפילו מגריל רעש שונה, אלא אם מקור המספרים האקראיים שלו מוגדר ל-CPU.
  • ל-Automatic1111 יש הגדרות נוספות שמשנות את התוצאה, כמו variation seed, Clip skip ו-Eta noise seed delta; שמרו אותן זהות לשחזור מדויק.

וריאציות סביב seed

ל-Automatic1111 יש variation seed ומחוון variation strength: ב-0.1 עד 0.3 מקבלים "אחים" של התמונה, אותה תנוחה ואותה פלטה עם שינויים קטנים, שימושי לבחירת הידיים או הפנים הטובות ביותר. X/Y/Z plot עם seeds על ציר אחד ומילה מהפרומפט על הציר השני מייצר גריד השוואה בהרצה אחת.

שאלות נוספות שאנשים שואלים

האם seed גדול יותר הוא טוב יותר?

לא. ה-seed הוא תווית לדפוס רעש, לא הגדרת איכות; 7 ו-4,294,967,295 טובים באותה מידה. רק היכולת לחזור עליו חשובה.

אפשר לקבל את אותה תמונה באתר אחר עם אותו seed?

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

למה אותו seed נותן תמונה אחרת בכלים של האתר הזה?

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