Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Este amuzant cum povestea lansărilor modelelor deschise pentru transformarea sugestiilor în text în imagini, dezvoltate și antrenate de compania Stability AI, seamănă cu o serie de succese și eșecuri ale versiunilor de sistem de operare Microsoft. După faimosul succes al XP, amintim, a apărut problematicul Vista; apoi minunatul „7” — iar după el, Windows 8, lipsit de foloase. La Stable Diffusion, după o versiune inițial neatractivă, dar îmbunătățită treptat de entuziaști, 1.5, a urmat versiunea SD 2.0, care a fost evident un eșec — un eșec, de fapt, deoarece a inclus un encoder OpenCLIP atipic pentru astfel de modele. antrenat pe imagini selectate într-un mod foarte ambigu din datasetul deschis LAION-5B. În cadrul acestei selecții, au fost exclude nu doar referințele vizuale inadecvate (NSFW), ci și operele de artă și ilustrațiile realizate de artiști renumiți, cum ar fi binecunoscutul Greg Rutkowski. Tocmai acest aspect i-a enervat pe entuziaști: pentru SD 1.5, chiar și în varianta inițială, fără aplicarea unor checkpoint-uri atent antrenate, funcționau perfect sugestiile simple cu stiluri — „peisaj epic medieval fantastic, în stilul lui Greg Rutkowski” — rezultatul fiind impresionant, în timp ce SD 2.0 a încetat să „recunoască” numele celor mai bine cunoscuți ilustratori, ale căror drepturi de autor asupra operelor create sunt în continuare valabile și care nu s-au sinchisit să ofere aceste opere pentru antrenarea IA. A fost necesar să folosești mai multe cuvinte pentru a descrie dorințele, iar cu sugestiile prea lungi, modelul se descurca prost.

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

⇡#S-au așezat — s-au ridicat, s-au așezat — s-au ridicat

În combinație cu un codificator modificat (transformatorul care convertește sugestiile textuale în jeturi digitale, cu care modelul lucrează ulterior), imposibilitatea de a aplica stiluri numite a lipsit pur și simplu entuziaștii de motivația de a îmbunătăți „două”. Chiar așa: aici a fost necesar să înțelegem, în paralel, cum să adaptăm tehnica deja utilizată pentru sugerarea mesajelor la noul codificator și să reînvățăm modelul să recunoască acele imagini și teme cu care creatorii nu l-au familiarizat în etapa inițială de antrenament - iar diferențele calitative față de „1.5” în imagini generate de „2” totuși nu erau garantate. Da, a avut loc o avansare calitativă de la dimensiunea standard SD 1.5 de 512×512 pixeli la 768×768, dar până atunci comunitatea folosea deja upscalere, outpaintere și alte unelte pentru a crește dimensiunile imaginilor finale, așa că SD 2.0 a trecut, în mare parte, neobservată. s-a întors la standardul (dezvoltat de OpenAI și utilizat, printre altele, în proiectul DALL-E) codificatorului CLIP — codul său este, de asemenea, deschis, dar baza de date pe care a fost antrenat, spre deosebire de OpenCLIP, este proprietară. În plus, dimensiunea standard a canvasului a crescut de la «Oversize» la 1024×1024, plus a apărut o serie de îmbunătățiri suplimentare - așa că entuziaștii s-au apucat cu plăcere de îmbunătățirea sa. Și în prezent, SDXL (da, au apărut recent derivate mai puțin exigente față de „hardware”, cum ar fi SDXL Turbo și SDXL Lightning) poate fi considerat cu încredere cel mai popular generator de imagini AI cu cod deschis. Totuși, susținătorii pasionați ai SD 1.5 contestă acest lucru în mod argumentat, subliniind că instrumente atât de importante precum ControlNet, în SDXL nu au fost încă transferate corespunzător.

Și astfel, începând cu 12 iunie 2024, odată cu „lansarea în sălbăticie” a codului modelului care permite generarea locală, ar fi trebuit să vină vremea versiunii „deschise” SD 3 - mai exact, Stable Diffusion 3 Medium (SD3M sau SD3 2B) cu 2 miliarde de parametri operativi. Așadar, să reamintim, acest număr corespunde numărului total de greutăți pe intrările tuturor perceptronilor modelului. Cu mult înainte, în aprilie, Stability AI a finalizat și a oferit pentru utilizare comercială varianta cu 8 milioane de parametri Stable Diffusion 3 Large, aceasta fiind SD3 8B. La SDXL 1.0, reamintim, — 3,5 miliarde de parametri, totuși SD3M, conform dezvoltatorilor, este „cea mai sofisticată model pentru generarea imaginilor dintre toate cele pe care le-am creat până acum”. Se refereau la faptul că, având cerințe mai mici decât „Oversize” în ceea ce privește memoria video, aceasta ar trebui să furnizeze imagini „cu un nou nivel de fotorealism” chiar și în răspuns la sugestii simple. Printre avantajele „trio-ului” s-au numărat, de asemenea, „calitatea fără precedent a tipografiei textului generat în imaginile generate”, „înțelegerea aprofundată a sugestiilor prin colaborarea a trei codificatori” și „gata pentru reantrenare eficientă chiar și pe seturi de date limitate”.

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Era de așteptat ca comunitatea entuziștilor, având la dispoziție noua jucărie așteptată de mult timp, să se apuce să o îmbunătățească cu aceeași ardoare ca în cazul „Mitelor” și „Oversize” pe vremuri. Totuși, încă de la început, lucrurile nu au mers cum trebuie: SD3M a reușit în primele ore după publicarea fișierelor modelului pe Hugging Face și Civitai să dezamăgească profund audiența sa, și asta de două ori. Prima dată — o idiosincrazie inexplicabilă față de sugestii care includeau o frază aparent inofensivă „ținând la / în iarbă” (lying on/in the grass); a doua — formulări extrem de vagi în termenii și condițiile acordului de utilizare, cu care nu s-au descurcat nici avocații profesioniști. Și deși din perspectiva unui entuziast obișnuit, acest ultim aspect pare nesemnificativ, pe dezvoltarea ulterioară a modelului, exact partea legală a problemei se va reflecta în cel mai direct mod — până la punctul în care ar putea să nu urmeze nicio dezvoltare.

