در نوامبر 2022، ما اعلام کرد که مشتریان AWS می توانند با آن تصاویری از متن تولید کنند انتشار پایدار مدل در Amazon SageMaker JumpStart. امروز، ما یک ویژگی جدید را معرفی می کنیم که به شما امکان می دهد تصاویر با کیفیت (تغییر اندازه تصاویر بدون از دست دادن کیفیت) با مدل های Stable Diffusion در JumpStart. تصویری که وضوح پایین، تار و پیکسلی دارد را می توان به تصویری با وضوح بالا تبدیل کرد که صاف تر، واضح تر و با جزئیات بیشتر به نظر می رسد. این فرآیند، به نام upscaling، می تواند هم برای تصاویر واقعی و هم برای تصاویر تولید شده توسط مدل های انتشار پایدار متن به تصویر. این می تواند برای افزایش کیفیت تصویر در صنایع مختلف مانند تجارت الکترونیک و املاک و همچنین برای هنرمندان و عکاسان استفاده شود. علاوه بر این، ارتقاء مقیاس می تواند کیفیت بصری تصاویر با وضوح پایین را در هنگام نمایش بر روی صفحه نمایش های با وضوح بالا بهبود بخشد.
Stable Diffusion از یک الگوریتم هوش مصنوعی برای ارتقاء تصاویر استفاده می کند و نیاز به کارهای دستی را که ممکن است به پر کردن دستی شکاف های یک تصویر نیاز داشته باشد را از بین می برد. این بر روی میلیونها تصویر آموزش داده شده است و میتواند تصاویر با وضوح بالا را به دقت پیشبینی کند، که منجر به افزایش قابل توجه جزئیات در مقایسه با ارتقاء دهندههای تصویر سنتی میشود. علاوه بر این، بر خلاف تکنیکهای غیرعمیق مانند نزدیکترین همسایه، Stable Diffusion با استفاده از یک اعلان متنی برای هدایت فرآیند ارتقاء مقیاس، زمینه تصویر را در نظر میگیرد.
در این پست، ما یک نمای کلی از نحوه استقرار و اجرای استنتاج با مدل ارتقاء دهنده Stable Diffusion به دو روش ارائه می دهیم: از طریق رابط کاربری JumpStart (UI) در Amazon SageMaker Studio، و به صورت برنامه ای از طریق API های JumpStart موجود در SageMaker Python SDK.
بررسی اجمالی راه حل
تصاویر زیر نمونه هایی از افزایش مقیاس انجام شده توسط مدل را نشان می دهد. در سمت چپ تصویر اصلی با وضوح پایین بزرگ شده است تا با اندازه تصویر تولید شده توسط مدل مطابقت داشته باشد. در سمت راست تصویر تولید شده توسط مدل است.
اولین تصویر تولید شده نتیجه تصویر گربه با وضوح پایین و اعلان "گربه سفید" است.
دومین تصویر تولید شده نتیجه تصویر پروانه ای با وضوح پایین و اعلان "یک پروانه روی یک برگ سبز" است.
اجرای مدل های بزرگ مانند Stable Diffusion به اسکریپت های استنتاج سفارشی نیاز دارد. شما باید تست های سرتاسری را اجرا کنید تا مطمئن شوید که اسکریپت، مدل و نمونه مورد نظر به طور موثر با هم کار می کنند. JumpStart این فرآیند را با ارائه اسکریپت های آماده برای استفاده که به طور قوی آزمایش شده اند، ساده می کند. شما می توانید با یک کلیک از طریق استودیو UI یا با خطوط بسیار کمی از کد از طریق به این اسکریپت ها دسترسی داشته باشید API های JumpStart.
بخشهای زیر نمای کلی از نحوه استقرار مدل و اجرای استنتاج با استفاده از رابط کاربری Studio یا JumpStart را ارائه میدهند.
توجه داشته باشید که با استفاده از این مدل، با مجوز CreativeML Open RAIL++-M.
از طریق رابط کاربری Studio به JumpStart دسترسی پیدا کنید
در این بخش، نحوه آموزش و استقرار مدلهای JumpStart را از طریق رابط کاربری Studio نشان میدهیم. ویدئوی زیر نشان میدهد که چگونه میتوان مدل ارتقاء دهنده Stable Diffusion از قبل آموزشدیده را در JumpStart پیدا کرد و آن را به کار گرفت. صفحه مدل حاوی اطلاعات ارزشمندی در مورد مدل و نحوه استفاده از آن است. برای استنتاج، از نوع نمونه ml.p3.2xlarge استفاده میکنیم، زیرا شتاب GPU مورد نیاز برای تأخیر استنتاج کم را با قیمت پایین فراهم میکند. پس از پیکربندی نمونه میزبانی SageMaker، را انتخاب کنید گسترش. 5 تا 10 دقیقه طول میکشد تا نقطه پایانی آماده و آماده پاسخگویی به درخواستهای استنتاج باشد.
برای تسریع در زمان استنتاج، JumpStart یک دفترچه یادداشت نمونه ارائه می دهد که نحوه اجرای استنتاج در نقطه پایانی جدید ایجاد شده را نشان می دهد. برای دسترسی به نوت بوک در استودیو، را انتخاب کنید نوت بوک را باز کنید در از Endpoint از Studio استفاده کنید بخش از صفحه نقطه پایانی مدل
از JumpStart به صورت برنامه نویسی با SageMaker SDK استفاده کنید
شما می توانید از JumpStart UI برای استقرار یک مدل از پیش آموزش داده شده به صورت تعاملی تنها با چند کلیک استفاده کنید. با این حال، میتوانید با استفاده از APIهایی که در SageMaker Python SDK ادغام شدهاند، از مدلهای JumpStart به صورت برنامهنویسی استفاده کنید.
در این بخش، یک مدل از پیش آموزشدیده مناسب را در JumpStart انتخاب میکنیم، این مدل را در یک نقطه پایانی SageMaker مستقر میکنیم، و استنتاج را روی نقطه پایانی مستقر شده اجرا میکنیم، همه با استفاده از SageMaker Python SDK. مثالهای زیر حاوی قطعههای کد هستند. برای مشاهده کد کامل با تمام مراحل این دمو، به ادامه مطلب مراجعه کنید مقدمه ای برای JumpStart – کیفیت تصویر را با هدایت سریع افزایش دهید نمونه دفترچه یادداشت
مدل از پیش آموزش دیده را مستقر کنید
SageMaker از کانتینرهای Docker برای کارهای مختلف ساخت و زمان اجرا استفاده می کند. JumpStart از ظروف یادگیری عمیق SageMaker (DLC) که مختص چارچوب هستند. ابتدا بستههای اضافی و همچنین اسکریپتهایی را برای رسیدگی به آموزش و استنتاج برای کار انتخابشده واکشی میکنیم. سپس مصنوعات مدل از پیش آموزش دیده به طور جداگانه با آنها واکشی می شوند model_uris
، که انعطاف پذیری را برای پلتفرم فراهم می کند. این اجازه می دهد تا چندین مدل از پیش آموزش دیده با یک اسکریپت استنتاج استفاده شود. کد زیر این فرآیند را نشان می دهد:
در مرحله بعد، ما آن منابع را در a مدل 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 (اختیاری) - تعداد مراحل حذف نویز در طول تولید تصویر. مراحل بیشتر منجر به کیفیت بالاتر تصویر می شود. اگر مشخص شود، باید یک عدد صحیح مثبت باشد. توجه داشته باشید که مراحل استنتاج بیشتر منجر به زمان پاسخگویی طولانی تر می شود.
- مقیاس_راهنما (اختیاری) - مقیاس راهنمایی بالاتر منجر به تصویری می شود که ارتباط نزدیک تری با اعلان دریافت می کند و کیفیت تصویر را از دست می دهد. اگر مشخص شده باشد، باید شناور باشد.
guidance_scale<=1
نادیده گرفته می شود - negative_prompt (اختیاری) - این امر تولید تصویر را در برابر این درخواست هدایت می کند. اگر مشخص شده باشد، باید یک رشته یا لیستی از رشته ها باشد و با آن استفاده شود
guidance_scale
. اگرguidance_scale
غیرفعال است، این نیز غیرفعال است. علاوه بر این، اگر دستور فهرستی از رشته ها باشد، آنگاه negative_prompt نیز باید فهرستی از رشته ها باشد. - دانه (اختیاری) - این حالت تصادفی برای تکرارپذیری را ثابت می کند. اگر مشخص شده باشد، باید یک عدد صحیح باشد. هر زمان که از همان دستور با همان دانه استفاده می کنید، تصویر حاصل همیشه یکسان خواهد بود.
- سطح_نویز (اختیاری) - این کار نویز را به بردارهای نهفته قبل از افزایش مقیاس اضافه می کند. اگر مشخص شده باشد، باید یک عدد صحیح باشد.
میتوانید با فراخوانی مکرر نقطه پایانی برای دریافت تصاویر با کیفیت بالاتر و بالاتر، یک تصویر را به صورت بازگشتی ارتقا دهید.
اندازه تصویر و انواع نمونه
تصاویر تولید شده توسط این مدل می توانند تا چهار برابر اندازه تصویر اصلی با وضوح پایین باشند. علاوه بر این، حافظه مورد نیاز مدل (حافظه GPU) با اندازه تصویر تولید شده افزایش می یابد. بنابراین، اگر یک تصویر با وضوح بالا را ارتقاء میدهید یا به صورت بازگشتی تصاویر را افزایش میدهید، یک نوع نمونه با حافظه GPU بزرگ را انتخاب کنید. به عنوان مثال، ml.g5.2xlarge دارای حافظه GPU بیشتری نسبت به نوع نمونه ml.p3.2xlarge است که قبلاً استفاده کردیم. برای کسب اطلاعات بیشتر در مورد انواع نمونه های مختلف، مراجعه کنید انواع نمونه آمازون EC2.
ارتقاء تصویر تکه تکه
برای کاهش حافظه مورد نیاز هنگام افزایش مقیاس تصاویر بزرگ، میتوانید تصویر را به بخشهای کوچکتر تقسیم کنید کاشیو هر کاشی را به صورت جداگانه ارتقا دهید. پس از ارتقاء سطح کاشی ها، می توان آنها را با هم ترکیب کرد تا تصویر نهایی را ایجاد کرد. این روش مستلزم تطبیق دادن دستور برای هر کاشی است تا مدل بتواند محتوای کاشی را درک کند و از ایجاد تصاویر عجیب و غریب جلوگیری کند. بخش سبک اعلان باید برای همه کاشیها ثابت بماند تا ترکیب آسانتر شود. هنگام استفاده از تنظیمات حذف نویز بالاتر، مهم است که در اعلان دقیق تر باشید زیرا مدل آزادی بیشتری برای تطبیق تصویر دارد. زمانی که کاشی فقط پسزمینه داشته باشد یا مستقیماً با محتوای اصلی تصویر مرتبط نباشد، میتواند چالشبرانگیز باشد.
محدودیت ها و تعصب
اگرچه Stable Diffusion عملکرد چشمگیری در افزایش مقیاس دارد، اما از چندین محدودیت و سوگیری رنج می برد. این موارد شامل اما محدود به موارد زیر نیست:
- این مدل ممکن است چهره یا اندام دقیقی تولید نکند زیرا داده های آموزشی شامل تصاویر کافی با این ویژگی ها نمی شود
- این مدل بر روی آموزش دیده شد مجموعه داده LAION-5B، که دارای محتوای بزرگسالان است و ممکن است بدون ملاحظات بیشتر برای استفاده از محصول مناسب نباشد
- این مدل ممکن است با زبانهای غیرانگلیسی خوب کار نکند، زیرا مدل بر روی متن زبان انگلیسی آموزش داده شده است
- مدل نمی تواند متن خوبی را در تصاویر ایجاد کند
برای اطلاعات بیشتر در مورد محدودیت ها و سوگیری ها، به بخش مراجعه کنید کارت مدل ارتقاء دهنده Stable Diffusion.
پاک کردن
پس از اتمام اجرای نوت بوک، مطمئن شوید که تمام منابع ایجاد شده در این فرآیند را حذف کرده اید تا مطمئن شوید که صورتحساب متوقف شده است. کد پاکسازی نقطه پایانی در قسمت مربوطه موجود است دفتر یادداشت.
نتیجه
در این پست، نحوه استقرار یک مدل ارتقادهنده Stable Diffusion از پیش آموزش دیده با استفاده از JumpStart را نشان دادیم. ما تکههای کد را در این پست نشان دادیم—کد کامل با تمام مراحل این نسخه نمایشی در دسترس است مقدمه ای برای JumpStart – کیفیت تصویر را با هدایت سریع افزایش دهید نمونه دفترچه یادداشت راه حل را خودتان امتحان کنید و نظرات خود را برای ما ارسال کنید.
برای کسب اطلاعات بیشتر در مورد مدل و نحوه عملکرد آن، به منابع زیر مراجعه کنید:
برای کسب اطلاعات بیشتر در مورد JumpStart، پست های وبلاگ زیر را بررسی کنید:
درباره نویسنده
دکتر ویوک مدان یک دانشمند کاربردی با تیم آمازون SageMaker JumpStart است. او دکترای خود را از دانشگاه ایلینویز در Urbana-Champaign گرفت و پژوهشگر پست دکترا در جورجیا تک بود. او یک محقق فعال در یادگیری ماشین و طراحی الگوریتم است و مقالاتی در کنفرانس های EMNLP، ICLR، COLT، FOCS و SODA منتشر کرده است.
هایکو هاتز یک معمار ارشد راه حل برای هوش مصنوعی و یادگیری ماشین با تمرکز ویژه بر پردازش زبان طبیعی (NLP)، مدلهای زبان بزرگ (LLM) و هوش مصنوعی مولد است. قبل از این سمت، او رئیس بخش علوم داده برای خدمات مشتریان اتحادیه اروپا آمازون بود. Heiko به مشتریان ما کمک میکند تا در سفر AI/ML خود در AWS موفق باشند و با سازمانهایی در بسیاری از صنایع، از جمله بیمه، خدمات مالی، رسانه و سرگرمی، مراقبتهای بهداشتی، خدمات شهری و تولید کار کرده است. هایکو در اوقات فراغت خود تا آنجا که ممکن است سفر می کند.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- پلاتوبلاک چین. 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 / ML
- الگوریتم
- معرفی
- اجازه می دهد تا
- قبلا
- همیشه
- آمازون
- آمازون SageMaker
- Amazon SageMaker JumpStart
- و
- اعلام
- API
- رابط های برنامه کاربردی
- اعمال می شود
- مناسب
- هنرمندان
- مرتبط است
- بطور خودکار
- در دسترس
- AWS
- زمینه
- مستقر
- زیرا
- قبل از
- بودن
- تعصب
- صدور صورت حساب
- ترکیب
- بلاگ
- پست های وبلاگ
- شکستن
- ساختن
- نام
- می توانید دریافت کنید
- CAT
- به چالش کشیدن
- بررسی
- را انتخاب کنید
- کلاس
- واضح تر
- نزدیک
- رمز
- نظرات
- مقایسه
- همایش ها
- استوار
- ظرف
- ظروف
- شامل
- محتوا
- زمینه
- مبدل
- ایجاد
- ایجاد شده
- ایجاد
- سفارشی
- مشتری
- خدمات مشتری
- مشتریان
- داده ها
- علم اطلاعات
- کاهش
- عمیق
- یادگیری عمیق
- به طور پیش فرض
- نشان دادن
- گسترش
- مستقر
- طرح
- جزئیات
- دقیق
- مختلف
- انتشار
- مستقیما
- غیر فعال
- کارگر بارانداز
- نمی کند
- در طی
- هر
- پیش از آن
- آسان تر
- تجارت الکترونیک
- موثر
- هر دو
- از بین بردن
- پشت سر هم
- نقطه پایانی
- انگلیسی
- اطمینان حاصل شود
- سرگرمی
- ورود
- املاک
- EU
- مثال
- مثال ها
- چهره ها
- ویژگی
- وصله
- کمی از
- پرونده
- نهایی
- مالی
- خدمات مالی
- پیدا کردن
- نام خانوادگی
- مناسب
- انعطاف پذیری
- شناور
- تمرکز
- پیروی
- قالب
- آزادی
- از جانب
- کامل
- بیشتر
- بعلاوه
- تولید می کنند
- تولید
- نسل
- مولد
- هوش مصنوعی مولد
- گرجستان
- دریافت کنید
- دادن
- نظر اجمالی
- خوب
- GPU
- سبز
- رشد می کند
- راهنمایی
- راهنما
- دسته
- سر
- بهداشت و درمان
- ارتفاع
- کمک می کند
- کیفیت بالا
- بالاتر
- اصابت
- میزبانی وب
- چگونه
- چگونه
- اما
- HTML
- HTTPS
- ایلینوی
- تصویر
- تصاویر
- مهم
- موثر
- بهبود
- in
- شامل
- از جمله
- افزایش
- به طور جداگانه
- لوازم
- اطلاعات
- ورودی
- نمونه
- بیمه
- یکپارچه
- رابط
- IT
- سفر
- json
- شناخته شده
- زبان
- زبان ها
- بزرگ
- تاخیر
- رهبری
- یاد گرفتن
- یادگیری
- اجازه می دهد تا
- محدودیت
- محدود شده
- محدودیت
- خطوط
- فهرست
- دیگر
- نگاه کنيد
- شبیه
- شکست
- کم
- دستگاه
- فراگیری ماشین
- اصلی
- ساخت
- کتابچه راهنمای
- کار دستی
- دستی
- تولید
- بسیاری
- مسابقه
- رسانه ها
- حافظه
- روش
- میلیون ها نفر
- دقیقه
- ML
- مدل
- مدل
- بیش
- چندگانه
- طبیعی
- پردازش زبان طبیعی
- نیاز
- جدید
- nlp
- سر و صدا
- دفتر یادداشت
- نوامبر
- عدد
- هدف
- ONE
- باز کن
- سفارش
- سازمان های
- اصلی
- دیگر
- مروری
- خود
- بسته
- اوراق
- پارامترهای
- بخش
- کارایی
- تصویر
- قطعه
- سکو
- افلاطون
- هوش داده افلاطون
- PlatoData
- نقطه
- مثبت
- ممکن
- پست
- پست ها
- قدرت
- پیش بینی
- پیش بینی
- پیشگو
- در حال حاضر
- قیمت
- قبلا
- روند
- در حال پردازش
- محصول
- ارائه
- فراهم می کند
- ارائه
- منتشر شده
- پــایتــون
- کیفیت
- تصادفی
- خام
- اماده
- واقعی
- املاک و مستغلات
- دریافت
- توصیه
- مربوط
- ماندن
- به طور مکرر
- درخواست
- درخواست
- نیاز
- نیاز
- مورد نیاز
- نیاز
- پژوهشگر
- وضوح
- منابع
- پاسخ
- پاسخ
- نتیجه
- نتیجه
- نتایج
- برگشت
- بازده
- RGB
- نقش
- دویدن
- در حال اجرا
- حکیم ساز
- همان
- مقیاس
- علم
- دانشمند
- صفحه نمایش
- اسکریپت
- sdk
- دوم
- بخش
- بخش
- دانه
- انتخاب شد
- در حال ارسال
- ارشد
- سرویس
- خدمات
- محیط
- تنظیمات
- چند
- باید
- نشان
- نشان می دهد
- قابل توجه
- به طور مشابه
- تنها
- اندازه
- کوچکتر
- صاف تر
- So
- راه حل
- مزایا
- ویژه
- خاص
- مشخص شده
- پایدار
- دولت
- مراحل
- متوقف شد
- استودیو
- سبک
- موفق
- چنین
- رنج می برد
- کافی
- پشتیبانی
- گرفتن
- طول می کشد
- کار
- وظایف
- تیم
- فن آوری
- تکنیک
- تست
- La
- شان
- از این رو
- از طریق
- زمان
- بار
- به
- امروز
- با هم
- سنتی
- قطار
- آموزش دیده
- آموزش
- سفر
- انواع
- ui
- فهمیدن
- دانشگاه
- us
- استفاده کنید
- کاربر
- رابط کاربری
- آب و برق
- استفاده می کند
- ارزشمند
- ارزشها
- مختلف
- از طريق
- تصویری
- راه
- چی
- که
- سفید
- اراده
- در داخل
- بدون
- مهاجرت کاری
- همکاری
- مشغول به کار
- با این نسخهها کار
- شما
- شما
- زفیرنت