בנובמבר 2022, אנחנו הודיע שלקוחות AWS יכולים ליצור איתם תמונות מטקסט דיפוזיה יציבה מודלים אמזון SageMaker JumpStart. היום, אנו מכריזים על תכונה חדשה המאפשרת לך לשדרג תמונות (לשנות את גודל התמונות מבלי לאבד איכות) עם דגמי Stable Diffusion ב-JumpStart. ניתן להמיר תמונה ברזולוציה נמוכה, מטושטשת ומפוקסלת לתמונה ברזולוציה גבוהה שנראית חלקה יותר, ברורה ומפורטת יותר. תהליך זה, הנקרא -, ניתן להחיל הן על תמונות אמיתיות והן על תמונות שנוצרו על ידי מודלים של דיפוזיה יציבה של טקסט לתמונה. זה יכול לשמש כדי לשפר את איכות התמונה בתעשיות שונות כגון מסחר אלקטרוני ונדל"ן, כמו גם עבור אמנים וצלמים. בנוסף, העלאת קנה המידה יכולה לשפר את האיכות החזותית של תמונות ברזולוציה נמוכה כשהן מוצגות במסכים ברזולוציה גבוהה.
Stable Diffusion משתמש באלגוריתם AI כדי לשדרג תמונות, ומבטל את הצורך בעבודה ידנית שעשויה לדרוש מילוי ידני של פערים בתמונה. הוא הוכשר על מיליוני תמונות ויכול לחזות במדויק תמונות ברזולוציה גבוהה, וכתוצאה מכך לעלייה משמעותית בפרטים בהשוואה לשיפורי התמונות המסורתיים. בנוסף, בניגוד לטכניקות שאינן למידה עמוקה כגון השכן הקרוב ביותר, דיפוזיה יציבה לוקחת בחשבון את ההקשר של התמונה, תוך שימוש בהנחיה טקסטואלית כדי להנחות את תהליך השינוי בקנה מידה.
בפוסט זה, אנו מספקים סקירה כללית של איך לפרוס ולהפעיל הסקה עם מודל ה-Stable Diffusion Upscaler בשתי דרכים: דרך ממשק המשתמש (UI) של JumpStart ב- סטודיו SageMaker של אמזון, ובאופן פרוגרמטי דרך ממשקי API של JumpStart זמין ב SageMaker Python SDK.
סקירת פתרונות
התמונות הבאות מציגות דוגמאות לשינוי קנה מידה שביצע המודל. בצד שמאל התמונה המקורית ברזולוציה נמוכה מוגדלת כדי להתאים לגודל התמונה שנוצרה על ידי הדגם. בצד ימין התמונה שנוצרה על ידי הדגם.
התמונה הראשונה שנוצרה היא תוצאה של תמונת חתול ברזולוציה נמוכה וההנחיה "חתול לבן".
התמונה השנייה שנוצרה היא תוצאה של תמונת פרפר ברזולוציה נמוכה וההנחיה "פרפר על עלה ירוק".
הפעלת דגמים גדולים כמו Stable Diffusion דורשת סקריפטים מותאמים אישית. עליך להריץ בדיקות מקצה לקצה כדי לוודא שהסקריפט, המודל והמופע הרצוי עובדים יחד ביעילות. JumpStart מפשט תהליך זה על ידי אספקת סקריפטים מוכנים לשימוש שנבדקו היטב. אתה יכול לגשת לסקריפטים האלה בלחיצה אחת דרך ממשק המשתמש של Studio או עם מעט מאוד שורות קוד דרך ממשקי API של JumpStart.
הסעיפים הבאים מספקים סקירה כללית כיצד לפרוס את המודל ולהפעיל הסקה באמצעות ממשק המשתמש של Studio או ממשקי ה-API של JumpStart.
שים לב שבשימוש במודל זה אתה מסכים ל CreativeML Open RAIL++-M License.
גש ל-JumpStart דרך ממשק המשתמש של Studio
בחלק זה, אנו מדגימים כיצד לאמן ולפרוס דגמי JumpStart דרך ממשק המשתמש של Studio. הסרטון הבא מראה כיצד למצוא את דגם ה-Stable Diffusion upscaler המאומן מראש ב-JumpStart ולפרוס אותו. דף הדגם מכיל מידע רב ערך על הדגם וכיצד להשתמש בו. להסקת מסקנות, אנו משתמשים בסוג המופע ml.p3.2xlarge מכיוון שהוא מספק את האצת ה-GPU הדרושה לזמן השהייה עם מסקנות נמוכה במחיר נמוך. לאחר שתגדיר את מופע האירוח של SageMaker, בחר לפרוס. יידרשו 5-10 דקות עד שנקודת הקצה תפעל ומוכנה להגיב לבקשות להסקת מסקנות.
כדי להאיץ את זמן ההסקה, JumpStart מספקת מחברת לדוגמה המראה כיצד להפעיל הסקה על נקודת הקצה החדשה שנוצרה. כדי לגשת למחברת בסטודיו, בחר פתח מחברת ב השתמש ב-Endpoint מ-Studio החלק של דף נקודת הקצה של המודל.
השתמש ב-JumpStart באופן פרוגרמטי עם ה-SDK של SageMaker
אתה יכול להשתמש בממשק המשתמש של JumpStart כדי לפרוס מודל מאומן מראש באופן אינטראקטיבי בכמה קליקים בלבד. עם זאת, אתה יכול גם להשתמש במודלים של JumpStart באופן פרוגרמטי באמצעות ממשקי API המשולבים ב- SageMaker Python SDK.
בסעיף זה, אנו בוחרים מודל מיומן מראש המתאים ב-JumpStart, פורסים מודל זה לנקודת קצה של SageMaker, ומריצים הסקה על נקודת הקצה הפרוסה, והכל באמצעות SageMaker Python SDK. הדוגמאות הבאות מכילות קטעי קוד. לקוד המלא עם כל השלבים בהדגמה זו, עיין ב- מבוא ל-JumpStart - שפר את איכות התמונה בהנחיה מחברת לדוגמא.
פרוס את המודל שהוכשר מראש
SageMaker משתמש בקונטיינרים של Docker למשימות שונות של בנייה ושל זמן ריצה. JumpStart משתמש ב- מכולות ללמידה עמוקה של SageMaker (DLCs) שהם ספציפיים למסגרת. תחילה אנו מביאים חבילות נוספות, כמו גם סקריפטים לטיפול בהדרכה והסקת מסקנות עבור המשימה שנבחרה. לאחר מכן מביאים בנפרד את חפצי המודל שהוכשרו מראש model_uris
, המספק גמישות לפלטפורמה. זה מאפשר להשתמש במספר מודלים מאומנים מראש עם סקריפט מסקנות בודד. הקוד הבא ממחיש תהליך זה:
לאחר מכן, אנו מספקים משאבים אלה לתוך א דגם SageMaker מופע ופרוס נקודת קצה:
לאחר פריסת המודל שלנו, נוכל לקבל ממנו תחזיות בזמן אמת!
פורמט הכנסה
נקודת הקצה מקבלת תמונה ברזולוציה נמוכה כערכי RGB גולמיים או תמונה מקודדת base64. מטפל ההסקות מפענח את התמונה בהתבסס על content_type
:
- בעד
content_type = “application/json”
, מטען הקלט חייב להיות מילון JSON עם ערכי RGB גולמיים, הנחיה טקסטואלית ופרמטרים אופציונליים אחרים - בעד
content_type = “application/json;jpeg”
, מטען הקלט חייב להיות מילון JSON עם התמונה המקודדת base64, הנחיה טקסטואלית ופרמטרים אופציונליים אחרים
פורמט פלט
דוגמאות הקוד הבאות נותנות לך הצצה כיצד נראות הפלטים. בדומה לפורמט הקלט, נקודת הקצה יכולה להגיב עם ערכי RGB גולמיים של התמונה או תמונה מקודדת base64. ניתן לציין זאת על ידי הגדרה accept
לאחד משני הערכים:
- בעד
accept = “application/json”
, נקודת הקצה מחזירה את מילון JSON עם ערכי RGB עבור התמונה - בעד
accept = “application/json;jpeg”
, נקודת הקצה מחזירה מילון JSON עם תמונת ה-JPEG כבייטים מקודדים בקידוד base64.b64
שים לב ששליחה או קבלה של המטען עם ערכי ה-RGB הגולמיים עלולה לפגוע במגבלות ברירת המחדל עבור מטען הקלט וגודל התגובה. לכן, אנו ממליצים להשתמש בתמונה המקודדת base64 לפי הגדרה content_type = “application/json;jpeg”
ו accept = “application/json;jpeg”
.
הקוד הבא הוא בקשה להסקת מסקנות לדוגמה:
תגובת נקודת הקצה היא אובייקט JSON המכיל את התמונות שנוצרו ואת ההנחיה:
פרמטרים נתמכים
מודלים להגדלת קנה מידה של דיפוזיה יציבה תומכים בפרמטרים רבים ליצירת תמונה:
- תמונה - תמונה ברזולוציה נמוכה.
- הפקודה - הנחיה להנחות את יצירת התמונה. זה יכול להיות מחרוזת או רשימה של מחרוזות.
- num_inference_steps (אופציונלי) - מספר שלבי ה-denoising במהלך יצירת התמונה. שלבים נוספים מובילים לתמונה באיכות גבוהה יותר. אם צוין, הוא חייב להיות מספר שלם חיובי. שימו לב ששלבי הסקה נוספים יובילו לזמן תגובה ארוך יותר.
- סולם_הנחיה (אופציונלי) – סולם הנחיה גבוה יותר מביא לתמונה שקשורה יותר להנחיה, על חשבון איכות התמונה. אם צוין, זה חייב להיות צף.
guidance_scale<=1
מתעלמים. - הודעה_שלילית (אופציונלי) - זה מנחה את יצירת התמונות נגד הנחיה זו. אם צוין, זה חייב להיות מחרוזת או רשימה של מחרוזות ולהשתמש עם
guidance_scale
. אםguidance_scale
מושבת, זה גם מושבת. יתרה מכך, אם ההנחיה היא רשימה של מחרוזות, אזי ההנחיה שלילית חייבת להיות גם רשימה של מחרוזות. - זרע (לא חובה) - זה מתקן את המצב האקראי לשחזור. אם צוין, זה חייב להיות מספר שלם. בכל פעם שאתה משתמש באותה הנחיה עם אותו זרע, התמונה שתתקבל תמיד תהיה זהה.
- רמת_רעש (אופציונלי) - זה מוסיף רעש לוקטורים סמויים לפני העלאת קנה המידה. אם צוין, זה חייב להיות מספר שלם.
אתה יכול לשדרג תמונה באופן רקורסיבי על ידי הפעלת נקודת הקצה שוב ושוב כדי לקבל תמונות באיכות גבוהה יותר ויותר.
גודל תמונה וסוגי מופעים
תמונות שנוצרות על ידי הדגם יכולות להיות עד פי ארבעה מהגודל המקורי של התמונה ברזולוציה נמוכה. יתר על כן, דרישת הזיכרון של הדגם (זיכרון GPU) גדלה עם גודל התמונה שנוצרה. לכן, אם אתה מגדיל תמונה כבר ברזולוציה גבוהה או מגדיל תמונות באופן רקורסיבי, בחר סוג מופע עם זיכרון GPU גדול. לדוגמה, ל-ml.g5.2xlarge יש יותר זיכרון GPU מאשר לסוג המופע ml.p3.2xlarge שבו השתמשנו קודם לכן. למידע נוסף על סוגי מופעים שונים, עיין ב סוגי מופעים של אמזון EC2.
הגדלה של תמונות חלק אחר חלק
כדי להקטין את דרישות הזיכרון בעת שיפור קנה המידה של תמונות גדולות, אתה יכול לחלק את התמונה למקטעים קטנים יותר, המכונה אריחים, ושדרג כל אריח בנפרד. לאחר שיפוץ האריחים, ניתן לשלב אותם יחד כדי ליצור את התמונה הסופית. שיטה זו דורשת התאמת ההנחיה לכל אריח כדי שהדגם יוכל להבין את תוכן האריח ולהימנע מיצירת תמונות מוזרות. חלק הסגנון של ההנחיה צריך להישאר עקבי עבור כל האריחים כדי להקל על המיזוג. כשמשתמשים בהגדרות דה-נוז גבוהות יותר, חשוב להיות יותר ספציפי בהנחיה מכיוון שלדגם יש יותר חופש להתאים את התמונה. זה יכול להיות מאתגר כאשר האריח מכיל רק רקע או אינו קשור ישירות לתוכן הראשי של התמונה.
מגבלות והטיה
למרות ש-Stable Diffusion יש ביצועים מרשימים בשינוי קנה מידה, הוא סובל מכמה מגבלות והטיות. אלה כוללים בין היתר:
- ייתכן שהמודל לא יפיק פרצופים או גפיים מדויקים מכיוון שנתוני האימון אינם כוללים מספיק תמונות עם תכונות אלו
- הדגם הוכשר על מערך נתונים של LAION-5B, בעל תוכן למבוגרים בלבד וייתכן שלא יתאים לשימוש במוצר ללא שיקולים נוספים
- ייתכן שהמודל לא יעבוד טוב עם שפות שאינן אנגלית מכיוון שהמודל הוכשר על טקסט בשפה האנגלית
- המודל לא יכול ליצור טקסט טוב בתוך תמונות
למידע נוסף על מגבלות והטיות, עיין ב- כרטיס דגם יציב Diffusion upscaler.
לנקות את
לאחר שתסיים להפעיל את המחברת, הקפד למחוק את כל המשאבים שנוצרו בתהליך כדי להבטיח שהחיוב יופסק. הקוד לניקוי נקודת הקצה זמין בקובץ המשויך מחברה.
סיכום
בפוסט זה, הראינו כיצד לפרוס דגם של דגם יוקרתי של Stable Diffusion שאומן מראש באמצעות JumpStart. הצגנו קטעי קוד בפוסט זה - הקוד המלא עם כל השלבים בהדגמה זו זמין ב- מבוא ל-JumpStart - שפר את איכות התמונה בהנחיה מחברת לדוגמה. נסה את הפתרון בעצמך ושלח לנו את הערותיך.
למידע נוסף על המודל וכיצד הוא פועל, עיין במשאבים הבאים:
למידע נוסף על JumpStart, עיין בפוסטים הבאים בבלוג:
על הכותבים
ד"ר Vivek Madan הוא מדען יישומי בצוות אמזון SageMaker JumpStart. הוא קיבל את הדוקטורט שלו מאוניברסיטת אילינוי באורבנה-שמפיין והיה חוקר פוסט דוקטורט בג'ורג'יה טק. הוא חוקר פעיל בלמידת מכונה ועיצוב אלגוריתמים ופרסם מאמרים בכנסים של EMNLP, ICLR, COLT, FOCS ו-SODA.
הייקו הוץ הוא ארכיטקט פתרונות בכיר עבור בינה מלאכותית ולמידת מכונה עם התמקדות מיוחדת בעיבוד שפה טבעית (NLP), מודלים של שפה גדולה (LLMs) ובינה מלאכותית גנרטיבית. לפני תפקיד זה, הוא היה ראש מדעי הנתונים של שירות הלקוחות של אמזון באיחוד האירופי. Heiko עוזרת ללקוחותינו להצליח במסע ה-AI/ML שלהם ב-AWS ועבדה עם ארגונים בתעשיות רבות, כולל ביטוח, שירותים פיננסיים, מדיה ובידור, שירותי בריאות, שירותים וייצור. בזמנו הפנוי הייקו מטייל כמה שיותר.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- Platoblockchain. Web3 Metaverse Intelligence. ידע מוגבר. גישה כאן.
- מקור: https://aws.amazon.com/blogs/machine-learning/upscale-images-with-stable-diffusion-in-amazon-sagemaker-jumpstart/
- 100
- 2022
- 7
- a
- אודות
- להאיץ
- לְקַבֵּל
- מקבל
- גישה
- חֶשְׁבּוֹן
- מדויק
- במדויק
- הושג
- פעיל
- להסתגל
- נוסף
- בנוסף
- מוסיף
- מְבוּגָר
- לאחר
- נגד
- AI
- AI & Machine Learning
- AI / ML
- אַלגוֹרִיתְם
- תעשיות
- מאפשר
- כְּבָר
- תמיד
- אמזון בעברית
- אמזון SageMaker
- אמזון SageMaker JumpStart
- ו
- להכריז
- API
- ממשקי API
- יישומית
- מתאים
- אמנים
- המשויך
- באופן אוטומטי
- זמין
- AWS
- רקע
- מבוסס
- כי
- לפני
- להיות
- הטיה
- חיוב
- הִתמַזְגוּת
- בלוג
- בלוג הודעות
- לשבור
- לִבנוֹת
- נקרא
- יכול לקבל
- חָתוּל
- אתגר
- לבדוק
- בחרו
- בכיתה
- יותר ברור
- מקרוב
- קוד
- הערות
- לעומת
- כנסים
- עִקבִי
- מכולה
- מכולות
- מכיל
- תוכן
- הקשר
- הומר
- לִיצוֹר
- נוצר
- יוצרים
- מנהג
- לקוח
- שירות לקוחות
- לקוחות
- נתונים
- מדע נתונים
- להקטין
- עמוק
- למידה עמוקה
- בְּרִירַת מֶחדָל
- להפגין
- לפרוס
- פרס
- עיצוב
- פרט
- מְפוֹרָט
- אחר
- שידור
- ישירות
- נכה
- סַוָר
- לא
- בְּמַהֲלָך
- כל אחד
- מוקדם יותר
- קל יותר
- מסחר אלקטרוני
- יעילות
- או
- חיסול
- מקצה לקצה
- נקודת קצה
- אנגלית
- לְהַבטִיחַ
- בידור
- כניסה
- אחוזה
- EU
- דוגמה
- דוגמאות
- פנים
- מאפיין
- הושג
- מעטים
- שלח
- סופי
- כספי
- שירותים פיננסיים
- ראשון
- מתאים
- גמישות
- לָצוּף
- להתמקד
- הבא
- פוּרמָט
- חופש
- החל מ-
- מלא
- נוסף
- יתר על כן
- ליצור
- נוצר
- דור
- גנרטטיבית
- AI Generative
- לקבל
- לתת
- הצצה
- טוב
- GPU
- ירוק
- גדל
- מדריך
- מדריך
- לטפל
- ראש
- בריאות
- גובה
- עוזר
- רזולוציה גבוהה
- גבוה יותר
- מכה
- אירוח
- איך
- איך
- אולם
- HTML
- HTTPS
- אילינוי
- תמונה
- תמונות
- חשוב
- מרשים
- לשפר
- in
- לכלול
- כולל
- להגדיל
- בנפרד
- תעשיות
- מידע
- קלט
- למשל
- ביטוח
- משולב
- מִמְשָׁק
- IT
- מסע
- ג'סון
- ידוע
- שפה
- שפות
- גָדוֹל
- חֶבִיוֹן
- עוֹפֶרֶת
- לִלמוֹד
- למידה
- מאפשר לי
- מגבלות
- מוגבל
- גבולות
- קווים
- רשימה
- עוד
- נראה
- נראה כמו
- לאבד
- נמוך
- מכונה
- למידת מכונה
- ראשי
- לעשות
- מדריך ל
- עבודה ידנית
- באופן ידני
- ייצור
- רב
- להתאים
- מדיה
- זכרון
- שיטה
- מיליונים
- דקות
- ML
- מודל
- מודלים
- יותר
- מספר
- טבעי
- עיבוד שפה טבעית
- צורך
- חדש
- NLP
- רעש
- מחברה
- נוֹבֶמבֶּר
- מספר
- אובייקט
- ONE
- לפתוח
- להזמין
- ארגונים
- מְקוֹרִי
- אחר
- סקירה
- שֶׁלוֹ
- חבילות
- ניירות
- פרמטרים
- חלק
- ביצועים
- תמונה
- לְחַבֵּר
- פלטפורמה
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- נקודה
- חיובי
- אפשרי
- הודעה
- הודעות
- כוחות
- לחזות
- התחזיות
- חיזוי
- להציג
- מחיר
- קודם
- תהליך
- תהליך
- המוצר
- לספק
- מספק
- מתן
- לאור
- פיתון
- איכות
- אקראי
- חי
- מוכן
- ממשי
- מקרקעין
- קבלה
- להמליץ
- קָשׁוּר
- להשאר
- שוב ושוב
- לבקש
- בקשות
- לדרוש
- דרישה
- דרישות
- דורש
- חוקר
- החלטה
- משאבים
- להגיב
- תגובה
- תוצאה
- וכתוצאה מכך
- תוצאות
- לַחֲזוֹר
- החזרות
- RGB
- תפקיד
- הפעלה
- ריצה
- בעל חכמים
- אותו
- סולם
- מדע
- מַדְעָן
- מסכים
- סקריפטים
- Sdk
- שְׁנִיָה
- סעיף
- סעיפים
- זרע
- נבחר
- שליחה
- לחצני מצוקה לפנסיונרים
- שרות
- שירותים
- הצבה
- הגדרות
- כמה
- צריך
- לְהַצִיג
- הופעות
- משמעותי
- באופן דומה
- יחיד
- מידה
- קטן יותר
- חלק יותר
- So
- פִּתָרוֹן
- פתרונות
- מיוחד
- ספציפי
- מפורט
- יציב
- מדינה
- צעדים
- נעצר
- סטודיו
- סגנון
- מוצלח
- כזה
- סובל
- מספיק
- תמיכה
- לקחת
- לוקח
- המשימות
- משימות
- נבחרת
- טק
- טכניקות
- בדיקות
- השמיים
- שֶׁלָהֶם
- לכן
- דרך
- זמן
- פִּי
- ל
- היום
- יַחַד
- מסורתי
- רכבת
- מְאוּמָן
- הדרכה
- נוסע
- סוגים
- ui
- להבין
- אוניברסיטה
- us
- להשתמש
- משתמש
- ממשק משתמש
- כלי עזר
- מנצל
- בעל ערך
- ערכים
- שונים
- באמצעות
- וִידֵאוֹ
- דרכים
- מה
- אשר
- לבן
- יצטרך
- בתוך
- לְלֹא
- תיק עבודות
- לעבוד יחד
- עבד
- עובד
- אתה
- זפירנט