Creațiile anterioare Stable Diffusion cu cod deschis (mai precis, cu valori deschise ale greutăților rețelei neuronale, disponibile pentru descărcare gratuită și execuție locală), cum ar fi SDXL, au fost însoțite de una dintre tipicile pentru modelele generative Licența CreativeML Open RAIL++-M cu caracteristici precum „licență de autor nelimitată, globală, neexclusivă, gratuită, nerespinsă, irrevocabilă pentru reproducere, pregătire, demonstrări publice, performanțe publice, sublicențiere și distribuție a materialelor suplimentare atât ale modelului în sine, cât și a derivatelor sale”. „Troika” prevede două tipuri de licențiere: pentru utilizare necomercială — cu formulări destul de relaxante precum „Stability AI vă oferă o licență neexclusivă, globală, netransferabilă, care nu poate fi sublicențiată, revocabilă, gratuită și limitată pentru proprietatea intelectuală” — și o licență comercială mult mai împovărătoare.

⇡#Iar iarba nu va duce la bine

După o perioadă scurtă, comunitatea a ajuns la concluzia că Stable Diffusion 3 nu este Open Source. Și, în esență, a declarat un boicot împotriva companiei dezvoltatoare, neavând chef să piardă timp și resurse pentru a antrena o modelă evident neterminat și imperfect rafinată — conștientizând că Stability AI poate, în orice moment, dintr-o simplă capriciu a mediatorilor săi, să retragă licența acordată anterior unui anumit entuziast care efectuează această antrenare. Contractul de licență este formulat astfel încât cei care îl studiază, neavând pregătirea juridică, să aibă impresia că, odată cu retragerea acordului pentru utilizare comercială a SD3M, fostul său titular ar fi obligat să ștergă toate derivatele create din proprietatea intelectuală licențiată, inclusiv modelele antrenate (LoRA, versiuni textuale, întregi checkpoint-uri) și derivativele acestora (citat: „La încetarea acestui Acord, veți șterge și veți opri utilizarea oricărui Produs Software sau Lucrări Derivate”) — adică roadele muncii altor persoane care au folosit aceste modele derivate ca punct de plecare pentru propria lor lucrare; și, în plus, neplătite de nimeni, realizate din pură entuziasm.

Curând după ce valul de indignare pe această temă a atins înălțimi stratosferice, au început să apară mesaje din partea juriștilor profesioniști, că nu este totul atât de rău Și că recenzia cu interdicția ulterioară de utilizare ar trebui să se refere doar la anumite produse auxiliare cu cod închis, pe care Stability AI le va transmite utilizatorului comercial (de exemplu, pentru a accelera și optimiza aceeași preantrenare SD3M), — însă compania nu a oferit până acum clarificări finale în acest sens. Iar faptul că există un asemenea tăcere apăsătoare de trei săptămâni (la momentul redactării acestui articol) de la apariția „troicii” în acces deschis, afectează reputația dezvoltatorului mult mai grav decât iarba — generată de creația sa care înfățișează fete.

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Cât despre binecunoscuta iarba, care a reușit să devină, în doar câteva ore, un meme mai întâi pe Hugging Face, iar apoi pe aproape toate platformele mai mult sau mai puțin relevante de pe internet, s-a dovedit că prezența în sugestie a unei fraze precum „o fată întinsă pe iarbă” duce la apariția în rezultatele „troicii” nu doar a halucinațiilor, ci și a unor născociri de coșmar ale unei fantezii bolnave — în sens medical — a artiștilor și cineaștilor specializați în body horror (vă implorăm, dacă rațiunea și viața vă sunt dragi, — feriți-vă de asemenea și nu încercați să introduceți această frază în bara de căutare a imaginilor fără filtrul de siguranță dezactivat). Totuși, imaginile cu oameni în picioare — și într-o măsură mai mică, ce stau — ies „troicii” cu un patru cu plus convingător, iar portretele uneori sunt impecabile; cel puțin, nu mai proaste decât ale modelului de bază SDXL 1.0, — problema constă în felul unui tabu intern legat de poziția orizontală a corpului uman.

