מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

זה מצחיק איך היסטוריית השחרורים של מודלים פתוחים להמרת רמיזות טקסט לתמונות, שפותחו ואומנו על ידי Stability AI, דומה לסדרת העליות והמורדות של גרסאות עוקבות של מערכת ההפעלה של מיקרוסופט. לאחר ההצלחה האגדית של XP, נזכיר, הופיעה ה-Vista הבעייתית; אחר כך ה"שבע" המפואר - ומאחוריו חלונות 8 חסרי החן. ב-Stable Diffusion, גרסה 1.5 המכוערת בתחילה, אך בהדרגה הועלתה לתודעה על ידי חובבים, גוררה אחריה SD 2.0 הלא מוצלח בעליל - לא מוצלח, למעשה, כי הוא כלל מקודד OpenCLIP, שאינו אופייני לדגמים מסוג זה, מאומן על תמונות שנבחרו בצורה מאוד מעורפלת של פתח את מערך הנתונים LAION-5B. במהלך הבחירה הזו, לא רק התייחסויות חזותיות לא הולמות (NSFW) בוטלו, אלא גם ציורים ואיורים של אמנים פופולריים כמו גרג רוטקובסקי הידוע לשמצה. זה האחרון הוא שעורר את זעמם של החובבים לבסוף: אם עבור SD 1.5, אפילו בגרסה המקורית, ללא שימוש בנקודות ביקורת מתקדמים במיוחד, טיפים פשוטים עם סגנונות עבדו בצורה מושלמת - "נוף פנטזיה ימי אפי, בסגנון גרג רוטקובסקי" - והתוצאה הייתה מרשימה, אז SD 2.0 הפסיק "להכיר" את שמות המאיירים הידועים ביותר, שזכויות היוצרים שלהם על היצירות שנוצרו עדיין תקפות ושלא התנשאו לספק את היצירות הללו לאימון בינה מלאכותית. הייתי צריך להשתמש במילים נוספות כדי לתאר את מה שרציתי, והדגם לא הסתדר טוב עם רמזים ארוכים מדי.

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

#ישב - קם, התיישב - קם

בשילוב עם מקודד שונה (ממיר רמזים לטקסט לאסימונים דיגיטליים, שהמודל עובד איתם ישירות), חוסר היכולת להשתמש בסגנונות בעלי שם פשוט מנעה מהחובבים את המוטיבציה לחדד את ה"שניים" בעצמם. ובכן, למעשה: כאן היה צורך להבין בו-זמנית כיצד להתאים את הטכניקה המוכחת כבר להלחנת רמזים עבור מקודד חדש, ובנוסף לאמן את הדגם לזהות את התמונות והנושאים שהיוצרים לא הכירו אותו בשלב של אימון ראשוני - אבל היה הבדל איכותי מתמונות "אחד וחצי" שנוצרו על ידי "שניים" עדיין לא הבטיח. כן, מהגודל הסטנדרטי של SD 1.5 של 512x512 פיקסלים הייתה קפיצה איכותית ל-768x768, אבל באותו זמן הקהילה כבר השתמשה ב-upscalers, outpainters וכלים אחרים כדי להגדיל את גודל התמונה הסופית, אז SD 2.0 עבר, ליד ו גדול, בלי לשים לב. SDXL חזר לתקן (פותח על ידי OpenAI ומשמש במיוחד את פרויקט DALL-E) לקודד CLIP - גם הקוד שלו פתוח, אבל הנה מסד הנתונים שעליו הוא מאומן, בניגוד ל-OpenCLIP, קנייני. בנוסף, גודל הקנבס הסטנדרטי עבור Oversize גדל ל-1024x1024, בנוסף הופיעו מספר שיפורים נוספים, כך שחובבים בשמחה החלו לשכלל אותו. ועד היום, זה SDXL (והנגזרות שלו שהופיעו לפני זמן לא רב, פחות תובעניים בחומרה, כמו SDXL טורבו и SDXL ברק) יכול להיחשב בביטחון למחולל תמונות AI בקוד פתוח הפופולרי ביותר. עם זאת, תומכים נלהבים של SD 1.5 מתווכחים עם זה, ומציינים שכלים חשובים כמו ControlNet נמצאים ב-SDXL טרם הועברו כראוי.

ועכשיו, מ-12 ביוני 2024, מרגע "השחרור לטבע" של קוד הדגם המאפשר יצירה מקומית, הזמן היה צריך להגיע לגרסה ה"פתוחה" של SD 3 - ליתר דיוק, אז דיפוזיה יציבה 3 בינונית (SD3M או SD3 2B) עם 2 מיליארד פרמטרים תפעוליים. באופן קונבנציונלי, אנו נזכיר כי מספר זה מתאים למספר הכולל של המשקולות בכניסות של כל הפרספטרונים במודל. עוד קודם לכן, באפריל, ה-Stability AI הביאה לחיים והציעה לשימוש מסחרי את ה-8 מיליון (במונחים של מספר הפרמטרים) דיפוזיה יציבה 3 גדולה, aka SD3 8B. כזכור, ל-SDXL 1.0 יש - 3,5 מיליארד פרמטרים, לעומת זאת, SD3M, לפי המפתחים, הוא "הדגם המתוחכם ביותר ליצירת תמונות שיצרנו עד היום". הכוונה הייתה שעם צרכי זיכרון וידאו קטנים יותר מאשר Oversized, הוא יצטרך לייצר תמונות "עם רמה חדשה של פוטוריאליזם" אפילו בתגובה להנחיות פשוטות. בין היתרונות של דרגת "C" נקראו גם "איכות חסרת תקדים של טיפוגרפיה של הטקסט המתקבל מהתמונות שנוצרו", "הבנה מעמיקה של רמזים בשל המאמצים המשולבים של שלושה מקודדים בבת אחת" ו"מוכנות ל הכשרה נוספת יעילה אפילו על מערכי נתונים מוגבלים."

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

