Povežite se s nama

Umjetna inteligencija

StreamDiffusion: Rješenje na razini cjevovoda za interaktivno generiranje u stvarnom vremenu

mm
StreamDiffusion: Rješenje na razini cjevovoda za interaktivno generiranje u stvarnom vremenu

Zbog golemog potencijala i mogućnosti komercijalizacije, posebice u igrama, emitiranju i video streamingu, Metaverse je trenutno jedna od najbrže rastućih tehnologija. Moderne Metaverse aplikacije koriste AI okvire, uključujući računalni vid i modele difuzije, kako bi poboljšale svoj realizam. Značajan izazov za Metaverse aplikacije je integracija različitih difuzijskih cjevovoda koji pružaju nisku latenciju i visoku propusnost, osiguravajući učinkovitu interakciju između ljudi i tih aplikacija.

Današnji AI okviri temeljeni na difuziji briljiraju u stvaranju slika iz tekstualnih ili slikovnih upita, ali podbacuju u interakcijama u stvarnom vremenu. Ovo je ograničenje posebno vidljivo u zadacima koji zahtijevaju kontinuirani unos i visoku propusnost, kao što su grafika videoigara, aplikacije Metaverse, emitiranje i streaming videa uživo.

U ovom ćemo članku raspravljati o StreamDiffusionu, difuzijskom cjevovodu u stvarnom vremenu razvijenom za generiranje interaktivnih i realističnih slika, rješavajući trenutna ograničenja okvira temeljenih na difuziji u zadacima koji uključuju kontinuirani unos. StreamDiffusion je inovativan pristup koji transformira sekvencijalni šum izvorne slike u grupno uklanjanje šuma, s ciljem omogućavanja velike propusnosti i protoka tekućine. Ovaj pristup odmiče se od tradicionalne metode čekanja i interakcije koju koriste postojeće okviri temeljeni na difuziji. U nadolazećim odjeljcima detaljno ćemo se pozabaviti okvirom StreamDiffusion, istražujući njegov rad, arhitekturu i usporedne rezultate u odnosu na trenutne najsuvremenije okvire. Započnimo.

StreamDiffusion : Uvod u interaktivnu generaciju u stvarnom vremenu

Metaverse su aplikacije koje zahtijevaju intenzivne performanse jer obrađuju veliku količinu podataka uključujući tekstove, animacije, videozapise i slike u stvarnom vremenu kako bi svojim korisnicima pružile interaktivna sučelja i iskustvo zaštićenog znaka. Moderne aplikacije Metaverse oslanjaju se na okvire temeljene na umjetnoj inteligenciji, uključujući računalni vid, obradu slike i modele difuzije kako bi se postigla niska latencija i visoka propusnost kako bi se osiguralo besprijekorno korisničko iskustvo. Trenutačno se većina Metaverse aplikacija oslanja na smanjenje pojavljivanja iteracija uklanjanja šuma kako bi se osigurala visoka propusnost i poboljšale interaktivne mogućnosti aplikacije u stvarnom vremenu. Ovi se okviri odlučuju za zajedničku strategiju koja ili uključuje preoblikovanje procesa difuzije s neuralnim ODE-ovima (običnim diferencijalnim jednadžbama) ili smanjivanje modela difuzije u više koraka u nekoliko koraka ili čak u jedan korak. Iako pristup daje zadovoljavajuće rezultate, ima određena ograničenja uključujući ograničenu fleksibilnost i visoke računalne troškove. 

S druge strane, StreamDiffusion je rješenje na razini cjevovoda koje počinje od ortogonalnog smjera i poboljšava mogućnosti okvira za generiranje interaktivnih slika u stvarnom vremenu, a istovremeno osigurava visoku propusnost. StreamDiffusion koristi jednostavnu strategiju u kojoj umjesto uklanjanja buke izvornog unosa, okvir grupira korak uklanjanja buke. Strategija crpi inspiraciju iz asinkrone obrade jer okvir ne mora čekati da se završi prva faza uklanjanja buke prije nego što može prijeći na drugu fazu, kao što je prikazano na sljedećoj slici. Kako bi se sinkrono pozabavio problemom U-Net frekvencije obrade i ulazne frekvencije, okvir StreamDiffusion implementira strategiju čekanja za predmemoriju ulaza i izlaza. 