Judecând după comentariul lui Emad Mostaque, fondatorul și fostul (până în martie 2024) șef al Stability AI, care a părăsit compania pentru a „se ocupa cu proiecte descentralizate în domeniul inteligenței artificiale”, violența brutală asupra SD3M chiar înainte de deschiderea acesteia pentru utilizare limitată necomercială (API-ul modelului mai mare SD3 8B pentru generare online, amintim, este disponibil prin site-uri partenere încă din aprilie, dar greutățile acesteia rămân ascunse) a fost o consecință a dorinței actualei conduceri de a asigura siguranța — „în legătură cu obligațiile de reglementare”, formulate încă din martie anul acesta ca Politica de Utilizare Acceptabilă. În cadrul acestei politici, utilizarea modelului generativ SD3M interzice utilizatorilor să „comită, promoveze, faciliteze, încurajeze, planifice, inciteze sau contribuie la violența, terorismul sau crearea de conținut care incită la ură, discriminând sau amenințând un grup protejat de oameni (fie că este vorba de sex, etnie, identitate sau orientare sexuală, religie sau altele)”, așa că nu vrem imagini cu urși panda, așa cum îi găsești când luptă cu dragoni furioși! Doar pisicuțe în pălării amuzante, câini în jachete drăguțe, sticle cu conținut misterios și fursecuri proaspăt scoase din cuptor!

Din punct de vedere tehnic, poate că simplificarea modelului a constat în excluderea din setul de date de antrenament a imaginilor cu oameni întinși și alte imagini care ar putea sugera o interpretare indecentă, - și astfel, acum „trei” pur și simplu „nu înțelege” semnificația cuvântului „a sta întins”. Sau poate arhitectura actualizată SD3 a permis identificarea suficient de sigură a greutăților pe perceptroni activati în timpul generării de imagini „nesigure”, iar aceste greutăți au fost pur și simplu resetate selectiv înainte de lansare, având ca efect secundar „halucinația forțată”. Probabil, acest lucru poate fi comparat cu lobotomia: codificatorul traduce corect textul în tokeni, dar în spațiul latent „dezinfectat” acești tokeni nu mai indică un lucru specific, - și, prin urmare, pixelii rezultanți se așază pe imagine într-un mod aleatoriu.

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Având în vedere disponibilitatea API-ului pentru modelul SD3 8B complet, dar închis, de câteva luni și asigurările entuziaste ale managerilor media de la Stability AI că modelul „compactificat” 2B va avea o calitate a percepției textului și generării de imagini aproape identică, entuziaștii desenului AI au întâmpinat lansarea publică a greutăților SD3M pe 12 iunie cu mult entuziasm: în primele 24 de ore, modelul a fost descărcat de 2,7 milioane de ori. În prezent, este în continuare posibil să o obții, chiar dacă printr-o cale puțin mai complicată decât cea obișnuită pentru checkpoint-urile SDXL și SD 1.5. De fapt, calea obișnuită este să te adresezi site-ului Civitai, de unde majoritatea modelelor sunt descărcate fără înregistrare, dar din 17 iunie și până în momentul în care acest articol a fost transmis pentru tipar, pagina dedicată «trio» de pe acest site se află într-un ban temporar. Iar motivul este unul: licența comercială pentru SD3M este formulată într-un limbaj atât de neclar, încât chiar și avocații de la Civitai au luat o pauză pentru a o studia mai atent. Deoarece dacă un anumit entuziast antrenează pe PC-ul său LoRA pentru «trio» și o publică pe Civitai, iar Stability AI decide că rezultatul este necorespunzător și îi revocă licența celui vinovat, — cum ar trebui să procedeze site-ul-gazdă? Acesta nu doar că găzduiește checkpoint-uri, grafice auxiliare și modele, dar oferă și vizitatorilor posibilitatea de a genera imagini în cloud și de a antrena aceleași LoRA, inversiuni textuale și altele. În general, până la pronunțarea instanței, fișierele modelului propriu-zis și cele trei convertizoare de text în tokeni incluse în pachet pot fi obținute doar de pe pagina proprie a Stability AI de pe portalul Hugging Face.

⇡#Să ne apucăm de treabă

Adevărul este că există un detaliu: pentru a avea acces la linkurile de descărcare, trebuie să te autentifici pe site și apoi să confirmi acceptarea menționatului mai devreme acord de licență draconian — totuși, această procedură este gratuită și complet accesibilă din Rusia. În total, sunt disponibile patru opțiuni de modele (models) propriu-zise și patru conversoare de sugestii textuale în tokeni (encoders), plus trei grafice standard pentru execuția în mediu de lucru ComfyUI, despre care am discutat deja:

modele:

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

codificatori:

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

grafice:

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

