Hər həftə qabaqcıl texnologiya haqqında elanların verildiyi həyəcanlı vaxtlarda yaşayırıq. OpenAI indicə ən müasir mətndən-şəklə model DALLE 2-ni buraxdı.
Yalnız bir neçə nəfər təbii dil təsvirlərindən real qrafika yarada bilən yeni AI sisteminə erkən giriş əldə etdi. Hələ də ictimaiyyət üçün qapalıdır.
Stability AI daha sonra buraxdı Stabil diffuziya model, DALLE2-nin açıq mənbə variantıdır. Bu buraxılış hər şeyi dəyişdi. Bütün internetdə insanlar tez nəticələr dərc edir və real sənətdən təəccüblənirdilər.
Stabil diffuziya nədir?
Stabil diffuziya mətndən şəkillər yaratmağa, mətndən asılı olaraq şəkilləri dəyişdirməyə və aşağı rezolyusiyaya malik və ya aşağı detallı şəkillərdə detalları doldurmağa qadir olan maşın öyrənmə modelidir.
O, milyardlarla fotoşəkil üzərində öyrədilib və buna ekvivalent nəticələr verə bilər DALL-E2 və Midjourney. Sabitlik AI icad etdi və 22 avqust 2022-ci ildə ictimaiyyətə açıqlandı.
Lakin məhdud yerli hesablama resursları ilə Stabil Diffuziya modeli yüksək keyfiyyətli şəkillər yaratmaq üçün çox vaxt tələb edir. Bulud provayderindən istifadə edərək modeli onlayn rejimdə işlətmək bizə demək olar ki, sonsuz hesablama resursları təqdim edir və daha sürətli əla nəticələr əldə etməyə imkan verir.
Modelin mikroservis kimi yerləşdirilməsi digər kreativ proqramlara ML modellərini onlayn idarə etməyin mürəkkəbliyi ilə məşğul olmadan modelin potensialından daha asan istifadə etməyə imkan verir.
Bu yazıda biz sabit diffuziya modelini necə inkişaf etdirməyi və onu AWS-də yerləşdirməyi nümayiş etdirməyə çalışacağıq.
Stabil diffuziya qurun və yerləşdirin
BentoML və Amazon Web Services EC2 Stabil Diffuziya modelini onlayn yerləşdirmək üçün iki seçimdir. BentoML miqyaslandırma üçün açıq mənbəli çərçivədir maşın təlim xidmətlər. BentoML ilə biz etibarlı dispersiya xidməti quracağıq və onu AWS EC2-də yerləşdirəcəyik.
Ətraf mühitin hazırlanması və sabit diffuziya modelinin yüklənməsi
Tələbləri quraşdırın və deponu klonlayın.
Siz Stabil Diffuziya modelini seçib yükləyə bilərsiniz. Tək dəqiqlik 10 GB-dan çox VRAM-a malik CPU və ya GPU-lar üçün uyğundur. Yarım dəqiqlik 10 GB VRAM-dan az olan GPU-lar üçün idealdır.
Stabil diffuziya qurmaq
a arxasında olan modelə xidmət etmək üçün BentoML xidməti quracağıq RESTful API. Aşağıdakı nümunə proqnoz üçün vahid dəqiqlik modelindən və xidməti biznes məntiqinə qoşmaq üçün service.py modulundan istifadə edir. Funksiyaları @svc.api ilə işarələməklə API kimi göstərə bilərik.
Bundan əlavə, parametrlərdə API-lərin giriş və çıxış növlərini təyin edə bilərik. Məsələn, txt2img son nöqtəsi JSON girişini qəbul edir və Şəkil çıxışı yaradır, img2img son nöqtəsi isə Şəkil və JSON girişini qəbul edir və Şəkil çıxışını qaytarır.
StableDiffusionRunnable əsas nəticə məntiqini müəyyən edir. Çalışdırıla bilən, modelin txt2img boru üsullarını işə salmaq və müvafiq girişləri göndərmək üçün cavabdehdir. API-lərdə model çıxarma məntiqini işə salmaq üçün StableDiffusionRunnable-dan xüsusi Runner qurulur.
Sonra, sınaq üçün BentoML xidmətinə başlamaq üçün aşağıdakı əmrdən istifadə edin. Yerli olaraq çalışan Stabil diffuziya modeli CPU-lar haqqında nəticə çıxarmaq olduqca ləngdir. Hər sorğunun işlənməsi təxminən 5 dəqiqə çəkəcək.
Şəkil üçün mətn
Mətndən şəkilə çıxış
Bentofile.yaml faylı tələb olunan faylları və asılılıqları müəyyən edir.
Bento qurmaq üçün aşağıdakı əmrdən istifadə edin. Bento, BentoML xidməti üçün paylama formatıdır. Bu, xidmətə başlamaq üçün lazım olan bütün məlumatları və konfiqurasiyaları ehtiva edən müstəqil arxivdir.
Stabil Diffuziya bentosu tamamlandı. Əgər bentonu düzgün yarada bilmirsinizsə, panik etməyin; növbəti hissədə sadalanan əmrlərdən istifadə edərək əvvəlcədən qurulmuş modeli yükləyə bilərsiniz.
Əvvəlcədən qurulmuş modellər
Aşağıdakılar əvvəlcədən qurulmuş modellərdir:
Stabil Diffuziya modelini EC2-yə yerləşdirin
Bento-nu EC2-yə yerləşdirmək üçün bentoctl-dən istifadə edəcəyik. bentoctl sizə bentolarınızı istənilən yerə yerləşdirməyə imkan verə bilər bulud platforması Terraform istifadə edərək. Terraform fayllarını qurmaq və tətbiq etmək üçün AWS EC2 operatorunu quraşdırın.
Deployment config.yaml faylında yerləşdirmə artıq konfiqurasiya edilib. Zəhmət olmasa tələblərinizə uyğun olaraq redaktə etməkdən çəkinməyin. Bento standart olaraq g4dn.xlarge hostunda yerləşdirilir Dərin Öyrənmə AMI GPU PyTorch 1.12.0 (Ubuntu 20.04) us-west-1 bölgəsində AMI.
İndi Terraform fayllarını yaradın. Docker şəklini yaradın və onu AWS ECR-ə yükləyin. Bant genişliyinizdən asılı olaraq, şəklin yüklənməsi uzun müddət çəkə bilər. Bento-nu AWS EC2-yə yerləşdirərkən Terraform fayllarından istifadə edin.
Swagger UI-yə daxil olmaq üçün EC2 konsoluna qoşulun və brauzerdə ictimai IP ünvanını açın. Nəhayət, Sabit Diffuziya BentoML xidməti artıq tələb olunmursa, yerləşdirməni çıxarın.
Nəticə
Siz SD və onun yoldaş modellərinin nə qədər maraqlı və güclü olduğunu görə bilməlisiniz. Konsepti daha da təkrarlayacağıq, yoxsa daha mürəkkəb yanaşmalara keçəcəyimizi zaman göstərəcək.
Bununla belə, hazırda ətrafı və təlimatları daha yaxşı başa düşmək üçün düzəlişlərlə daha böyük modellərin hazırlanması istiqamətində təşəbbüslər davam edir. Biz BentoML-dən istifadə edərək Stabil Diffuziya xidmətini inkişaf etdirməyə cəhd etdik və onu AWS EC2-də yerləşdirdik.
Biz Stabil Diffuziya modelini daha güclü aparatda işlədə, aşağı gecikmə ilə şəkillər yarada və xidməti AWS EC2-də yerləşdirməklə tək kompüterdən kənara çıxa bildik.
Cavab yaz