AI-modeller og platforme

StreamDiffusion: En introduktion til realtidsinteraktiv generering

mm
Føj Unite.AI til dine foretrukne kilder på Google
StreamDiffusion: A Pipeline-level Solution for Real-time Interactive Generation

På grund af dets enorme potentiale og kommercielle muligheder, især inden for gaming, broadcasting og video-streaming, er Metaverse en af de hurtigst voksende teknologier i øjeblikket. Moderne Metaverse-applikationer anvender AI-rammer, herunder computer vision og diffusion-modeller, for at forbedre deres realisme. En betydelig udfordring for Metaverse-applikationer er at integrere forskellige diffusion-rørledninger, der giver lav latency og høj gennemstrømning, og sikrer effektiv interaktion mellem mennesker og disse applikationer.

I dag excellerer diffusion-baserede AI-rammer i at skabe billeder fra tekst- eller billedprompt, men mangler i realtidsinteraktioner. Dette begrænsning er særligt tydelig i opgaver, der kræver kontinuerlig input og høj gennemstrømning, såsom videospilgrafik, Metaverse-applikationer, broadcasting og live video-streaming.

I denne artikel vil vi diskutere StreamDiffusion, en realtidsdiffusions-rørledning udviklet til at generere interaktive og realistiske billeder, og som løser de nuværende begrænsninger for diffusion-baserede rammer i opgaver, der involverer kontinuerlig input. StreamDiffusion er en innovativ tilgang, der transformerer den sekventielle støjning af det originale billede til batch-støjning, med det formål at aktivere høj gennemstrømning og flydende strømme. Denne tilgang afviger fra den traditionelle vent-og-interager-metode, der anvendes af eksisterende diffusion-baserede rammer. I de kommende afsnit vil vi dykke dybere ind i StreamDiffusion-rammen, og udforske dens funktion, arkitektur og sammenlignende resultater mod nuværende state-of-the-art-rammer. Lad os komme i gang.

StreamDiffusion: En introduktion til realtidsinteraktiv generering

Metaverse er ydmyge applikationer, da de behandler en stor mængde data, herunder tekster, animationer, videoer og billeder i realtid, for at give brugerne en interaktiv oplevelse. Moderne Metaverse-applikationer afhænger af AI-baserede rammer, herunder computer vision, billedbehandling og diffusion-modeller, for at opnå lav latency og høj gennemstrømning, og sikre en problemfri brugeroplevelse. For tiden afhænger de fleste Metaverse-applikationer af at reducere antallet af støjningsiterationer for at sikre høj gennemstrømning og forbedre applikationens interaktive evner i realtid. Disse rammer anvender en fælles strategi, der enten indebærer at omforme diffusion-processen med neurale differentialligninger eller reducere multi-trins diffusion-modeller til få trin eller endda ét trin. Selvom denne tilgang giver tilfredsstillende resultater, har den visse begrænsninger, herunder begrænset fleksibilitet og høje beregningsomkostninger.

På den anden side er StreamDiffusion en rørledningsniveau-løsning, der starter fra en orthogonal retning og forbedrer rammenes evne til at generere interaktive billeder i realtid, samtidig med at den sikrer høj gennemstrømning. StreamDiffusion anvender en simpel strategi, hvor støjnings-trinet ikke støjer det originale input, men batcher støjnings-trinet. Strategien tager inspiration fra asynkron bearbejdning, da rammen ikke behøver at vente på, at det første støjnings-trin er afsluttet, før den kan gå videre til det næste trin, som vist i følgende billede. For at tackle problemet med U-Net-bearbejdningssystemets frekvens og input-frekvens synkront, implementerer StreamDiffusion-rammen en kø-strategi til at cache input og output.