În cadrul acestei „Ateliere”, ne vom limita la modelul de bază sd3_medium.safetensors (4,2 GB), trei codificatori — clip_g.safetensors (1,3 GB), clip_l.safetensors (234 MB) și t5xxl_fp8_e4m3fn.safetensors (4,7 GB), precum și la ciclul de lucru sd3_medium_example_workflow_multi_prompt.json. Motivul este că pe mașina noastră de testare este instalată, să reamintim, o placă video GeForce GTX 1070 cu 8 GB de memorie video RAM, iar în acest volum nu pot fi încărcate modele mai mari cu toate transformatoarele integrate deodată. La punctele de control bazate pe SD 1.5 și SDXL, codificatorii sunt în mod implicit încorporați în fișierul principal, dar în acest caz acești transformatori sunt trei, având, în total, peste 6 GB, astfel că împreună cu modelul în sine depășește 10 GB; iar dacă luăm în considerare versiunea pe 16 biți a codificatorului T5XXL, va fi necesară o placă video și mai puternică. În varianta în care mai întâi sunt încărcate în memoria video transformatoarele de text în tokenuri, iar apoi modelul care lucrează cu aceste tokenuri, se poate folosi chiar și un adaptor grafic de 6 GB. Din acest punct de vedere, modul „trei” câștigă fără îndoială față de un punct de control tipic SDXL de 5-7 GB.

SD3M reprezintă un model bazat pe transformatoarele de difuzie multimodale (Multimodal Diffusion Transformer, MMDiT) — și astfel se diferențiază fundamental de dezvoltările anterioare ale Stability AI (și nu numai ale acesteia), care se bazează pe arhitectura U-Net, propusă încă din 2015. „Atelierul” nu este locul pentru a studia în profunzime diferența dintre aceste abordări ale generării de imagini prin IA; să spunem doar că MMDiT oferă o performanță crescută a modelului, capacitatea sa de a lucra cu un număr mai mare de tokenuri (ceea ce, la rândul său, le permite operatorilor să formuleze sugestii textuale destul de detaliate, iar sistemului — să le urmeze cu precizie), precum și o calitate mai bună a imaginilor obținute la final. SD3 8B este capabil să genereze imagini pe o pânză de 4 Mpix (2048×2048 pixeli), precum și îi depășește pe DALL-E 3, Midjourney v6 și Ideogram v1 în astfel de parametri ca reproducerea textului în imagine, precizia corespondenței imaginii obținute cu sugestia textului și estetica vizuală generală. Transformarea textului în vectori de tokenuri se face aici prin intermediul a trei codificatori (două modele CLIP și un T5-XXL — „T5”, de altfel, de la Text-To-Text Transfer Transformer) — și, în general, nu sunt obligați să lucreze cu același prompt.

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Dar destule introduceri: să ne ocupăm de ceea ce este dedicat „Atelierului”, — generarea de imagini pe baza modelului SD3M. Vom folosi pentru aceasta, așa cum s-a menționat, mediul de lucru ComfyUI, pe care îl putem descărca de la linkul direct de pe GitHub. Să subliniem că această variantă este disponibilă doar pentru execuția pe adaptoare grafice NVIDIA sau direct pe CPU AMD sau Intel (ceea ce va fi, desigur, de câteva ori mai lent): proprietarii de plăci grafice AMD au la dispoziție o soluție în formă de pachete rocm și pytorch, care pot fi instalate prin managerul de pachete pip.

După finalizarea instalării mediului de lucru, ar trebui să plasăm fișierele .safetensors descărcate anterior: modelele — în directorul ComfyUImodelscheckpoints, conversorii de text în tokeni — în ComfyUImodelsclip. Și — putem începe!

⇡#E timpul să accelerăm