מן הסתם ההנחה הייתה שקהילת המתלהבים, לאחר שקיבלה לרשותם צעצוע חדש מיוחל, תתחיל ללטש אותו באותה להט כמו ה"אחד וחצי" וה"אוברסייז" בזמנם. עם זאת, הכל השתבש מההתחלה: SD3M כבר בשעות הראשונות לאחר פרסום קובצי הדגמים ב-Huging Face וב-Civitai הצליח לאכזב עמוקות הקהל שלך, ופעמיים בבת אחת. הפעם הראשונה - עם אידיוסינקרטיה בלתי מוסברת במבט ראשון לרמזים, כולל הביטוי התמים לכאורה "שוכב על/בעשב"; השני - ניסוח מעורפל להפליא בהסכם המשתמש, שאפילו עורכי דין מקצועיים לא הצליחו להבין מיד. ולמרות שמנקודת מבטו של חובב אומנות בינה מלאכותית רגיל האחרון נראה חסר חשיבות, זה הצד המשפטי של הנושא שיבוא לידי ביטוי בצורה הישירה ביותר על המשך הפיתוח של המודל - עד כדי כך ששום פיתוח לא עשוי לבוא לידי ביטוי. לעקוב בכלל.

יצירות קודמות של קוד פתוח Stable Diffusion (ליתר דיוק, עם ערכים פתוחים של משקלי רשת עצבית זמינים להורדה בחינם ולביצוע מקומי לאחר מכן), כגון SDXL, לוו באחד מהמודלים היצירתיים האופייניים CreativeML Open RAIL++-M License עם מאפיינים כגון "רישיון זכויות יוצרים תמידי, כלל עולמי, לא בלעדי, ללא תמלוגים, ללא תמלוגים, בלתי הפיך לשכפול, להכין, להציג בפומבי, לבצע בפומבי, לתת רישיון משנה ולהפיץ חומרים נוספים הן מהדגם עצמו והן מהנגזרות שלו. " "Troechka" מספק שני סוגי רישוי: לשימוש לא מסחרי - בשפה מאוד מייאשת כמו "Stability AI מעניקה לך רישיון לא בלעדי, כלל עולמי, בלתי ניתן להעברה, לא ניתן לרישיון משנה, לביטול, ללא תמלוגים, רישיון מוגבל לקניין הרוחני" - ו פרסומת הרבה יותר מכבידה.

#דשא לא יועיל

לאחר זמן קצר מאוד, הקהילה הסכימה לכך Stable Diffusion 3 אינו קוד פתוח. ולמעשה, היא הכריזה על חרם על החברה המפתחת, לא רוצה לבזבז זמן ומאמץ על הכשרה נוספת של מודל גולמי ועקום בעליל - מתוך הבנה ש-Stability AI יכולה בכל רגע, בכל הגחמה הקלה של התקשורת שלה. מנהלים, לקחת ולשלול רישיון שהונפק בעבר לחובב ספציפי, תוך ביצוע הכשרה נוספת כזו. הסכם הרישיון מנוסח באופן שלא עורכי דין הלומדים אותו מתרשם שבעקבות ביטול ההרשאה לשימוש מסחרי ב-SD3M, יחויב מקבלו לשעבר להסיר את כל הנגזרות שנוצרו על ידו מהקניין הרוחני המורשה ל-SDXNUMXM. אותו, לרבות הן המודלים שהוכשרו מראש עצמם (LoRA, היפוכי טקסט, מחסומים שלמים), והן נגזרותיהם (ציטוט: "עם סיום הסכם זה, תמחק ותפסיק להשתמש במוצרי תוכנה או יצירות נגזרות") - כי הוא, פירות העבודה של אנשים אחרים שהשתמשו במודלים הנגזרים האלה כנקודת מוצא לעבודה שלך; יתרה מכך, הוא לא שולם על ידי איש ובוצע מתוך התלהבות טהורה.

זמן קצר לאחר שגל הזעם על נושא זה הגיע לגבהים סטרטוספריים, החלו להופיע הודעות מעורכי דין מקצועיים, שהכל לא רע ושהריקול עם איסור על שימוש נוסף אמור למעשה להתייחס רק למוצרי עזר מסוימים בקוד סגור שיעביר בינה מלאכותית של Stability למשתמש מסחרי (נגיד, כדי להאיץ ולייעל את אותה אימון קדם SD3M) - אבל החברה עצמה טרם נתנה הסברים סופיים בעניין זה ולא סיפקה אותם. ועצם שתיקה מעיקה שכזו בשלושת השבועות האחרונים (בזמן כתיבת מאמר זה) מאז הופעת ה"ג" ברשות הרבים פוגעת במוניטין של היזם בצורה משמעותית הרבה יותר מאשר הדשא פוגע בבנות שנוצר על ידי יצירתו.

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

