AI-værktøjer 101
Flux af Black Forest Labs: Det næste skridt i tekst-til-billede-modeller. Er det bedre end Midjourney?
Black Forest Labs, det team bag den banebrydende Stable Diffusion-model, har udgivet Flux – en samling af state-of-the-art-modeller, der lover at redefine kapaciteterne for AI-genereret billedmateriale. Men repræsenterer Flux virkelig et skridt fremad i feltet, og hvordan står det i forhold til branchens ledere som Midjourney? Lad os dykke dybt ind i Flux-verdenen og udforske dets potentiale til at forme fremtiden for AI-genereret kunst og medie.
Black Forest Labs’ fødsel
Black Forest Labs er ikke bare endnu et AI-startup; det er en kraftcenter for talent med en track record for udvikling af grundlæggende generative AI-modeller. Teamet inkluderer skaberne af VQGAN, Latent Diffusion og Stable Diffusion-familien af modeller, der har taget AI-kunstverdenen med storm.
Med en succesfuld Series Seed-finansieringsrunde på $31 millioner ledet af Andreessen Horowitz og støtte fra bemærkelsesværdige engel-investorer, har Black Forest Labs positioneret sig selv i frontlinjen for generativ AI-forskning. Deres mission er klar: at udvikle og avancere state-of-the-art generative dybde-læringsmodeller for medier som billeder og videoer, mens de udvider grænserne for kreativitet, effektivitet og diversitet.
Introduktion til Flux Model-familien
Black Forest Labs har introduceret FLUX.1-suitten af tekst-til-billede-modeller, designet til at sætte nye standarder for billeddetaljer, prompt-overholdelse, stildiversitet og scenekompleksitet. Flux-familien består af tre varianter, hver tilpasset forskellige brugsområder og tilgængelighedsniveauer:
- FLUX.1 [pro]: Flagskibet, der tilbyder top-kvalitet i billedgenerering med overlegen prompt-overholdelse, visuel kvalitet, billeddetaljer og output-diversitet. Tilgængelig via en API, er det positioneret som det premium-valg for professionel og virksomhedsbrug.
- FLUX.1 [dev]: En åben-vægts, vejlednings-destilleret model for ikke-kommercielle anvendelser. Den er designet til at opnå lignende kvalitet og prompt-overholdelsesevner som pro-versionen, mens den er mere effektiv.
- FLUX.1 [schnell]: Den hurtigste model i suitten, optimeret til lokal udvikling og personligt brug. Den er åbent tilgængelig under en Apache 2.0-licens, hvilket gør den tilgængelig for en bred vifte af anvendelser og eksperimenter.
Jeg vil give nogle unikke og kreative prompt-eksempler, der viser FLUX.1’s kapaciteter. Disse prompts vil højligte modellens styrker i håndtering af tekst, komplekse kompositioner og detaljerede objekter, såvel som udfordrende elementer som hænder.
- Kunstnerisk stil-blending med tekst: “Opret et portræt af Vincent van Gogh i hans signaturstil, men erstattede hans skæg med svirpande penselstrøg, der danner ordene ‘Starry Night’ i skrift.
- Dynamisk handlingsscene med tekst-integration: “En superhelt, der bryder igennem en tegneserie-side. Handlingens linjer og lydeffekter skal danne heltenavnet ‘FLUX FORCE’ i fed, dynamisk typografi.”
- Surrealistisk koncept med præcis objektplacering: “Tæt på et sødt kat med brunt og hvidt under vindueslys. Skarp fokus på øjetekstur og farve. Naturligt lys til at fange ægte øjeglans og dybde.”
Disse prompts er designet til at udfordre FLUX.1’s kapaciteter i tekst-rendering, komplekse scenekompositioner og detaljerede objektoprettelse, mens de også viser dets potentiale for kreativ og unik billedgenerering.
Teknisk innovation bag Flux
I hjertet af Flux’s imponerende kapaciteter ligger en række tekniske innovationer, der adskiller det fra sine forgængere og samtidige:
Transformer-drevne Flow-modeller i stor skala
Alle offentlige FLUX.1-modeller er bygget på en hybridarkitektur, der kombinerer multimodale og parallele diffusionstransformer-blokke, skaleret op til imponerende 12 milliarder parametre. Dette repræsenterer et betydeligt spring i modelstørrelse og kompleksitet i forhold til mange eksisterende tekst-til-billede-modeller.
Flux-modellerne forbedrer tidligere state-of-the-art diffusion-modeller ved at inkorporere flow-matching, en generel og konceptuelt enkel metode til træning af generative modeller. Flow-matching giver en mere fleksibel ramme for generativ modeling, med diffusion-modeller som en specialtilfælde inden for denne bredere tilgang.
For at forbedre modelpræstationen og hardwareffektiviteten har Black Forest Labs integreret rotary positionelle indlejninger og parallele attentionslag. Disse teknikker giver mulighed for bedre håndtering af rumlige relationer i billeder og mere effektiv behandling af store datamængder.
Arkitektoniske innovationer
Lad os bryde nogle af de nøglearkitektoniske elementer ned, der bidrager til Flux’s præstation:
- Hybridarkitektur: Ved at kombinere multimodale og parallele diffusionstransformer-blokke kan Flux effektivt behandle både tekstuelle og visuelle oplysninger, hvilket fører til bedre alignment mellem prompts og genererede billeder.
- Flow-matching: Denne tilgang giver mulighed for mere fleksibel og effektiv træning af generative modeller. Den giver en samlet ramme, der omfatter diffusion-modeller og andre generative teknikker, hvilket potentielt kan føre til mere robust og alsidig billedgenerering.
- Rotary positionelle indlejninger: Disse indlejninger hjælper modellen med at bedre forstå og opretholde rumlige relationer inden for billeder, hvilket er afgørende for generering af kohærent og detaljeret visuel indhold.
- Parallele attentionslag: Denne teknik giver mulighed for mere effektiv behandling af attention-mekanismer, der er kritiske for at forstå relationer mellem forskellige elementer i både tekst-prompts og genererede billeder.
- Skalering til 12B parametre: Den rene størrelse af modellen giver mulighed for at fange og syntetisere mere komplekse mønstre og relationer, hvilket potentielt kan føre til højere kvalitet og mere divers output.
Benchmarking Flux: En ny standard i billedsynthese
Black Forest Labs hævder, at FLUX.1 sætter nye standarder for billedsynthese, overgående populære modeller som Midjourney v6.0, DALL·E 3 (HD) og SD3-Ultra på flere nøgleområder:
- Visuel kvalitet: Flux sigter mod at producere billeder med højere troværdighed, mere realistiske detaljer og bedre overordnet æstetik.
- Prompt-overholdelse: Modellen er designet til at overholde givne tekst-prompts mere nøjagtigt, genererende billeder, der mere præcist matcher brugerens intentioner.
- Størrelse/forhold-variabilitet: Flux understøtter en bred vifte af billedforhold og opløsninger, fra 0,1 til 2,0 megapixels, og tilbyder fleksibilitet til forskellige brugsområder.
- Typografi: Modellen viser forbedrede evner i generering og rendering af tekst inden for billeder, et almindeligt problem for mange tekst-til-billede-modeller.
- Output-diversitet: Flux er specifikt finjusteret til at bevare hele output-diversiteten fra fortræning, og tilbyder en bredere vifte af kreative muligheder.
Flux vs. Midjourney: En sammenlignende analyse
Nu, lad os besvare den brændende spørgsmål: Er Flux bedre end Midjourney? For at besvare dette, må vi overveje flere faktorer:
Billedkvalitet og æstetik
Både Flux og Midjourney er kendt for at producere højkvalitets, visuelt imponerende billeder. Midjourney er blevet rost for sin kunstneriske flair og evne til at skabe billeder med en distinkt æstetisk appel. Flux, med sin avancerede arkitektur og større modelstørrelse, sigter mod at matche eller overgå dette niveau af kvalitet.
Tidlige eksempler fra Flux viser imponerende detaljer, realistiske teksturer og en stærk forståelse af lys og komposition. Men den subjektive natur af kunst gør det svært at definitivt fastslå overlegenhed på dette område. Brugere kan finde, at hver model har sine styrker i forskellige stilarter eller typer af billedmateriale.
Prompt-overholdelse
Et område, hvor Flux potentielt overgår Midjourney, er i prompt-overholdelse. Black Forest Labs har understreget deres fokus på at forbedre modellens evne til at nøjagtigt fortolke og udføre givne prompts. Dette kunne resultere i genererede billeder, der mere nøjagtigt matcher brugerens intentioner, især for komplekse eller nuancerede anmodninger.
Midjourney er blevet kritiseret for at tage kreative friheder med prompts, hvilket kan føre til smukke, men uventede resultater. Flux’s tilgang kan tilbyde mere præcis kontrol over det genererede output.
Hastighed og effektivitet
Med introduktionen af FLUX.1 [schnell] sigter Black Forest Labs mod en af Midjourneys nøglefordele: hastighed. Midjourney er kendt for sin hurtige genereringstid, hvilket har gjort det populært for iterative kreative processer. Hvis Flux kan matche eller overgå denne hastighed, mens den opretholder kvaliteten, kan det være et betydeligt salgsargument.
Tilgængelighed og brugervenlighed
Midjourney har vundet popularitet delvist på grund af sin brugervenlige interface og integration med Discord. Flux, værende nyere, kan have brug for tid til at udvikle lignende tilgængelige grænseflader. Men den åbne kilde-natur af FLUX.1 [schnell] og [dev]-modeller kan føre til en bred vifte af community-udviklede værktøjer og integrationer, potentielt overgående Midjourney i fleksibilitet og tilpasningsmuligheder.
Tekniske kapaciteter
Flux’s avancerede arkitektur og større modelstørrelse antyder, at det kan have mere rå kapacitet i forhold til at forstå komplekse prompts og generere intrikate detaljer. Flow-matching-tilgangen og hybridarkitekturen kan give Flux mulighed for at håndtere en bredere vifte af opgaver og generere mere diverse output.
Etiske overvejelser og bias-mitigation
Både Flux og Midjourney står over for udfordringen med at adressere etiske bekymringer i AI-genereret billedmateriale, såsom bias, misinformations- og ophavsretsproblemer. Black Forest Labs’ fokus på transparens og deres engagement i at gøre modellerne bredt tilgængelige kan potentielt føre til mere robust community-overvågning og hurtigere forbedringer på disse områder.
Kodeimplementering og deployment
Brug af Flux med Diffusers
Flux-modeller kan let integreres i eksisterende arbejdsgange ved hjælp af Hugging Face Diffusers-biblioteket. Her er en trin-for-trin vejledning til at bruge FLUX.1 [dev] eller FLUX.1 [schnell] med Diffusers:
- Først, installer eller opgrader Diffusers-biblioteket:
!pip install git+https://github.com/huggingface/diffusers.git
- Derefter kan du bruge
FluxPipelinetil at køre modellen:
import torch
from diffusers import FluxPipeline
<p># Indlæs modellen
pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-dev", torch_dtype=torch.bfloat16)</p>
<p># Aktiver CPU-offloading for at spare VRAM (valgfrit)
pipe.enable_model_cpu_offload()</p>
<p># Generer et billede
prompt = "En kat, der holder et skilt, der siger hello world"
image = pipe(
prompt,
height=1024,
width=1024,
guidance_scale=3.5,
output_type="pil",
num_inference_steps=50,
max_sequence_length=512,
generator=torch.Generator("cpu").manual_seed(0)
).images[0]</p>
<p># Gem det genererede billede
image.save("flux-dev.png")
Dette kode-eksempel demonstrerer, hvordan du kan indlæse FLUX.1 [dev]-modellen, generere et billede fra en tekst-prompt og gemme resultatet.
Deploying Flux som en API med LitServe
For dem, der søger at deployere Flux som en skalerbar API-tjeneste, tilbyder Black Forest Labs et eksempel med LitServe, en højpræstations-inferens-motor. Her er en gennemgang af deploymentsprocessen:
Definer model-serveren:
from io import BytesIO
from fastapi import Response
import torch
import time
import litserve as ls
from optimum.quanto import freeze, qfloat8, quantize
from diffusers import FlowMatchEulerDiscreteScheduler, AutoencoderKL
from diffusers.models.transformers.transformer_flux import FluxTransformer2DModel
from diffusers.pipelines.flux.pipeline_flux import FluxPipeline
from transformers import CLIPTextModel, CLIPTokenizer, T5EncoderModel, T5TokenizerFast
<p>class FluxLitAPI(ls.LitAPI):
def setup(self, device):
# Indlæs modelkomponenter
scheduler = FlowMatchEulerDiscreteScheduler.from_pretrained("black-forest-labs/FLUX.1-schnell", subfolder="scheduler")
text_encoder = CLIPTextModel.from_pretrained("openai/clip-vit-large-patch14", torch_dtype=torch.bfloat16)
tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14", torch_dtype=torch.bfloat16)
text_encoder_2 = T5EncoderModel.from_pretrained("black-forest-labs/FLUX.1-schnell", subfolder="text_encoder_2", torch_dtype=torch.bfloat16)
tokenizer_2 = T5TokenizerFast.from_pretrained("black-forest-labs/FLUX.1-schnell", subfolder="tokenizer_2", torch_dtype=torch.bfloat16)
vae = AutoencoderKL.from_pretrained("black-forest-labs/FLUX.1-schnell", subfolder="vae", torch_dtype=torch.bfloat16)
transformer = FluxTransformer2DModel.from_pretrained("black-forest-labs/FLUX.1-schnell", subfolder="transformer", torch_dtype=torch.bfloat16)</p>
<p># Quantize til 8-bit for at kunne køre på en L4 GPU
quantize(transformer, weights=qfloat8)
freeze(transformer)
quantize(text_encoder_2, weights=qfloat8)
freeze(text_encoder_2)</p>
<p># Initialiser Flux-pipeline
self.pipe = FluxPipeline(
scheduler=scheduler,
text_encoder=text_encoder,
tokenizer=tokenizer,
text_encoder_2=None,
tokenizer_2=tokenizer_2,
vae=vae,
transformer=None,
)
self.pipe.text_encoder_2 = text_encoder_2
self.pipe.transformer = transformer
self.pipe.enable_model_cpu_offload()</p>
<p>def decode_request(self, request):
return request["prompt"]</p>
<p>def predict(self, prompt):
image = self.pipe(
prompt=prompt,
width=1024,
height=1024,
num_inference_steps=4,
generator=torch.Generator().manual_seed(int(time.time())),
guidance_scale=3.5,
).images[0]
return image</p>
<p>def encode_response(self, image):
buffered = BytesIO()
image.save(buffered, format="PNG")
return Response(content=buffered.getvalue(), headers={"Content-Type": "image/png"})</p>
<p># Start serveren
if __name__ == "__main__":
api = FluxLitAPI()
server = ls.LitServer(api, timeout=False)
server.run(port=8000)</p>
Dette kode-eksempel sætter op en LitServe-API for Flux, herunder model-indlæsning, anmodningshåndtering, billedgenerering og svar-kodning.
Start serveren:
</pre> python server.py <pre>
Brug modellen API:
Du kan teste API’en ved hjælp af et simpelt klient-script:
import requests
import json
<p>url = "http://localhost:8000/predict"
prompt = "en robot, der sidder i en stol og maler et billede på en staffeli af en futuristisk byudsigt, pop-kunst"</p>
<p>response = requests.post(url, json={"prompt": prompt})
with open("generated_image.png", "wb") as f:
f.write(response.content)</p>
<p>print("Billede genereret og gemt som generated_image.png")</p>
Nøglefunktioner i deploymenten
- Serverless-arkitektur: LitServe-opstillingen giver mulighed for skalerbar, serverless deployment, der kan skaleres ned til zero, når den ikke er i brug.
- Privat API: Du kan deployere Flux som en privat API på din egen infrastruktur.
- Multi-GPU-understøttelse: Opstillingen er designet til at fungere effektivt på tværs af multiple GPU’er.
- Quantisering: Koden demonstrerer, hvordan du kan quantisere modellen til 8-bit præcision, hvilket giver mulighed for at køre den på mindre kraftfuld hardware som NVIDIA L4 GPU’er.
- CPU-offloading:
enable_model_cpu_offload()-metoden bruges til at spare GPU-hukommelse ved at offloade dele af modellen til CPU, når den ikke er i brug.
Praktiske anvendelser af Flux
Flux’s fleksibilitet og kraft åbner op for en bred vifte af potentielle anvendelser på tværs af forskellige brancher:
- Kreative brancher: Grafiske designere, illustratører og kunstnere kan bruge Flux til at generere konceptkunst, mood boards og visuelle inspirationer med usædvanlig hastighed.
- Marketing og reklame: Markedsførere kan oprette brugerdefinerede visuelle elementer til kampagner, sociale medie-indhold og produkt-mockups med usædvanlig hastighed og kvalitet.
- Spiludvikling: Spildesignere kan bruge Flux til at hurtigt prototypere miljøer, karakterer og assets, hvilket strømliner forproduktionsprocessen.
- Arkitektur og indretningsdesign: Arkitekter og designere kan generere realistiske visualiseringer af rum og strukturer baseret på tekstbeskrivelser.
- Uddannelse: Undervisere kan oprette brugerdefinerede visuelle hjælpemidler og illustrationer til at forbedre læringsmaterialet og gøre komplekse begreber mere tilgængelige.
- Film og animation: Storyboard-kunstnere og animatører kan bruge Flux til at hurtigt visualisere scener og karakterer, hvilket accelererer forvisualiseringsprocessen.
Fremtiden for Flux og tekst-til-billede-generering
Black Forest Labs har gjort det klart, at Flux kun er begyndelsen på deres ambitioner inden for generativ AI. De har annonceret planer om at udvikle konkurrencedygtige generative tekst-til-video-systemer, der lover præcis skabelse og redigering på høj opløsning og usædvanlig hastighed.
Dette roadmap antyder, at Flux ikke er et selvstændigt produkt, men en del af et bredere økosystem af generative AI-værktøjer. Da teknologien udvikler sig, kan vi forvente at se:
- Forbedret integration: Uendelige arbejdsgange mellem tekst-til-billede- og tekst-til-video-generering, hvilket giver mulighed for mere kompleks og dynamisk indholdsskabelse.
- Forbedret tilpasning: Mere finmasket kontrol over genereret indhold, muligvis gennem avancerede prompt-teknikker eller brugervenlige grænseflader.
- Real-time-generering: Da modeller som FLUX.1 [schnell] fortsætter med at forbedre sig, kan vi se real-time-billedgenereringskapaciteter, der kan revolutionere live-indholdsskabelse og interaktive medier.
- TVÆR-modalsk generering: Evnen til at generere og manipulere indhold på tværs af multiple modaliteter (tekst, billede, video, lyd) på en samlet og integreret måde.
- Etisk AI-udvikling: Fortsat fokus på at udvikle AI-modeller, der ikke kun er kraftfulde, men også ansvarlige og etisk lydige.
Konklusion: Er Flux bedre end Midjourney?
Spørgsmålet om, hvorvidt Flux er “bedre” end Midjourney, kan ikke let besvares med et enkelt ja eller nej. Begge modeller repræsenterer den absolutte toppen af tekst-til-billede-genereringsteknologi, hver med sine unikke styrker og karakteristika.
Flux, med sin avancerede arkitektur og fokus på prompt-overholdelse, kan tilbyde mere præcis kontrol og potentielt højere kvalitet i visse scenarier. Dets åbne kilde-variationer giver også mulighed for tilpasning og integration, der kan være meget værdifulde for udviklere og forskere.
Midjourney har en bevist track record, en stor og aktiv brugerbase og en distinkt kunstnerisk stil, som mange brugere er kommet til at elske. Dets integration med Discord og brugervenlige grænseflade har gjort det meget tilgængeligt for kreative af alle tekniske færdighedsniveauer.
Det endelige “bedre” model kan afhænge af det specifikke brugsområde, personlige præferencer og de udviklende kapaciteter for hver platform. Det, der er klart, er, at Flux repræsenterer et betydeligt skridt fremad i generativ AI, introducerer innovative teknikker og presser grænserne for, hvad der er muligt i tekst-til-billede-syntese.


