Merită menționat că AUTOMATIC1111, bine cunoscut cititorilor anterioarelor „Ateliere” pe tema desenării AI, a obținut la sfârșitul lunii iunie posibilitatea de a rula SD3M, totuși în ComfyUI suportul pentru noul model rămâne cel mai complet. Nu este surprinzător — deoarece până de curând, autorul „monstrului de paste”, cunoscut comunității de entuziaști sub numele de ComfyAnonimous, sau pur și simplu Comfy, a fost angajat al Stability AI, unde a lucrat, în special, la mediul de lucru intern folosit de dezvoltatori. Așa cum vom vedea un pic mai târziu, cea mai recentă versiune ComfyUI arată cu adevărat că autorul său are anumite informații privilegiate despre cum este structurat și funcționează acest model controversat — informații pe care creatorii altor medii de lucru pentru execuția locală a Stable Diffusion 3 Medium, din motive evidente, nu pot să le prezinte.

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Instalarea ComfyUI în versiune portabilă pe Windows este foarte simplă: după descărcarea arhivei ZIP corespunzătoare de pe pagina oficială a proiectului E suficient să-l dezarhivezi într-un director convenabil; de preferat, desigur, pe un volum logic bazat pe SSD, nu pe HDD, având în vedere schimbul între unitate și memorie, ținând cont de ciclurile viitoare de încărcare și descărcare a modelului chiar și pentru generarea unei singure imagini (mai întâi, mediu trebuie să plaseze în memoria video convertoarele de text în tokeni, apoi să curețe memoria video și să încarce efectiv SD3M) se așteaptă a fi mai mare, cu cât mai puțină memorie video are la dispoziție acest computer. Apropo, instalarea portabilă este benefică și prin independența sa completă: nimic — cu excepția cantității de spațiu liber pe discul logic — nu împiedică desfășurarea locală a oricâtor copii ComfyUI, pentru a experimenta cu diverse extensii, fără teama de a strica deja o sistemă bine ajustată și care funcționează excelent.

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Asigurându-te că fișierul modelului principal SD3M fără encoder de text în tokeni (fișierul stableDiffusion3SD3_sd3Medium.safetensors, 4,2 GB) este plasat în subdirectorul checkpoints (în cazul instalării noastre de test, calea completă este C:Fun-n-GamesComfyUI-SD3ComfyUImodelscheckpoints), iar cele trei modele ale encoderului (fișierele stableDiffusion3SD3_textEncoderClipG.safetensors, stableDiffusion3SD3_textEncoderClipL.safetensors și stableDiffusion3SD3_textEncoderT5E4m3fn.safetensors; 1,3 GB, 234 MB și 4,7 GB respectiv) — în subdirectorul clip (C:Fun-n-GamesComfyUI-SD3ComfyUImodelsclip), poți lansa mediul de lucru printr-un dublu clic pe fișierul run_nvidia_gpu.bat din directorul rădăcină (în cazul nostru C:Fun-n-GamesComfyUI-SD3). După pornirea serverului, în fereastra de comandă Windows care apare, în browserul implicit se va deschide automat o nouă filă (aceasta este presupusă de setările fișierului BAT), unde la adresa 127.0.0.1/8188 va fi disponibil interfața web. îmblânzit deja de noi anterior (deși doar într-o primă aproximare) «monstrul spaghetă».

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

În principiu, dacă aveți la dispoziție o placă video NVIDIA mai modernă (din generația RTX, nu GTX, chiar și cu 6 GB de RAM video), puteți încărca imediat în mediul de lucru fluxul de lucru de bază realizat de ComfyAnonimous, despre care s-a vorbit deja, — fișierul comfy_example_workflows_sd3_medium_example_workflow_multi_prompt.json cu mai multe feronerie pentru introducerea sugestiilor, câte una pentru fiecare dintre cele trei codificatoare, — și să lucrați cu el. Totuși, va trebui mai întâi să aduceți numele a patru fișiere de model (în nodurile lor de încărcare) în conformitate cu cele disponibile. Autorul acestui flux de lucru a operat, evident, la locul său de muncă (în Stability AI, așa cum s-a menționat anterior) cu fișierele locale disponibile, care aveau denumiri puțin diferite, astfel că, dacă apăsați butonul „Queue Prompt” în interfața spartaneană ComfyUI imediat după încărcarea fluxului de lucru, mediul de lucru va returna un mesaj de eroare.

⇡#Teren de trei culturi pentru generarea AI

Totuși, aceasta nu este dificil de corectat: mult mai descurajant este faptul că placa noastră GTX 1070, care a văzut zile mai bune, procesează SD3M într-un mod extrem de lent — generarea imaginii durează între 27-30 de secunde pentru fiecare iterație, iar, având în vedere că parametrul „Steps” din fluxul de lucru de bază este setat la „28”, timpul necesar este nejustificat de mare. Prin urmare, să facem o mică optimizare — să folosim modulul Python venv (environments virtuale), care este destinat, printre altele, să accelereze munca modelelor AI generative. În kitul de livrare al versiunii portabile ComfyUI nu este inclus, totuși, există multe modalități de instalare, care se reduc la desfășurarea unui mediu Python complet pe PC-ul local — și activarea modulului necesar din acest mediu.

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Să sperăm că cititorii care ne urmăresc „Atelierele” deja au o instalare activă a AUTOMATIC1111 pe mașinile lor. În acest caz, totul este mult mai simplu: modulul venv este deja desfășurat acolo, iar tot ce trebuie să faceți pentru a-l activa la pornirea mediului de lucru ComfyUI este să faceți apelul corespunzător. Pentru început, trebuie să opriți serverul, făcând clic pe fereastra acestuia și apăsând „Ctrl” + „C”, apoi introduceți „y” pentru confirmare; după aceea, copiați fișierul BAT run_nvidia_gpu.bat într-un nou fișier numit, de exemplu, run_with_venv.bat. Fișierul de pornire original este destul de succint — acesta apelează pur și simplu o copie portabilă a Python cu parametrul —windows-standalone-build:

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

pause

Acest parametru nu este foarte clar — el presupune anumite optimizări, care, cel mai probabil, sunt destinate plăcilor grafice NVIDIA mai recente și, prin urmare, pot complica viața celor care încă își păstrează loialitatea față de vechile GTX. Din acest motiv, vom elimina —windows-standalone-build din linia de comandă și ne vom despărți și de altă optimizare modernă — managerul de memorie „inteligent”, smart memory, care își propune să păstreze cât mai multe informații în VRAM, fără a le descărca. Acest lucru accelerează într-adevăr generarea imaginilor IA, totuși, în același timp, transformă computerul nostru moral învechit într-un sistem monopolic — nu putem naviga pe web, nu putem juca, nici măcar nu putem lucra cu documente și e-mailuri pe PC, în paralel cu activitatea mediu de lucru. Așadar, pentru cei care nu dispun de un computer dedicat pentru arta IA, un astfel de fișier BAT pentru a lansa ComfyUI (nu doar cu scopul de a genera imagini cu SD3M, de altfel — este perfect potrivit și pentru SDXL):