לגבי העשב הידוע לשמצה, שהצליח להפוך ממש תוך שעות ספורות למם הראשון ב-Handging Face, ולאחר מכן כמעט בכל האתרים המיוחדים יותר או פחות באינטרנט, התברר שהנוכחות בהנחיה של ביטוי כמו "ילדה שוכבת על הדשא" מובילה להופעה בתוצאות "C" של לא רק הזיות , אבל יצירות מסויטות של המטופל - במובן הרפואי - הפנטזיות של אמנים ויוצרי קולנוע המתמחים באימת גוף (אנו מפצירים בכם, אם השפיות והחיים שלכם יקרים לכם, תתרחקו מזה ואל תנסו אפילו הקלד את הביטוי הזה בחלון חיפוש התמונות כאשר מסנן האבטחה מושבת). יחד עם זאת, תמונות של אנשים עומדים – ובמידה פחותה גם יושבים – משיגים ציון C עם B פלוס בטוח, ופורטרטים יוצאים לפעמים ללא רבב; לפחות לא יותר גרוע מהדגם הבסיסי SDXL 1.0 - הקאץ' כאן הוא בדיוק סוג של טאבו פנימי על המיקום האופקי של גוף האדם.

אם לשפוט לפי הערתו של עמד מוסטק, המייסד והראש (עד מרץ 2024) לשעבר של Stability AI, שעזב את החברה "לעסוק בפרויקטים מבוזרים בתחום הבינה המלאכותית", אלימות גסה נגד SD3M ממש לפני פתיחת הסולמות לשימוש מוגבל לא מסחרי (API של דגם SD3 8B הגדול יותר לדור מקוון, כזכור זמין דרך אתרי שותפים מאז אפריל, אך משקלו נותר סמוי) הייתה תוצאה של רצונה של ההנהגה הנוכחית לביטחון - "בשל חובות רגולטוריות", שנוסח עוד במרץ השנה כ מדיניות שימוש קביל. תחת מדיניות זו, תוך שימוש במודל היצירתי של SD3M, אסור למשתמשים "לבצע, לקדם, לקדם, להקל, לעודד, לתכנן, להסית או לקדם אלימות נוספת, טרור או יצירת תוכן שנאה המפלה או מאיים על קבוצה מוגנת של אנשים (בין אם מבוססת על מגדר, מוצא אתני, זהות מינית או נטייה, דת וכו')", אז אין תמונות של פנדות במה שאמא שלהן ילדה להילחם בדרקונים משתוללים! בלעדי חתולים בכובעים מצחיקים, כלבים במעילים חמודים, בקבוקים עם תכולה לא ידועה ועוגיות טריות היישר מהתנור!

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

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

בהתחשב בזמינות ה-API של מודל ה-SD3 8B המלא אך הסגור כבר מספר חודשים וההבטחות הנלהבות של מנהלי המדיה של Stability AI שה-2B "המורכבים" יהיה כמעט זהה מבחינת איכות תפיסת הטקסט ויצירת תמונה, חובבי ציור בינה מלאכותית בירכו את שחרורו של מאזני SD3M לציבור ב-12 ביוני עם יותר מהתלהבות: ב-24 השעות הראשונות הורד הדגם 2,7 מיליון פעמים. כרגע עדיין אפשר להשיג אותו, אם כי בצורה קצת יותר עגולה מהמקובל במחסומי SDXL ו-SD 1.5. למעשה, הדרך המקובלת היא להיכנס לאתר Civitai, ממנו מורידים את רוב הדגמים ללא הרשמה, אך מ-17 ביוני ועד העברת מאמר זה לפריסה, עמוד באתר זה המוקדש ל-"C" נמצא באמבטיה זמנית. יש רק סיבה אחת: הרישיון המסחרי ל-SD3M כתוב בשפה כה מעורפלת שאפילו עורכי הדין של Civitai לקחו הפסקה כדי ללמוד אותו יותר מקרוב. אחרי הכל, אם איזה חובב מאמן את LoRA ל-"C" במחשב האישי שלו ומפרסם אותו ב-Civitai, ו-Stability AI פתאום יחליט שהתוצאה לא הייתה הולמת ומבטל את הרישיון של האשם, מה אתר המארח צריך לעשות במקרה הזה? אחרי הכל, הוא לא רק מארח מחסומים, ציקלוגרמות עזר ומודלים, אלא גם מספק למבקרים אפשרות ליצור תמונות מבוססות ענן ולאמן את אותו LoRA, היפוכי טקסט וכו'. באופן כללי, בזמן הניסיון בעיצומה, ניתן לקחת רק את הקבצים של הדגם עצמו ושלושת ממירי הטקסט לאסימון שמגיעים איתו מהעמוד עצמו של Stability AI בפורטל Hugging Face.

#בואו נתחיל

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

דגמים:

  • sd3_medium.safetensors
  • sd3_medium_incl_clips.safetensors
  • sd3_medium_incl_clips_t5xxlfp8.safetensors
  • sd3_medium_incl_clips_t5xxlfp16.safetensors

מקודדים:

  • clip_g.safetensors
  • clip_l.safetensors
  • t5xxl_fp8_e4m3fn.safetensors
  • t5xxl_fp16.safetensors

ציקלוגרמות:

  • sd3_medium_example_workflow_basic.json
  • sd3_medium_example_workflow_multi_prompt.json
  • sd3_medium_example_workflow_upscaling.json