Iako StreamDiffusion cjevovod traži inspiraciju u asinkronoj obradi, jedinstven je na svoj način jer implementira paralelizam GPU-a koji omogućuje okviru da koristi jednu UNet komponentu za dešumaciju skupne latentne značajke šuma. Nadalje, postojeće cjevovodi na bazi difuzije naglašavaju dane upute u generiranim slikama uključivanjem smjernica bez klasifikatora, zbog čega su trenutni cjevovodi opterećeni suvišnim i pretjeranim računalnim troškovima. Kako bi se osiguralo da cjevovod StreamDiffusion ne naiđe na iste probleme, implementira inovativni pristup RCFG ili Residual Classifier-Free Guidance koji koristi virtualni rezidualni šum za aproksimaciju negativnih uvjeta, omogućujući okviru da izračuna negativne uvjete šuma u početnom faze samog procesa. Osim toga, StreamDiffusion cjevovod također smanjuje računalne zahtjeve tradicionalnog difuzijskog cjevovoda implementacijom strategije filtriranja stohastičke sličnosti koja određuje treba li cjevovod obrađivati ​​ulazne slike izračunavanjem sličnosti između kontinuiranih ulaza. 

Okvir StreamDiffusion izgrađen je na učenjima modeli difuzije i modeli difuzije ubrzanja

Difuzijski modeli poznati su po svojim iznimnim mogućnostima generiranja slike i količini kontrole koju nude. Zahvaljujući svojim mogućnostima, difuzijski modeli našli su svoju primjenu u uređivanju slika, stvaranju teksta u sliku i stvaranju videa. Nadalje, razvoj konzistentnih modela pokazao je potencijal za poboljšanje učinkovitosti obrade uzorka bez ugrožavanja kvalitete slika generiranih modelom koji je otvorio nova vrata za proširenje primjenjivosti i učinkovitosti modela difuzije smanjenjem broja koraka uzorkovanja. Iako iznimno sposobni, difuzijski modeli obično imaju veliko ograničenje: sporo stvaranje slike. Kako bi se uhvatili u koštac s ovim ograničenjem, programeri su uveli modele ubrzane difuzije, okvire temeljene na difuziji koji ne zahtijevaju dodatne korake obuke ili implementiraju strategije prediktor-korektora i prilagodljive rješavače veličine koraka za povećanje izlaznih brzina. 

Čimbenik razlikovanja između StreamDiffusion i tradicionalnih okvira koji se temelje na difuziji jest da dok se potonji prvenstveno fokusira na nisku latenciju pojedinačnih modela, prvi uvodi pristup na razini cjevovoda dizajniran za postizanje visokih propusnosti omogućavajući učinkovitu interaktivnu difuziju. 

StreamDiffusion: rad i arhitektura

StreamDiffusion cjevovod je difuzijski cjevovod u stvarnom vremenu razvijen za generiranje interaktivnih i realističnih slika, a koristi 6 ključnih komponenti, a to su: RCFG ili slobodno vođenje rezidualnog klasifikatora, Stream Batch strategija, stohastički filtar sličnosti, ulazno-izlazni red čekanja, alati za ubrzanje modela s autoenkoderom i postupkom predračunanja. Razgovarajmo o ovim komponentama u detalje. 

Stream Batch Strategija

Tradicionalno, koraci uklanjanja buke u a difuzijski model izvode se sekvencijalno, što rezultira značajnim povećanjem vremena obrade U-Neta na broj koraka obrade. Međutim, bitno je povećati broj koraka obrade za generiranje slika visoke vjernosti, a okvir StreamDiffusion uvodi strategiju Stream Batch za prevladavanje rezolucije visoke latencije u okvirima interaktivne difuzije. 

U strategiji Stream Batch, sekvencijalne operacije uklanjanja šuma restrukturirane su u skupne procese pri čemu svaka serija odgovara unaprijed određenom broju koraka uklanjanja šuma, a broj tih koraka uklanjanja šuma određen je veličinom svake serije. Zahvaljujući pristupu, svaki element u seriji može nastaviti jedan korak dalje korištenjem jedinstvenog prolaznog UNeta u nizu uklanjanja šuma. Implementacijom skupne strategije toka iterativno, ulazne slike kodirane u vremenskom koraku "t" mogu se transformirati u odgovarajuće rezultate slike u sliku u vremenskom koraku "t+n", čime se pojednostavljuje proces uklanjanja šuma. 

Upute o besplatnom rezidualnom klasifikatoru

CFG ili Classifier Free Guidance algoritam je umjetne inteligencije koji izvodi niz vektorskih izračuna između izvornog uvjetovanog izraza i negativnog uvjetovanog ili neuvjetovanog izraza kako bi se poboljšao učinak izvornog uvjetovanja. Algoritam pojačava učinak odziva iako je za izračunavanje rezidualnog šuma negativnog uvjetovanja potrebno upariti pojedinačne ulazne latentne varijable s negativnim uvjetovanjem ugrađivanja nakon čega slijedi prolazak ugrađivanja kroz UNet u referentnom vremenu. 