@echo off

call cd C:Fun-n-GamesGitstable-diffusion-webuivenvScripts

întâlnește %

call activate.bat

echo venv activated

call cd C:Fun-n-GamesComfyUI-SD3

întâlnește %

call .python_embededpython.exe -s ComfyUImain.py —disable-smart-memory

pause

Aici se presupune că instalarea portabilă a ComfyUI a fost realizată în directorul C:Fun-n-GamesComfyUI-SD3, iar AUTOMATIC1111 a fost anterior instalat în C:Fun-n-GamesGitstable-diffusion-webui. Numeroasele „echo” sunt necesare doar pentru a monitoriza vizual dacă schimbarea directorilor se desfășoară normal și comenzile necesare sunt executate — după ce totul va fi optimizat, acestea pot fi eliminate din fișierul BAT.

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Repornim mediu de lucru, de această dată făcând dublu clic pe run_with_venv.bat. Deoarece anterior am închis doar serverul și nu am modificat interfața web, în tab-ul corespunzător ar trebui să rămână aceeași diagramă de bază ComfyUI cu numele modelelor corectate. Să ne uităm la partea dreaptă a acesteia: acolo se află nodul „Preview Image”, care nu salvează imaginea finalizată pe disc, ci o demonstrează doar. Dacă rulăm de fiecare dată diagrama pentru a genera strict o singură imagine, evaluând-o vizual, modificând parametrii și reluând, aceasta este o variantă funcțională: imaginea dorită poate fi salvată întotdeauna manual făcând clic dreapta pe ea. Dar dacă se efectuează multe generații succesive în mediu de lucru, ar fi mai bine ca rezultatele lor să fie acumulate automat în memorie permanentă (în directorul ComfyUIoutput în mod implicit).

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Așadar, este mai bine să schimbăm imediat nodul „Preview Image” cu „Save Image”. Pentru aceasta, facem dublu clic cu butonul stâng pe orice zonă liberă a diagramei – se va deschide o fereastră de selectare a nodurilor cu o linie de căutare. În această linie, vom începe să scriem „Save…” – și practic imediat vom vedea denumirea căutată. Apoi, nu rămâne decât să facem clic pe ea și să conectăm intrarea nodului apărut la ieșirea „IMAGE” a nodului „VAE Decode”, la care inițial a fost conectat „Preview Image”. Iar „Preview Image” poate fi ulterior eliminată – pur și simplu o selectăm făcând clic pe titlu și apăsăm tasta „Del” de pe tastatură.

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Și acum – este momentul să rulăm diagrama de bază creată de ComfyAnonimous (cu corecturile noastre modeste) în execuție. Iată ce rezultă:

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

O imagine foarte impresionantă, cu chiar un pic de atmosferă, – și nu ai spune că a fost creată cu aceeași model, care complet distruge instrucțiunile de a ilustra oameni întinși pe iarbă. În același timp, sistemul funcționează destul de bine – aproximativ 5-6 secunde pe iterație pentru o imagine cu o suprafață de 1 Mpix pe GTX 1070 poate fi considerat un rezultat decent. Spre comparație: același PC în aceeași ComfyUI, cu același fișier BAT, generează imagini SDXL de dimensiuni similare, consumând aproximativ 6-7 secunde pe fiecare iterație, astfel încât „trei” poate fi considerată mai puțin exigentă cu echipamentul PC-ului pe care se desfășoară generarea IA.

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Să ajustăm acum dimensiunile pânzei. Aproape de nodul „EmptySD3LatentImage”, care le determină, se află un nod de referință „Note” care este „gol” (adică, neconectat de nici o parte), unde se află o importantă reamintire: suprafața totală a imaginii în cazul SD3M ar trebui să fie de aproximativ 1 MPix, din care ar trebui să alegem dimensiunile laturilor pânzei rectangulare. Atunci, să le setăm la 1344×768 — de fapt, aproximativ 1,03 MPix se va obține.