ב"סדנה" זו נגביל את עצמנו לדגם הבסיסי sd3_medium.safetensors (4,2 GB), שלושה מקודדים - clip_g.safetensors (1,3 GB), clip_l.safetensors (234 MB) ו-t5xxl_fp8_e4m3fn.safetensors (4,7 GB) . בתור cyclogram sd3_medium_example_workflow_multi_prompt.json. העובדה היא שלמכונת הבדיקה שלנו יש, להזכירכם, כרטיס מסך GeForce GTX 1070 עם זיכרון RAM של 8 גיגה-בייט, ודגמים גדולים יותר עם כל הממירים המשולבים בו-זמנית לא יכנסו לנפח זה. עבור מחסומים המבוססים על SD 1.5 ו-SDXL, מקודדים מובנים בקובץ הראשי כברירת מחדל, אך במקרה זה אין אפילו שניים מהממירים הללו, אלא שלושה, בסך הכל של יותר מ-6 ג'יגה-בייט - יחד עם הדגם עצמו, יש כבר יותר מ-10 GB; ואם אתה לוקח את גרסת ה-16 סיביות של מקודד T5XXL, תצטרך כרטיס מסך יוצא דופן עוד יותר. בגרסה שבה ממירי טקסט לאסימון נטענים לראשונה לזיכרון הווידאו, ולאחר מכן נטען דגם שעובד עם האסימונים הללו, אפילו מתאם גרפי בנפח 6 ג'יגה-בייט יעבוד מצוין. מנקודת מבט זו, ה"טרויקה" המודולרית בהחלט עולה על נקודת ביקורת טיפוסית של 5-7 GB SDXL.

SD3M הוא מודל המבוסס על שנאי דיפוזיה רב-מודאליים (שנאי דיפוזיה רב-מודאלי, MMDiT) - ובכך שונה מהותית מהפיתוחים הקודמים של Stability AI (ולא רק אותו), המבוססים על ארכיטקטורת U-Net, שהוצעה עוד ב-2015 הסדנה אינה המקום להתעמק בהבדלים בין הגישות הללו ליצירת תמונות בינה מלאכותית; בוא נגיד את זה MDiT מספק ביצועי דגם משופרים, היכולת שלו לעבוד עם מספר גדול יותר של אסימונים (מה שבתורו מאפשר למפעיל לנסח הנחיות טקסט נרחבות מאוד, ולמערכת לעקוב אחריהן די דייק), כמו גם האיכות הטובה יותר של התמונות המתקבלות. ה-SD3 8B בגודל מלא מסוגל ליצור תמונות על קנבס של 4 מגה פיקסל (2048 × 2048 פיקסלים), כמו גם לפני DALL-E 3, Midjourney v6 ו-Ideogram v1 בבדיקות כגון שכפול טקסט בתמונה, דיוק התאמת התמונה המתקבלת עם רמז טקסט ואסתטיקה ויזואלית כוללת. המרת הטקסט לוקטור של אסימונים מתבצעת כאן על ידי שלושה מקודדים בבת אחת (שני דגמי CLIP ואחד T5-XXL - "T5", אגב, מ שנאי העברת טקסט לטקסט) - ובאופן כללי, הם לא צריכים לעבוד עם אותו רמז.

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

אבל מספיק הקדמות: בואו נרד למה מוקדשת ה"סדנה" - יצירת תמונות על בסיס מודל ה-SD3M. לשם כך אנו משתמשים, כאמור, בסביבת העבודה ComfyUI, אותה תוכלו להוריד באמצעות קישור ישיר מ-GitHub. נדגיש כי אפשרות זו מיועדת רק לביצוע על מתאמי גרפיקה של NVIDIA או ישירות על מעבד AMD או אינטל (שכמובן, יהיה הרבה יותר איטי): בעלי כרטיסי מסך AMD הקביים מוצעים בצורת חבילות rocm ו-pytorch, שניתן להתקין באמצעות מנהל הורדות pip.

עם השלמת ההתקנה של סביבת העבודה, עליך למקם את קבצי ה-.safetensors שהורדו קודם לכן: מודלים - בספריית ComfyUImodelscheckpoints, ממירי טקסט לאסימונים - ב-ComfyUImodelsclip. וגם - אפשר להתחיל!

#הגיע הזמן להאיץ

ראוי להזכיר כי AUTOMATIC1111, סביבת עבודה מוכרת היטב לקוראי "סדנאות" קודמות בנושא ציור AI, עד סוף יוני גם כן קיבל את ההזדמנות לבצע SD3Mעם זאת, ב-ComfyUI, התמיכה בדגם החדש נותרה המושלמת ביותר. זה לא מפתיע - אחרי הכל, עד לאחרונה, מחבר "מפלצת הפסטה", המוכרת לקהילת החובבים תחת הכינוי ComfyAnonimous, או פשוט Comfy, היה עובד של Stability AI, שם עבד, במיוחד, על סביבת העבודה הפנימית הארגונית המשמשת את המפתחים עצמם. כפי שנראה מעט מאוחר יותר, הגרסה החדשה ביותר של ComfyUI מעידה למעשה על נוכחותן של תובנות מסוימות מהמחבר שלה לגבי האופן שבו המודל השנוי במחלוקת זה בנוי ופועל - תובנות שיצרו סביבות עבודה אחרות לביצוע מקומי של Stable Diffusion 3 Medium יכולים בקלות להתפאר בסיבות שהם לא יכולים.

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