Kako bi se uhvatio u koštac s ovim problemom koji predstavlja algoritam Classifier Free Guidance, okvir StreamDiffusion uvodi algoritam Residual Classifier Free Guidance s ciljem smanjenja troškova računanja za dodatne UNet interferencije za ugrađivanje negativnih uvjeta. Prvo se kodirani latentni unos prenosi u distribuciju buke korištenjem vrijednosti koje je odredio planer buke. Nakon što se implementira model latentne konzistencije, algoritam može predvidjeti distribuciju podataka i koristiti CFG rezidualni šum za generiranje sljedećeg koraka distribucije šuma. 

Input Output Queue

Glavni problem s okvirima za generiranje slika velike brzine su njihovi moduli neuronske mreže uključujući UNet i VAE komponente. Kako bi se povećala učinkovitost i ukupna izlazna brzina, okviri za generiranje slika premještaju procese kao što su slike prije i naknadne obrade koje ne zahtijevaju dodatno rukovanje od strane modula neuronske mreže izvan cjevovoda, nakon čega se obrađuju paralelno. Nadalje, u smislu rukovanja ulaznom slikom, specifične operacije uključujući pretvorbu formata tenzora, promjenu veličine ulaznih slika i normalizaciju izvršava cjevovod pedantno. 

Kako bi se riješio nesrazmjer u frekvencijama obrade između propusnosti modela i ljudskog unosa, cjevovod integrira ulazno-izlazni sustav čekanja koji omogućuje učinkovitu paralelizaciju kao što je prikazano na sljedećoj slici. 

Obrađeni ulazni tenzori se prvo metodički stavljaju u red čekanja za difuzijske modele, a tijekom svakog okvira, model dohvaća najnoviji tenzor iz ulaznog reda čekanja i prosljeđuje tenzor VAE koderu, čime se pokreće proces generiranja slike. U isto vrijeme, izlaz tenzora iz VAE dekodera ulazi u izlazni red čekanja. Konačno, obrađeni slikovni podaci prenose se klijentu za renderiranje. 

Filtar stohastičke sličnosti

U scenarijima u kojima slike ostaju nepromijenjene ili pokazuju minimalne promjene bez statičnog okruženja ili bez aktivne interakcije korisnika, ulazne slike koje nalikuju jedna drugoj se opetovano unose u UNet i VAE komponente. Ponovljeno hranjenje dovodi do stvaranja gotovo identičnih slika i dodatne potrošnje GPU resursa. Nadalje, u scenarijima koji uključuju kontinuirane unose, neizmijenjene ulazne slike mogu se povremeno pojaviti. Kako bi se riješio ovaj problem i spriječilo nepotrebno korištenje resursa, StreamDiffusion cjevovod koristi komponentu filtra stohastičke sličnosti u svom cjevovodu. Filtar stohastičke sličnosti prvo izračunava kosinusnu sličnost između referentne slike i ulazne slike i koristi ocjenu kosinusne sličnosti za izračunavanje vjerojatnosti preskakanja naknadnih UNet i VAE procesa. 

Na temelju ocjene vjerojatnosti, cjevovod odlučuje trebaju li se kasniji procesi poput VAE kodiranja, VAE dekodiranja i U-Neta preskočiti ili ne. Ako se ti procesi ne preskoče, cjevovod sprema ulaznu sliku u to vrijeme i istovremeno ažurira referentnu sliku koja će se koristiti u budućnosti. Ovaj mehanizam preskakanja temeljen na vjerojatnosti omogućuje cjevovodu StreamDiffusion da u potpunosti radi u dinamičkim scenarijima s niskom sličnošću među okvirima, dok u statičkim scenarijima cjevovod radi s većom sličnošću među okvirima. Pristup pomaže u očuvanju računalnih resursa i također osigurava optimalno korištenje GPU-a na temelju sličnosti ulaznih slika. 

Prethodno izračunavanje

Arhitektura UNeta treba i uvjetne ugradnje kao i ulazne latentne varijable. Tradicionalno, uvjetna ugrađivanja izvode se iz brzih ugrađivanja koja ostaju konstantna kroz okvire. Kako bi se optimiziralo izvođenje iz brzih ugrađivanja, StreamDiffusion cjevovod je unaprijed izračunao te brze ugradnje i pohranjuje ih u predmemoriju, koja se zatim poziva u strujanju ili interaktivnom načinu rada. U okviru UNet-a, par ključ-vrijednost izračunava se na temelju unaprijed izračunatog brzog ugrađivanja svakog okvira, a uz male izmjene u U-Netu, ti se parovi ključ-vrijednost mogu ponovno upotrijebiti. 

Model Acceleration i Tiny AutoEncoder

Cjevovod StreamDiffusion koristi TensorRT, alat za optimizaciju tvrtke Nvidia za sučelja za duboko učenje, za izradu VAE i UNet motora, za ubrzavanje brzine zaključivanja. Kako bi se to postiglo, TensorRT komponenta izvodi brojne optimizacije na neuronskim mrežama koje su dizajnirane za povećanje učinkovitosti i povećanje propusnosti za okvire i aplikacije dubokog učenja. 

Kako bi optimizirao brzinu, StreamDiffusion konfigurira okvir za korištenje fiksnih ulaznih dimenzija i statičnih veličina serija kako bi se osigurala optimalna dodjela memorije i računalni grafikoni za određenu ulaznu veličinu u pokušaju postizanja bržeg vremena obrade. 

Gornja slika daje pregled cjevovoda zaključivanja. Glavni difuzijski cjevovod sadrži UNet i VAE komponente. Cjevovod uključuje grupu za uklanjanje buke, uzorkovanu predmemoriju buke, unaprijed izračunatu predmemoriju za brzu ugradnju i predmemoriju vrijednosti planera kako bi se poboljšala brzina i sposobnost cjevovoda da generira slike u stvarnom vremenu. Stohastički filtar sličnosti ili SSF primjenjuje se za optimizaciju upotrebe GPU-a, a također i za dinamičko određivanje prolaza modela difuzije. 

StreamDiffusion : Eksperimenti i rezultati

Kako bi se ocijenile njegove mogućnosti, StreamDiffusion cjevovod implementiran je na LCM i SD-turbo okvirima. NVIDIA-in TensorRT koristi se kao akcelerator modela, a kako bi se omogućio VAE male težine, cjevovod koristi TAESD komponentu. Pogledajmo sada kako StreamDiffusion cjevovod radi u usporedbi s trenutnim najsuvremenijim okvirima. 

Kvantitativna evaluacija

Sljedeća slika prikazuje usporedbu učinkovitosti između izvornog sekvencijalnog UNeta i serijskih komponenata za uklanjanje buke u cjevovodu, i kao što se može vidjeti, implementacija skupnog pristupa za uklanjanje buke pomaže u značajnom smanjenju vremena obrade za gotovo 50% u usporedbi s tradicionalnim UNetom. petlje u sekvencijalnim koracima uklanjanja buke. 

Nadalje, prosječno vrijeme zaključivanja pri različitim koracima uklanjanja buke također svjedoči o značajnom povećanju s različitim faktorima ubrzanja u usporedbi s trenutačnim najsuvremenijim cjevovodima, a rezultati su prikazani na sljedećoj slici. 

Dalje, StreamDiffusion cjevovod s RCFG komponentom pokazuje manje vremena zaključivanja u usporedbi s cjevovodima koji uključuju tradicionalnu CFG komponentu. 

Nadalje, učinak korištenja RCFG komponente vidljiv je na sljedećim slikama u usporedbi s korištenjem CFG komponente.

Kao što se može vidjeti, korištenje CFG-a pojačava utjecaj tekstualnog upita u generiranju slike, a slika puno više nalikuje upitima za unos u usporedbi sa slikama koje generira cjevovod bez korištenja CFG komponente. Rezultati se dodatno poboljšavaju korištenjem RCFG komponente jer je utjecaj upita na generirane slike prilično značajan u usporedbi s izvornom CFG komponentom. 

Final Misli

U ovom smo članku govorili o StreamDiffusionu, difuzijskom cjevovodu u stvarnom vremenu razvijenom za generiranje interaktivnih i realističnih slika i rješavanju trenutnih ograničenja koje postavljaju okviri temeljeni na difuziji za zadatke koji uključuju kontinuirani unos. StreamDiffusion je jednostavan i nov pristup koji ima za cilj transformirati sekvencijalno uklanjanje šuma izvorne slike u skupno uklanjanje šuma. StreamDiffusion ima za cilj omogućiti visoku propusnost i fluidne tokove eliminirajući tradicionalni pristup čekanja i interakcije koji odabiru trenutni okviri temeljeni na difuziji. Potencijalni dobici učinkovitosti naglašavaju potencijal StreamDiffusion cjevovoda za komercijalne aplikacije koje nude računalstvo visokih performansi i uvjerljiva rješenja za generativnu umjetnu inteligenciju. 

"Inženjer po struci, književnik po duši". Kunal je tehnički pisac s dubokom ljubavlju i razumijevanjem AI i ML, posvećen pojednostavljenju složenih koncepata u tim poljima kroz svoju zanimljivu i informativnu dokumentaciju.