Să observăm: mai sus se află nodul „Seed”, unde este setată, de fapt, valoarea inițială, în acest caz „945512652412924”, și se indică faptul că aceasta nu ar trebui să se schimbe după generare (parametrul „fixed”).

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Vom executa aceeași ciclogramă cu aceeași valoare inițială, dar pentru pânza dreptunghiulară. Se observă imediat că timpul de execuție în general este mai scurt, deși viteza de redare a rămas aceeași — mai puțin de 6 secunde pe iterație. Și acest lucru este logic: deoarece sugestiile textuale nu s-au schimbat, nu este necesar să încărcați din nou codificatorul(rii) pentru acestea. Imaginea la ieșire, desigur, diferă puțin de prima, pătrată, dar nu esențial — compoziția generală, așa cum era de așteptat, a fost păstrată.

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Acum să ne concentrăm asupra nodurilor „CLIPTextEncodeSD3” și „CLIP Text Encode (Negative Prompt)”. Primul se remarcă prin faptul că conține trei câmpuri de introducere; dacă eliminăm textul din acestea, vor fi vizibile notițele pentru ce codificatoare sunt destinate — de sus în jos, acestea sunt CLIP G, CLIP L și T5XXL. În trecut, noduri asemănătoare nu existau în ComfyUI, din motive evidente. Ciclograma de referință conține sugestii scurte, repetitive pentru primele două câmpuri textuale (pentru codificatoarele CLIP G și CLIP L) și una mult mai extinsă pentru al treilea — T5XXL. Este evident că conținutul acestor câmpuri poate fi manipulat în diverse limite, iar studiul modului în care modificarea textului din ele influențează imaginea finală reprezintă o sarcină complexă, dar extrem de captivantă. Totuși, din motive care vor deveni clare puțin mai târziu, nu ne vom ocupa în mod direct de aceasta pentru moment.

În nodul „CLIP Text Encode (Negative Prompt)”, pe de altă parte, nu este nimic special, — dar apreciați cât de complicat este drumul de la acesta la intrarea corespunzătoare „conditioning” a nodului principal „KSampler”! Acest drum se bifurcă, iar una dintre ramurile sale (superioară, în acest caz) indică faptul că, începând cu 10% din pașii de generație și până la finalizarea acestora, sistemul nu va lua în considerare deloc sugestia negativă (parcurgerea drumului prin nodul „ConditioningZeroOut” înseamnă exact anularea condiției). Pe de altă parte, a doua ramură trimite sugestia negativă (de asemenea, condiționată cu greutate de jumătate) pentru o procesare ulterioară fără modificări — dar doar în primii 10% din numărul total de pași de generație.

⇡#Departe și neclar

Încă o dată: primii 10%, adică 3 din 28 de pași alocați în acest caz, sugestia negativă este transmisă către nodul „KSampler”, care este ocupat cu formarea imaginii în spațiul latent (în spațiul pixelilor, adică într-o imagine perceptibilă omului, rezultatul acesteia este tradus de următorul nod, „VAE Decoder”), în mod normal: ramura superioară (cu anularea condiției) este inactivă, funcționează doar ramura inferioară. Ceilalți 90% din pași (25 din 28 în cazul nostru) nu utilizează deloc sugestia negativă: este activă tocmai ramura superioară de transmisie a condițiilor — cu anularea acestora, — iar mișcarea pe ramura inferioară este blocată de parametrul limită al nodului „ConditioningSetTimestepRange”. Acum este clar de ce unii comentatori afirmă că sugestiile negative pentru SD3M nu pot fi folosite în principiu, — efectul acestora (dacă luăm în considerare exact această ciclogramă de referință și presupunem că aceleași reguli se aplică pe site-urile cu generație online pe modelul SD3 Medium) este minim.

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Și totuși există: dacă pur și simplu conectezi direct ieșirea nodului „CLIP Text Encode (Negative Prompt)” la intrarea corespunzătoare a „KSampler” (sau marchezi toate nodurile intermediare cu condiții pe acest drum ca fiind „de ignorat”, „Bypass”, ceea ce va duce la același efect), calitatea imaginii finale se va deteriora semnificativ. Acest lucru poate fi considerat, de altfel, ca o dovadă indirectă a „necoacerii” SD3M, deoarece a regla puterea și relevanța sugestiilor negative ar fi trebuit, în mod strict, să fie în puterea dezvoltatorilor chiar înainte de a publica greutățile modelului în acces deschis. Cele două ramuri ingenios stabilite ale condițiilor de aplicare a sugestiilor negative sunt un fel de patch, și în acest sens plângerile entuziastilor că „treica” nu se ridică la așteptările exagerate promovate de departamentul de marketing al Stability AI în legătură cu această, par pe deplin justificate.