Selvom StreamDiffusion-rammen søger inspiration fra asynkron bearbejdning, er den unik på sin egen måde, da den implementerer GPU-parallellisme, der tillader rammen at anvende en enkelt UNet-komponent til at støje en batchet støj-læt funktion. Desuden lægger eksisterende diffusion-baserede rørledninger vægt på de givne prompt i de genererede billeder ved at inkorporere klassifikator-fri vejledning, som resultat heraf er de nuværende rørledninger udstyret med redundant og excessiv beregnings-overhead. For at sikre, at StreamDiffusion-rørledningen ikke møder de samme problemer, implementerer den en innovativ RCFG- eller Residual Klassifikator-Fri-Vejledning-tilgang, der anvender en virtuel rest-støj til at approksimere de negative betingelser, og tillader rammen at beregne de negative støj-betingelser i de tidlige faser af processen selv. Desuden reducerer StreamDiffusion-rørledningen også de beregningskrav til en traditionel diffusion-rørledning ved at implementere en stokastisk lignings-filter-strategi, der bestemmer, om rørledningen skal bearbejde input-billederne ved at beregne ligningen mellem kontinuerlige input.

StreamDiffusion-rammen er bygget på erfaringerne fra diffusion-modeller og acceleration-diffusion-modeller.

Diffusion-modeller er kendt for deres exceptionelle billed-genererings-evner og det niveau af kontrol, de tilbyder. Takket være deres evner har diffusion-modeller fundet anvendelse i billed-redigering, tekst-til-billede-generering og video-generering. Desuden har udviklingen af konsistente modeller demonstreret potentialet for at forbedre prøve-bearbejdningseffektiviteten uden at gå på kompromis med billedkvaliteten, hvilket har åbnet nye døre for at udvide anvendeligheden og effektiviteten af diffusion-modeller ved at reducere antallet af prøve-trin. Selvom ekstremt kapable, har diffusion-modeller en betydelig begrænsning: langsom billed-generering. For at tackle denne begrænsning introducerede udviklere accelererede diffusion-modeller, diffusion-baserede rammer, der ikke kræver ekstra trænings-trin eller implementerer predictor-korrektor-strategier og adaptive trin-størrelse-løsere for at øge output-hastigheden.

Det, der adskiller StreamDiffusion fra traditionelle diffusion-baserede rammer, er, at mens den sidste fokuserer primært på lav latency for enkelt-modeller, introducerer den førstnævnte en pipeline-niveau-tilgang designet til at opnå høj gennemstrømning og effektiv interaktiv diffusion.

StreamDiffusion: Arbejds- og arkitektur

StreamDiffusion-rørledningen er en realtids-diffusion-rørledning udviklet til at generere interaktive og realistiske billeder, og den anvender 6 nøgle-komponenter, nemlig RCFG eller Residual Klassifikator-Fri-Vejledning, Stream Batch-strategi, Stokastisk Lignings-Filter, en input-output-kø, model-acceleration-værktøjer med auto-encoder, og en for-beregnings-procedure. Lad os tale om disse komponenter i detaljer.

Stream Batch-strategi

Traditionelt udføres støjnings-trinnene i en diffusion-model sekventielt, hvilket resulterer i en betydelig øgning af U-Net-bearbejdningstiden i forhold til antallet af bearbejdningstrin. Imidlertid er det nødvendigt at øge antallet af bearbejdningstrin for at generere høj-kvalitets-billeder, og StreamDiffusion-rammen introducerer Stream Batch-strategien for at overvinde høj-latency-løsninger i interaktive diffusion-rammer.

I Stream Batch-strategien omstruktureres de sekventielle støjnings-operationer til batch-behandling, hvor hver batch svarer til et forudbestemt antal støjnings-trin, og antallet af disse støjnings-trin bestemmes af batch-størrelsen. Takket være denne tilgang kan hver komponent i batchen gå ét trin videre ved hjælp af en enkelt pas-gennem UNet i støjnings-sekvensen. Ved at implementere Stream Batch-strategien iterativt kan input-billederne, der er kodet ved tidsrum “t”, omformes til deres respektive billed-til-billed-resultater ved tidsrum “t+n”, og dermed strømlinje-støjnings-processen.

Residual Klassifikator-Fri-Vejledning

CFG eller Klassifikator-Fri-Vejledning er en AI-algoritme, der udfører en række vektor-beregninger mellem den originale betingelses-term og en negativ betingelses- eller ubetinget term for at forbedre effekten af den originale betingelse. Algoritmen styrker effekten af prompten, selvom det er nødvendigt at parre enkelt-input-læt-variable med negativ betingelses-embedding og derefter sende embeddingerne gennem UNet ved reference-tidspunkt.

For at tackle dette problem, som er forbundet med Klassifikator-Fri-Vejledning-algoritmen, introducerer StreamDiffusion-rammen Residual Klassifikator-Fri-Vejledning-algoritmen med det formål at reducere beregnings-omkostningerne for ekstra UNet-interferens for negativ betingelses-embedding. Først overføres den kodede latente input til støj-fordelingen ved hjælp af værdier bestemt af støj-scheduleren. Når den latente konsistens-model er implementeret, kan algoritmen forudsige data-fordelingen og anvende CFG-rest-støj til at generere den næste støj-for-delings-for-deling.

Input-Output-Kø

Det primære problem med høj-hastigheds-billed-genererings-rammer er deres neurale netværks-moduler, herunder UNet- og VAE-komponenterne. For at maksimere effektiviteten og den samlede output-hastighed flytter billed-genererings-rammer processer som for- og efter-behandling af billeder, der ikke kræver yderligere behandling af neurale netværks-moduler, uden for rørledningen, hvorefter de behandles parallelt. Desuden, i forhold til håndtering af input-billedet, udføres bestemte operationer, herunder omformning af tensor-format, resizing af input-billeder og normalisering, af rørledningen omhyggeligt.

For at tackle uligheden i bearbejdningssystemets frekvenser mellem model-gennemstrømningen og den menneskelige input, integrerer rørledningen en input-output-kø-system, der muliggør effektiv parallelisering, som vist i følgende billede.

De behandlede input-tenorer køes metodisk for Diffusion-modeller, og under hver ramme henter modellen den seneste tensor fra input-køen og sender tensor til VAE-encoder, og dermed initierer billed-genererings-processen. Samtidig føres tensor-output fra VAE-decoder ind i output-køen. Til sidst overføres de behandlede billed-data til rendering-klienten.

Stokastisk Lignings-Filter

I scenarier, hvor billederne enten forbliver uændrede eller viser minimale ændringer uden en statisk omgivelse eller uden aktiv bruger-interaktion, føres input-billeder, der ligner hinanden, gentagne gange ind i UNet- og VAE-komponenterne. Den gentagne føring resulterer i generering af næsten identiske billeder og yderligere forbrug af GPU-resourcer. Desuden, i scenarier med kontinuerlige input, kan uændrede input-billeder dukke op lejlighedsvis. For at overvinde dette problem og undgå unødvendig ressource-forbrug, anvender StreamDiffusion-rørledningen en Stokastisk Lignings-Filter-komponent i sin rørledning. Stokastisk Lignings-Filter beregner først cosinus-ligningen mellem reference-billedet og input-billedet og anvender cosinus-lignings-scoren til at beregne sandsynligheden for at springe over efterfølgende UNet- og VAE-processer.

På basis af sandsynligheds-scoren beslutter rørledningen, om efterfølgende processer som VAE-kodning, VAE-dekodning og U-Net skal springes over eller ej. Hvis disse processer ikke springes over, gemmer rørledningen input-billedet på det tidspunkt og opdaterer samtidig reference-billedet til at blive brugt i fremtiden. Denne sandsynligheds-baserede spring-mekanisme tillader StreamDiffusion-rørledningen at fungere fuldt ud i dynamiske scenarier med lav inter-ramme-ligning, mens den i statiske scenarier fungerer med højere inter-ramme-ligning. Tilgangen hjælper med at bevare beregnings-resourcerne og sikre optimal GPU-anvendelse baseret på ligningen af input-billederne.

For-beregnings-procedure

UNet-arkitekturen kræver både betingelses-embeddings og input-læt-variable. Traditionelt er betingelses-embeddings afledt fra prompt-embeddings, der forbliver konstant over rammer. For at optimere afledningen fra prompt-embeddings, har StreamDiffusion-rørledningen for-beregnet disse prompt-embeddings og gemt dem i en cache, som derefter kan kalde i streaming- eller interaktiv tilstand. Inden for UNet-rammen beregnes nøgle-værdi-par på basis af hver rammes for-beregnet prompt-embedding, og med små ændringer i U-Net kan disse nøgle-værdi-par genanvendes.

Model-Acceleration og Tiny Auto-Encoder

StreamDiffusion-rørledningen anvender TensorRT, et optimerings-værktøj fra Nvidia (NVDA ) til dyb-læring-grænseflader, til at konstruere VAE- og UNet-motorer, for at accelerere inferens-hastigheden. For at opnå dette udfører TensorRT-komponenten flere optimeringer på neurale netværk, der er designet til at forbedre effektiviteten og øge gennemstrømningen for dyb-læring-rammer og -applikationer.

For at optimere hastighed konfigurerer StreamDiffusion-rammen rammen til at anvende faste input-dimensioner og statiske batch-størrelser for at sikre optimalt hukommelses-allokering og beregnings-grafer for en bestemt input-størrelse i et forsøg på at opnå hurtigere bearbejdningstider.

Figuren ovenfor giver en oversigt over inferens-rørledningen. Den centrale diffusion-rørledning indeholder UNet- og VAE-komponenterne. Rørledningen inkorporerer en støjnings-batch, en sampled støj-cache, en for-beregnet prompt-embedding-cache og en scheduler-værdi-cache for at forbedre hastigheden og rørledningens evne til at generere billeder i realtid. Den Stokastisk Lignings-Filter eller SSF er deployeret for at optimere GPU-anvendelse og også for at styre passagen af diffusion-modellen dynamisk.

StreamDiffusion: Eksperimenter og resultater

For at evaluere dets evner er StreamDiffusion-rørledningen implementeret på LCM- og SD-turbo-rammer. TensorRT fra Nvidia anvendes som model-accelerator, og for at muliggøre let-effektiv VAE, anvender rørledningen TAESD-komponenten. Lad os nu se, hvordan StreamDiffusion-rørledningen performer i sammenligning med nuværende state-of-the-art-rammer.

Kvantitativ evaluering

Figuren nedenfor demonstrerer effektivitets-sammenligningen mellem den originale sekventielle UNet og støjnings-batch-komponenterne i rørledningen, og som det kan ses, hjælper implementeringen af støjnings-batch-tilgangen med at reducere bearbejdningstiden betydeligt, næsten 50%, i sammenligning med traditionelle UNet-løkker ved sekventielle støjnings-trin.

Desuden viser den gennemsnitlige inferens-tid ved forskellige støjnings-trin også en betydelig boost med forskellige hastigheds-faktorer i sammenligning med nuværende state-of-the-art-rammer, og resultaterne demonstreres i følgende billede.

StreamDiffusion-rørledningen med RCFG-komponenten demonstrerer lavere inferens-tid i sammenligning med rørledninger, der inkluderer den traditionelle CFG-komponent.

Desuden er effekten af at anvende RCFG-komponenten tydelig i følgende billeder i sammenligning med at anvende CFG-komponenten.

Som det kan ses, intensiverer anvendelsen af CFG effekten af den tekstuelle prompt i billed-generering, og billedet ligner input-prompten meget mere i sammenligning med billederne genereret af rørledningen uden at anvende CFG-komponenten. Resultaterne forbedres yderligere med anvendelsen af RCFG-komponenten, da effekten af prompten på de genererede billeder er betydelig i sammenligning med den originale CFG-komponent.

Afsluttende tanker

I denne artikel har vi talt om StreamDiffusion, en realtids-diffusion-rørledning udviklet til at generere interaktive og realistiske billeder, og som løser de nuværende begrænsninger for diffusion-baserede rammer i opgaver, der involverer kontinuerlig input. StreamDiffusion er en simpel og innovativ tilgang, der transformerer den sekventielle støjning af det originale billede til batch-støjning. StreamDiffusion har til formål at aktivere høj gennemstrømning og flydende strømme ved at eliminere den traditionelle vent-og-interager-metode, der anvendes af nuværende diffusion-baserede rammer. De potentielle effektivitets-gevinster understreger potentialet for StreamDiffusion-rørledningen til kommercielle applikationer, der tilbyder høj-præstations-beregning og overbevisende løsninger for generativ AI.

En ingeniør af profession, en forfatter af hjerte. Kunal er en teknisk forfatter med en dyb kærlighed og forståelse af AI og ML, dedikeret til at forenkle komplekse koncepter inden for disse felter gennem sin engagerende og informative dokumentation.