התקנת ComfyUI בגרסה הניידת עבור Windows היא קלה כמו הפגזת אגסים: לאחר הורדת ארכיון ה-ZIP המתאים מדף הפרויקט הרשמי פשוט פרק אותו לכל ספרייה נוחה; רצוי, כמובן, על מחיצה לוגית המבוססת על SSD, ולא על HDD - החלפה בין הכונן לזיכרון, תוך התחשבות במחזורי הטעינה והפריקה הקרובים של דגמים, אפילו כדי ליצור תמונה בודדת (הסביבה תחילה יהיה צורך למקם ממירי טקסט לאסימון ב-RAM של הווידאו, לאחר מכן לנקות את זיכרון הווידאו ולטעון את ה-SD3M עצמו) צפוי להיות אפילו יותר משמעותי, ככל שפחות זיכרון וידאו עומד לרשותו של מחשב נתון. אגב, התקנה ניידת טובה גם בגלל העצמאות המוחלטת שלה: שום דבר - מלבד כמות השטח הפנוי בדיסק הלוגי - לא מונע ממך לפרוס מקומית כמה עותקים של ComfyUI שתרצה כדי להתנסות ללב שלך מסתפקים בהרחבות שונות, ללא חשש להרוס מערכת שכבר בוצעה באגים ועובדת בצורה מושלמת.

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

לאחר ווידאת שקובץ הדגם הראשי של SD3M ללא טקסט מובנה למקודדי אסימונים (קובץ stableDiffusion3SD3_sd3Medium.safetensors, 4,2 GB) ממוקם בתיקייה המשנה של נקודות ביקורת (במקרה של התקנת הבדיקה שלנו, הנתיב המלא הוא C:Fun-n -GamesComfyUI-SD3ComfyUImodelscheckpoints), וזה כל שלושת דגמי המקודדים (קבצים stableDiffusion3SD3_textEncoderClipG.safetensors, stableDiffusion3SD3_textEncoderClipL.safetensors ו-stableDiffusion3SD3_textEncoderT5E4m3fn, .1,3GB respective, 234GB; ly) - בספריית המשנה של הקליפ (C: Fun-n-GamesComfyUI -SD4,7 ComfyUImodelsclip), אתה יכול להפעיל סביבת עבודה על ידי לחיצה כפולה על הקובץ run_nvidia_gpu.bat בתיקיית השורש (במקרה שלנו C:Fun-n-GamesComfyUI-SD3). לאחר הפעלת השרת, בחלון שורת הפקודה של Windows המופיע בדפדפן ברירת המחדל, תיפתח אוטומטית לשונית חדשה (זה משתמע מהגדרות קובץ BAT), שבה ממשק האינטרנט יהיה זמין ב-3/127.0.0.1 מאולף על ידינו בעבר (גם אם רק כקירוב ראשון) "מפלצת פסטה".

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

באופן עקרוני, אם עומד לרשותכם כרטיס מסך NVIDIA מודרני יותר (דור RTX, לא GTX, אפילו עם זיכרון RAM של 6 גיגה-בייט בלבד), תוכלו לטעון מיידית לסביבת העבודה את הסיקלוגרמה הייחוס שחיבר ComfyAnonimous עצמו, אשר הייתה שהוזכר קודם - קובץ comfy_example_workflows_sd3_medium_example_workflow_multi_prompt.json עם מספר חלונות להזנת הנחיות, אחד עבור כל אחד משלושת המקודדים, ועבוד איתו. נכון, ראשית תצטרכו להתאים את ארבעת השמות של קבצי המודל (בצמתי הטעינה שלהם) לאלה הקיימים. מחבר הסיקלוגרמה הייחוס פעל ללא ספק במקום עבודתו (ב-Stability AI, כפי שכבר הוזכר) עם קבצים זמינים מקומיים שנקראו בצורה מעט שונה, כך שאם תלחץ על כפתור "הנחיית תור" בממשק ה-ComfyUI הספרטני מיד לאחר טעינת הסיקלוגרמה, עבודה בסביבה תיצור הודעת שגיאה.

#שלושה שדות לדור AI

עם זאת, לא קשה לתקן את זה: מה שהרבה יותר מדכא הוא העובדה שה-GTX 1070 המנוסה העומד לרשותנו איטי בצורה מפלצתית בעיבוד SD3M - יצירת תמונה מתרחשת במהירות של 27-30 שניות עבור כל איטרציה, ואם אתה מחשיב שהפרמטר "צעדים" בסיקלוגרמת ההתייחסות מוגדר ל-"28", מה שלוקח זמן לא סביר. לכן, בואו נעשה אופטימיזציה קטנה - נשתמש במודול Python venv (סביבות וירטואליות, "סביבות וירטואליות"), שנועדו, במיוחד, להאיץ את עבודתם של מודלים של בינה מלאכותית. זה לא כלול בחבילת המשלוח של הגרסה הניידת של ComfyUI, עם זאת, ישנן דרכים רבות להתקין אותו, שבסופו של דבר מסתכם בפריסת סביבת Python מן המניין על מחשב אישי מקומי - והפעלת המודול הדרוש מסביבה זו.

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

אנו נסמוך על העובדה שלקוראים שעוקבים אחר "הסדנאות" שלנו כבר יש התקנה פעילה של AUTOMATIC1111 על המכונות שלהם. במקרה זה, הכל הרבה יותר פשוט: מודול venv כבר פרוס שם, וכל מה שצריך לעשות כדי להפעיל אותו בעת הפעלת סביבת העבודה ComfyUI הוא לבצע את השיחה כמו שצריך. ראשית, עליך לכבות את השרת על ידי מעבר לחלון שלו ולחיצה על "Ctrl" + "C", ולאחר מכן הזנת "y" כדי לאשר; לאחר מכן, העתק את קובץ ה-BAT run_nvidia_gpu.bat לקובץ חדש, עם שם, למשל, run_with_venv.bat. קובץ האתחול הראשוני הוא מאוד תמציתי - הוא פשוט קורא לעותק הנפרס של Python עם האפשרות --windows-standalone-build:

.python_embededpython.exe -s ComfyUImain.py --windows-standalone-build

הפסקה

פרמטר זה כשלעצמו אינו ברור במיוחד - הוא מרמז על כמה אופטימיזציות, אשר, ככל הנראה, תוכננו במיוחד עבור מתאמי גרפיקה של NVIDIA עדכניים יותר ולכן עלולות להרע את חייהם של אלה שעדיין נשארים נאמנים ל-GTX הראוי להם. מסיבה זו, נסיר את -windows-standalone-build משורת הפקודה, ובמקביל נוותר גם על אופטימיזציה חדשה חדשה - ברירת המחדל הפעילה של "מנהל הזיכרון החכם", הזיכרון החכם, אשר שואפת להחזיק כמה שיותר מידע ב-Video RAMמבלי לפרוק אותו. זה באמת מזרז את הציור של תמונות בינה מלאכותית, אבל במקביל זה הופך את המחשב המיושן שלנו למערכת של משימה אחת - כבר אי אפשר לגלוש באינטרנט, לשחק משחקים, או אפילו לעבוד עם מסמכים ודואר במחשב האישי. במקביל לפעילות סביבת העבודה. אז למי שאין לו מחשב ייעודי לאומנויות בינה מלאכותיות, קובץ ה-BAT האופטימלי להפעלת ComfyUI נראה אופטימלי (לא רק לצורך יצירת תמונות מ-SD3M, אגב, הוא גם די מתאים ל-SDXL):

@ Echo off

קרא cd C:Fun-n-GamesGitstable-diffusion-webuivenvScripts

הד %cd%

התקשר אל active.bat

echo venv הופעל

התקשר לתקליטור C:Fun-n-GamesComfyUI-SD3

הד %cd%

התקשר ל-.python_embededpython.exe -s ComfyUImain.py --disable-smart-memory

הפסקה

כאן ההנחה היא שההתקנה הניידת של ComfyUI מתבצעת בספריית C:Fun-n-GamesComfyUI-SD3, ו-AUTOMATIC1111 הותקן בעבר ב-C:Fun-n-GamesGitstable-diffusion-webui. דרושים "הדים" רבים פשוט לשליטה חזותית ששינוי התיקיות מתנהל כרגיל והפקודות הדרושות מבוצעות - לאחר שהכל ניפוי באגים, ניתן להסיר אותן מקובץ BAT.

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

הפעל שוב את שולחן העבודה, הפעם על ידי לחיצה כפולה על run_with_venv.bat. מכיוון שקודם לכן פשוט סגרנו את השרת ולא נגענו בממשק האינטרנט, אותה סיקלוגרמה של ComfyUI עם שמות הדגמים המתוקנים עדיין צריכה להישאר בכרטיסייה המתאימה. בואו נשים לב לצידו הימני: הצומת "תצוגה מקדימה" נמצא שם, שאינו שומר את התמונה המוגמרת בדיסק, אלא רק מציג אותה. אם אתה מפעיל ציקלוגרמה בכל פעם כדי ליצור תמונה אחת בדיוק, להעריך אותה חזותית, לשנות משהו בפרמטרים ולהפעיל אותה שוב - זו אפשרות עובדת לחלוטין: את התמונה שאתה אוהב תמיד ניתן לשמור באופן ידני על ידי לחיצה ימנית עליה . אבל אם אתה מבצע דורות רבים ברצף בסביבת ייצור, עדיף שהתוצאות שלהם יצטברו אוטומטית בזיכרון קבוע (בספריית ComfyUIoutput כברירת מחדל).

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

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

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

ועכשיו זה הזמן להשיק את הסיקלוגרמה הייחוס שחיברה ComfyAnonimous (עם ההתאמות הצנועות שלנו) לביצוע. מסתבר כך:

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

תמונה מרשימה מאוד, אפילו עם מצב רוח - ואי אפשר לדעת שהיא נוצרה באמצעות אותו דגם שהתפוצץ לחלוטין מההוראות לציור אנשים שוכבים על הדשא. יחד עם זאת, המערכת עובדת די מהר - כ-5-6 שניות לכל איטרציה לתמונה של 1 מגה-פיקסל ב-GTX 1070 יכולים להיחשב כאינדיקטור הגון. לשם השוואה: אותו מחשב באותו ComfyUI עם אותו קובץ BAT מייצר תמונות SDXL בגדלים דומים, תוך הוצאות של כ-6-7 שניות בכל איטרציה, כך שה-C יכול להיחשב פחות תובעני בחומרת המחשב שעליה דור AI מתנהל.

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

כעת נתאים את מידות הקנבס. לא רחוק מהצומת "EmptySD3LatentImage", שמגדיר אותם, ישנו צומת התייחסות "בטל" (במובן של לא מחובר לשום דבר מכל צד) "הערה", המכיל תזכורת חשובה: השטח הכולל של התמונה במקרה של SD3M צריכה להיות בקירוב 1 MPix, - על סמך כך אתה צריך לבחור את הממדים של הצדדים של קנבס מלבני. אז בוא נגדיר אותם כ-1344×768 - רק בערך 1,03 מגה-פיקסל ייצאו.

שימו לב: למעלה נמצא הצומת "Seed", שבו מצוין הזרע עצמו, במקרה זה "945512652412924", ומצוין כי הוא לא אמור להשתנות לאחר היצירה (הפרמטר "הקבוע").

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

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

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

עכשיו בואו נשים לב לצמתים "CLIPTextEncodeSD3" ו-"CLIP Text Encode (Negative Prompt)". הראשון בולט מכיוון שהוא מכיל שלושה שדות קלט בו זמנית; אם תסיר מהם את הטקסט, הסימנים להם הם מיועדים המקודדים יהפכו לגלויים - מלמעלה למטה הם CLIP G, CLIP L ו-T5XXL. בעבר, לא היו צמתים כאלה ב- ComfyUI מסיבות ברורות. ציקלוגרמת ההתייחסות מכילה רמזים קצרים כפולים עבור שני שדות הטקסט הראשונים (עבור ממירי CLIP G ו-CLIP L) ורחבה הרבה יותר עבור השלישי - T5XXL. ברור שניתן לשחק עם התכנים של השדות הללו בגבולות רחבים, ועצם המחקר של המידה שבה שינוי הטקסט בהם משפיע על התמונה הסופית היא משימה לא טריוויאלית, אך מרגשת ביותר. אולם מסיבות שיתבררו מעט בהמשך, לא נתחיל לעסוק בכך מקרוב לעת עתה.

אבל בצומת "קידוד טקסט CLIP (הנחיה שלילית)", להיפך, אין שום דבר מיוחד, אבל תעריך כמה קשה הנתיב ממנו לקלט ה"התניה" המקביל של הצומת הראשי "KSampler"! נתיב זה מתפצל, ואחד מענפיו (העליון במקרה זה) מצביע על כך שהחל מ-10% משלבי הייצור ועד להשלמתו, המערכת כלל לא תיקח בחשבון את הרמז השלילי (העברת השביל דרך צומת "ConditioningZeroOut" פירושו בדיוק תנאי אפס). בעוד שהענף השני מעביר את הרמז השלילי (גם בתנאי בחצי המשקל) לעיבוד נוסף ללא שינויים - אלא רק ב-10% הראשונים מסך שלבי היצור.

#מעורפל רחוק

שוב: 10% הראשונים, כלומר 3 מתוך 28 שלבי הדור שהוקצו במקרה זה, רמז שלילי מועבר לצומת "KSampler", שעסוק ביצירת תמונה במרחב סמוי (למרחב פיקסלים, כלומר לתוך אדם -תמונה מובנת, התוצאה של הפלט שלה מתורגמת על ידי הצומת הבא, "מפענח VAE"), בדרך הרגילה: הענף העליון (עם איפוס התנאי) אינו פעיל, רק התחתון עובד. עבור 90% השלבים הנותרים (25 מתוך 28 במקרה שלנו), הרמז השלילי אינו פועל כלל: הענף העליון של תנאי השידור פעיל - כשהם מאופסים - והתנועה לאורך התחתון נחסמת על ידי פרמטר גבול להפעלת הצומת המתאים "ConditioningSetTimestepRange". כעת ברור מדוע מספר משקיפים טוענים זאת עקרונית לא ניתן להשתמש ברמזים שליליים עבור SD3M, - ההשפעה מהם (אם ניקח בחשבון את הסיקלוגרמה הספציפית של ההתייחסות הזו ונניח שחלים כללים דומים באתרים עם יצירה מקוונת לפי מודל SD3 Medium) היא מינימלית.

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

ובכל זאת זה קיים: אם אתה פשוט לוקח ומחבר ישירות את הפלט של הצומת "CLIP Text Encode (Negative Prompt)" עם הקלט המתאים של "KSampler" (או מסמן את כל צמתי הביניים עם תנאים לאורך הנתיב הזה כ"ניתן לדלג עליו", "עקוף", מה שיוביל לאותו אפקט), איכות התמונה הסופית תדרדר באופן ניכר. זה, אגב, יכול להיחשב כעדות עקיפה לאופי ה"לא גמור" של SD3M, שכן, למהדרין, המפתחים היו צריכים להיות מסוגלים להתאים את החוזק והמשמעות של הרמז השלילי עוד לפני ששחררו את משקלי הדגם ל- נחלת הכלל. שני ענפים של תנאים שנקבעו בחוכמה לשימוש ברמז שלילי הם סוג של תיקון, ובמובן זה תלונות של חובבים שה-"C" בכנות נופל לציפיות שמעלה מחלקת השיווק של Stability AI ביחס אליו, נראות סבירות למדי.

היעדר לפחות מדריך רשמי קצר לעבודה עם SD3M הוביל לעובדה שכבר מסתובבות שמועות באינטרנט על כך שהדגם הזה לא אומנו כלל להשתמש ברמזים שליליים. מה שכמובן לא נכון, אבל בכל מקרה יש ליישם את העצות הללו בצורה אחרת לגמרי, יותר מזה מוכר למפעילי SD 1.5 ו-SDXL. במיוחד, חובבים טוענים ברצינות שהוספת תיאורים מפורטים של כמה שיותר גסויות לתחום השלילי (כן, "nsfw, עירום" הישן והטוב לא מספיק - אתה צריך באמת למתוח את הדמיון שלך) מוביל לשיפור ניכר במראה אפילו הילדה הידועה לשמצה השוכבת על הדשא. אם זה נכון או לא, לא ניתן לקבוע ללא בדיקה מחושבת (ואין זה עובדה שאפילו סימון "18+" בכותרת האתר שלנו יגן על הפרסום מפני תביעות של קנאי מוסר זועמים אם נסכן בפרסום "רמז לנס" שהרכיבו חובבים - למרות שזה באנגלית). הסיטואציה המצחיקה הזו מזכירה את התקרית עם תורות ימי הביניים המוקדמות נגד הפגאניזם, שבזכותם - בדיוק בגלל שהם הכילו תיאורים מפורטים למדי של מה ואיך נוצרים מכובדים לא צריכים לעשות - לפחות עדויות כתובות מקוטעות הגיעו אלינו לגבי האמונות והמנהגים של רוס הקדם-נוצרי.

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

כעת, ברצוני להאמין, התברר יותר מדוע התעמקות במחקר של SD3M בשלב זה אינו נראה כבזבוז הזמן והמאמץ הסביר ביותר. באמת יש על מה לדון ולחקור: ופרמטרי יצירה מומלצים בהחלט בצומת "KSampler" (CFG - 4,5-5,0; מספר שלבים - כ-28; זוג דגימה/מתזמן - אך ורק dpmpp_2m/sgm_uniform, אחרת איכות הפלט יורד בצורה ניכרת); והתפשטות משמעותית ביותר באיכות הסובייקטיבית של הדורות עם אותם פרמטרים התחלתיים לחלוטין, אך עם זרעים שונים; ולהיפטר מ"קללת השכיבה/על הדשא" הידועה לשמצה (שעבורה כבר מוצעים פתרונות חריגים מאוד); ולמעשה, לגלות בדיוק מהם פרמטרי הדור המושפעים מכל אחד משלושת ממירי הטקסט לאסימון - וכיצד, באמצעותם, להשיג יצירות מופת אמיתיות של אמנות יפה (אם דבר כזה עם "C" אפשרי באופן עקרוני, כמובן).

יתרה מכך, פיטורין של עמד מוסטק במרץ וקומפי אנונימוס ביוני, ורחוק מהם לבד, אינן הצרות היחידות שפקדו את Stability AI. כפי שמדווחת רויטרס בהתייחס ל-The Information, הסטארט-אפ הבריטי הזה ממש בדיוק (בזמן כתיבת מאמר זה) שוב החליף מנכ"ל שהפך ל-Prem Akkaraju, בן חסות של קבוצה גלובלית מפורסמת של משקיעי IT - וזה, בתורו, מוכן להזרים כמות נכבדת של מזומנים לתוך החברה (אנחנו מדברים על 80 מיליון דולר). מיקומה של Stability AI עצמו כמבנה עסקי כיום הוא למען האמת לא יציב; רבים מאוכזבים חובבים צופים לזה סוף מהיר - ובמצב כזה קשה לצפות מהחברה לעבוד במחשבה גם על שגיאות ברורות כל כך.

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

לרוע המזל, מדיניות רישוי לא מתוכננת מונעת מהקהילה להביא את SD3M לפועל באופן עצמאי, כפי שהיה במקרה של SD 1.5 ו-SDXL. לכל הפחות, נקודות ביקורת וכלים נגזרים כמו LoRA עבור שני הדגמים האחרונים מובטחים שיישארו זמינים לביצוע מקומי, גם כאשר (ואם) Stability AI מסיים את דרכו כמבנה מסחרי. מיד לאחר הפיאסקו מחריש האוזניים של כיתה ג', החלו להישמע יותר ויותר קולות בפורומים מיוחדים באינטרנט התומכים ביצירת פרויקט ללא מטרות רווח לפיתוח מודל מחולל להמרת טקסט לתמונות המבוסס על מימון המונים - ו עד עכשיו התנועה הזו מתחילה להתגבש תחת השם יוזמת מודל פתוח. Invoke (אחת הפלטפורמות ליצירת AI מקוון, המיועדת לאולפנים מקצועיים), Comfy Org (צוות המעורב בתמיכה ובפיתוח של ComfyUI), Civitai (לא צריך היכרות) והצוות מאחורי LAION כבר הודיעו על נכונותם לפעול באופן פעיל הצטרפו אליו (מסד נתונים של תמונות מוערות, שם מתאמנים בעיקר דגמים מסוג זה).

לכן, בעתיד הנראה לעין, מהדורות חדשות של הסדנה ככל הנראה יתמקדו בעבודה עם אותם מודלים שהקהילה כבר הצליחה ליצור עבורם מגוון רחב של שיפורים וכלים נוספים - משאית וגדולה. אולי הזמן לניצחון של SD3M יגיע, אבל היום קשה אפילו לנחש מתי בדיוק. בינתיים, המעוניינים יכולים להוריד את הארכיון עם דורות ה-SD3M המופיעים במאמר זה (הציקלוגרמות משולבות ישירות בקבצי PNG; פשוט גרור את התמונה אל סביבת העבודה של ComfyUI מסייר Windows כדי לשחזר את כל הפרמטרים של הסדר והדור) כאן. אולי אחד מהקוראים שלנו יוכל לגלות לפני הקבועים של Reddit ו-Huging Face את הדרך האופטימלית להפיץ טקסט על פני שלושה שדות רמז, למשל?

מאמר חדש: סדנה בנושא ציור בינה מלאכותית, חלק תשיעי: SD3M - "C" עבור C

חומרים קשורים:

Stability AI שינתה את ההנהלה ומשכה השקעה של 80 מיליון דולר.

הוצג מחולל תמונות AI Stable Diffusion Medium, הדורש רק כרטיס מסך עם זיכרון של 5 GB.

Stability AI שקוע בחובות וכעת הוא מחפש קונה.

סטארט-אפ AI Stability AI יקצץ 10% מהצוות עקב התחרות הגוברת.

Stable Diffusion 3.0 הוכרז - AI לציור שינה ארכיטקטורה ולמד לכתוב.

מקור: 3dnews.ru