Lipsa unui ghid oficial, măcar sumar, pentru utilizarea SD3M a dus la răspândirea pe internet a zvonurilor că acest model nu a fost antrenat deloc pentru utilizarea sugestiilor negative.Ceea ce, desigur, nu este adevărat, dar oricum, aplicarea acestor sugestii trebuie făcută într-un mod diferit față de ceea ce sunt obișnuiți operatorii SD 1.5 și SDXL.În special, entuziștii susțin cu seriozitate că adăugarea de descrieri detaliate cât mai multor obscenități în câmpul negativ (da-da, vechiul bun „nsfw, nude” nu este suficient — va trebui să ne străduim serios în imaginație) duce la o îmbunătățire vizibilă a aspectului chiar și celebrei fete care stă pe iarbă. Dacă este așa sau nu — nu putem afla fără o analiză atentă (însă nu este sigur că o marcă „18+” în antetul site-ului nostru va proteja publicația de procese din partea apărătorilor moralei, dacă ne riscăm să publicăm „minunea-sugestie” compusă de entuziaști — deși aceasta este în engleză). Această situație amuzantă amintește de învățăturile din epoca medievală timpurie împotriva păgânismului, prin care — exact pentru că conțineau descrieri destul de detaliate despre ce și cum nu ar trebui să facă creștinii onorabili — au ajuns până la noi măcar fragmente de dovezi scrise despre credințele și obiceiurile Rusiei precreștine.

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Acum, sperăm că este mai clar de ce aprofundarea în studiul SD3M în acest stadiu nu pare a fi cea mai înțeleptă utilizare a eforturilor și timpului. Acolo există cu adevărat multe de discutat și explorat: de la parametrii de generare destul de stringent recomandați în nodul „KSampler” (CFG — 4,5-5,0; numărul de pași — aproximativ 28; perechea sampler/scheduler — exclusiv dpmpp_2m/sgm_uniform, altfel calitatea ieșirii scade semnificativ); până la variația considerabilă a calității subiective a generațiilor cu exact aceleași parametrii inițiali, dar cu apeluri diferite; și eliminarea temutului „blestem al întinderii în/asupra ierbii” (pentru care deja sunt propuse soluții destul de neobișnuite); și, în esență, clarificarea asupra căror parametrii de generare influențează fiecare dintre cei trei convertoare de text în tokeni — și cum, manipulându-i, să obții opere adevărate de artă generată de AI (dacă este posibil cu „troica”, bineînțeles).

Cu atât mai mult cu cât demiterea lui Emad Mostaque în martie și a lui ComfyAnonimous în iunie, dar și departe de a fi singurii, — nu sunt singurele neplăceri care au lovit Stability AI. Potrivit Reuters, citând The Information, acest start-up britanic a schimbat literalmente (la momentul scrierii acestui articol) din nou directorul executiv noului director fiind Prem Akkaraju, un susținător cunoscut al unei grup global de investitori IT — iar aceștia, la rândul lor, sunt pregătiți să investească în companie o sumă considerabilă în numerar (vorbim de 80 milioane USD). Situația Stability AI ca structură de afaceri este în mod clar instabilă; mulți entuziaști dezamăgiți îi prezic un sfârșit apropiat — și într-o astfel de situație este greu de așteptat o muncă bine gândită din partea companiei chiar și asupra unor erori atât de evidente. — și în această situație, este greu de așteptat o muncă atentă din partea companiei, chiar și pentru erori atât de evidente.

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Politica de licențiere nelocalizată împiedică, din păcate, comunitatea să finalizeze SD3M, așa cum s-a întâmplat cu SD 1.5 și SDXL. Cel puțin, checkpoint-urile derivate și instrumentele precum LoRA pentru ultimele două modele vor rămâne garantat disponibile pentru execuția locală, chiar și când (și dacă) Stability AI își va încheia drumul ca structură comercială. Îndată după eșecul zdrobitor al „trio-ului”, au început să răsune din ce în ce mai multe voci pe forumurile de specialitate în sprijinul creării unui proiect non-profit pentru dezvoltarea unui model generativ pentru transformarea textului în imagini, bazat pe crowdfunding — iar în prezent acest demers începe să se contureze sub numele Open Model Initiative. Deja și-au exprimat disponibilitatea de a se alătura acestuia Invoke (una dintre platformele pentru generarea online de IA, orientată spre studiouri profesionale), Comfy Org (echipa care se ocupă de suportul și dezvoltarea ComfyUI), Civitai (care nu necesită prezentări) și echipa din spatele LAION (baza de date cu imagini annotate, pe care majoritatea acestor modele se antrenează).

Așadar, în perspectiva apropiată, noile lansări din „Atelier” vor fi, cel mai probabil, orientate spre lucrul cu acele modele pentru care comunitatea a reușit deja să creeze un set larg de îmbunătățiri și instrumente suplimentare — pentru „polutorkă” și „Oversize”. Poate că vremea triumfului SD3M va veni în cele din urmă — însă astăzi este greu de prezis când anume. Între timp, cei interesați pot descărca arhiva cu generațiile SD3M menționate în acest articol (ciclogramile sunt integrate direct în fișierele PNG; este suficient să tragi imaginea pe câmpul de lucru ComfyUI din „Explorer”-ul Windows pentru a reproduce întreaga ordine și parametrele generației) aici. Poate că cineva dintre cititorii noștri va reuși să descopere mai devreme decât utilizatorii de pe Reddit și Hugging Face o modalitate optimă de distribuire a textului pe cele trei câmpuri de sugestie, de exemplu?

Articol nou: Practicum de desen AI, partea a noua: SD3M — nota trei pentru trei

Materiale pe această temă:

Stability AI a schimbat conducerea și a atras 80 de milioane de dolari investiții.

A fost prezentat generatorul de imagini generat de IA Stable Diffusion Medium, care necesită doar o placă grafică cu 5 GB memorie.

Stability AI este cufundată în datorii și acum caută un cumpărător.

Startup-ul de IA Stability AI va reduce cu 10% personalul din cauza intensificării concurenței.

Anunțată Stable Diffusion 3.0 — Inteligența artificială pentru desen a schimbat arhitectura și a învățat să scrie.

Sursa: 3dnews.ru

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster