Мы жывем у захапляльны час, калі кожны тыдзень з'яўляюцца аб'явы аб перадавых тэхналогіях. OpenAI толькі што выпусціла перадавую мадэль тэксту ў малюнак DALLE 2.
Толькі некалькі чалавек атрымалі ранні доступ да новай сістэмы штучнага інтэлекту, якая можа ствараць рэалістычную графіку з апісанняў на натуральнай мове. Ён па-ранейшаму зачынены для публікі.
Стабільнасць AI затым выпусціў Стабільная дыфузія мадэль, варыянт DALLE2 з адкрытым зыходным кодам. Гэты запуск усё змяніў. Людзі па ўсім інтэрнэце публікавалі хуткія вынікі і былі здзіўлены рэалістычным мастацтвам.
Што такое стабільная дыфузія?
Стабільная дыфузія гэта мадэль машыннага навучання, здольная ствараць выявы з тэксту, змяняць выявы ў залежнасці ад тэксту і запаўняць дэталі малюнкаў з нізкім разрозненнем або з нізкай дэталізацыяй.
Ён быў навучаны на мільярдах фатаграфій і можа даць вынікі, эквівалентныя АД-Е 2 і MidJourney. Стабільнасць ІІ вынайшаў яго, і ён быў абнародаваны 22 жніўня 2022 г.
Але з абмежаванымі мясцовымі вылічальнымі рэсурсамі мадэль стабільнай дыфузіі патрабуе шмат часу для стварэння высакаякасных малюнкаў. Запуск мадэлі ў інтэрнэце з выкарыстаннем воблачнага пастаўшчыка дае нам амаль бясконцыя вылічальныя рэсурсы і дазваляе значна хутчэй атрымліваць выдатныя вынікі.
Размяшчэнне мадэлі ў якасці мікрасэрвіса таксама дазваляе іншым крэатыўным праграмам больш лёгка выкарыстоўваць патэнцыял мадэлі без неабходнасці мець справу са складанасцямі запуску мадэляў ML у Інтэрнэце.
У гэтай публікацыі мы паспрабуем прадэманстраваць, як распрацаваць мадэль стабільнай дыфузіі і разгарнуць яе ў AWS.
Стварыце і разгарніце стабільную дыфузію
BentoML і Amazon Web Services EC2 - гэта два варыянты размяшчэння мадэлі Stable Diffusion у Інтэрнэце. BentoML - гэта фрэймворк з адкрытым зыходным кодам для маштабавання навучанне з дапамогай машыны паслугі. З дапамогай BentoML мы створым надзейны сэрвіс дысперсіі і разгорнем яго ў AWS EC2.
Падрыхтоўка асяроддзя і загрузка мадэлі стабільнай дыфузіі
Патрабаванні да ўстаноўкі і кланаванне рэпазітара.
Вы можаце выбраць і спампаваць мадэль Stable Diffusion. Адзіная дакладнасць падыходзіць для працэсараў або графічных працэсараў з відэапамяццю больш за 10 ГБ. Палова дакладнасці ідэальна падыходзіць для графічных працэсараў з відэапамяццю менш за 10 ГБ.
Пабудова стабільнай дыфузіі
Мы створым сэрвіс BentoML для абслугоўвання мадэлі, якая стаіць за a RESTful API. У наступным прыкладзе выкарыстоўваецца мадэль адзінай дакладнасці для прагназавання і модуль service.py для падлучэння службы да бізнес-логікі. Мы можам выставіць функцыі як API, пазначыўшы іх тэгамі @svc.api.
Акрамя таго, мы можам вызначыць тыпы ўводу і вываду API у параметрах. Канчатковая кропка txt2img, напрыклад, атрымлівае ўвод JSON і стварае вывад выявы, тады як канчатковая кропка img2img прымае ўвод выявы і JSON і вяртае вывад выявы.
StableDiffusionRunnable вызначае асноўную логіку вываду. Runnable адказвае за запуск метадаў канала txt2img мадэлі і адпраўку адпаведных уваходных дадзеных. Для запуску логікі вываду мадэлі ў API ствараецца карыстальніцкі Runner з StableDiffusionRunnable.
Затым выкарыстоўвайце наступную каманду, каб запусціць службу BentoML для тэставання. Лакальна працуе Мадэль стабільнай дыфузіі вывад на працэсары даволі млявы. Апрацоўка кожнага запыту зойме каля 5 хвілін.
Тэкст у малюнак
Вывад тэксту ў малюнак
Файл bentofile.yaml вызначае неабходныя файлы і залежнасці.
Выкарыстоўвайце каманду ніжэй, каб пабудаваць бэнта. Bento - гэта фармат распаўсюджвання сэрвісу BentoML. Гэта аўтаномны архіў, які змяшчае ўсе дадзеныя і канфігурацыі, неабходныя для запуску службы.
Бэнта стабільнай дыфузіі завершана. Калі вы не змаглі належным чынам стварыць бэнта, не панікуйце; вы можаце спампаваць загадзя сабраную мадэль з дапамогай каманд, пералічаных у наступным раздзеле.
Мадэлі перад зборкай
Ніжэй прыведзены мадэлі перад зборкай:
Разгарніце мадэль стабільнай дыфузіі ў EC2
Каб разгарнуць bento у EC2, мы будзем выкарыстоўваць bentoctl. bentoctl можа дазволіць вам разгарнуць свае bento на любым хмарная платформа з дапамогай Terraform. Каб ствараць і ўжываць файлы Terraform, усталюйце аператар AWS EC2.
У файле разгортвання config.yaml разгортванне ўжо наладжана. Калі ласка, не саромейцеся рэдагаваць у адпаведнасці з вашымі патрабаваннямі. Bento разгортваецца па змаўчанні на хасце g4dn.xlarge з глыбокае вывучэнне AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) AMI у рэгіёне us-west-1.
Стварыце файлы Terraform зараз. Стварыце вобраз Docker і загрузіце яго ў AWS ECR. У залежнасці ад вашай прапускной здольнасці загрузка выявы можа заняць шмат часу. Пры разгортванні bento на AWS EC2 выкарыстоўвайце файлы Terraform.
Каб атрымаць доступ да карыстацкага інтэрфейсу Swagger, падключыцеся да кансолі EC2 і адкрыйце публічны IP-адрас у браўзеры. Нарэшце, калі служба Stable Diffusion BentoML больш не патрабуецца, выдаліце разгортванне.
заключэнне
Вы павінны ўбачыць, наколькі захапляльнай і магутнай з'яўляецца SD і спадарожныя мадэлі. Час пакажа, ці будзем мы ітэраваць гэтую канцэпцыю далей або пяройдзем да больш дасканалых падыходаў.
Тым не менш, зараз ідуць ініцыятывы па навучанні вялікіх мадэляў з карэкціроўкамі, каб лепш разумець наваколле і інструкцыі. Мы паспрабавалі распрацаваць сэрвіс Stable Diffusion з выкарыстаннем BentoML і разгарнулі яго ў AWS EC2.
Мы змаглі запусціць мадэль Stable Diffusion на больш магутным абсталяванні, стварыць выявы з нізкай затрымкай і выйсці за межы аднаго кампутара, разгарнуўшы сэрвіс на AWS EC2.
Пакінуць каментар