AI-værktøjer 101
Flux af Black Forest Labs: Det næste spring 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 staat-af-kunst-modeller, der lover at omdefinere evnen til AI-genereret billeddannelse. Men repræsenterer Flux virkelig et spring fremad i feltet, og hvordan sammenligner det med branchens ledere som Midjourney? Lad os dykke dybt ind i Flux-verdenen og udforske dens potentiale til at forme fremtiden for AI-genereret kunst og medier.
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 staat-af-kunst-generative dybe læringmodeller for medier som billeder og videoer, samtidig med at de udvider grænserne for kreativitet, effektivitet og diversitet.
Præsentation af Flux-modelfamilien
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 topkvalitet i billedegenskab med overlegen prompt-overholdelse, visuel kvalitet, billeddetaljer og outputdiversitet. Tilgængelig via en API, er det positioneret som det premiumvalg for professionel og virksomhedsbrug.
- FLUX.1 [dev]: En åben-vægt, vejlednings-destilleret model til ikke-kommercielle formål. Den er designet til at opnå lignende kvalitet og prompt-overholdelsesevner som pro-versionen, samtidig med at den er mere effektiv.
- FLUX.1 [schnell]: Den hurtigste model i suitten, optimeret til lokal udvikling og personligt brug. Den er åbenlyst 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 evner i tekst-rendering, komplekse kompositioner og detaljerede objekt-skapelse, samtidig med at de viser dens potentiale for kreativ og unik billedegenskab.
Teknisk innovation bag Flux
I hjertet af Flux’s imponerende evner ligger en række tekniske innovationer, der adskiller det fra dets forgængere og samtidige:
Transformer-drevne Flow-modeller i stort omfang
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 staat-af-kunst-diffusionsmodeller 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, hvor diffusionsmodeller er en specialtilfælde inden for denne bredere tilgang.
For at forbedre modelpræstationen og hardwareffektiviteten har Black Forest Labs integreret rotary positionelle indlejring og parallele attention-lag. Disse teknikker giver mulighed for bedre håndtering af rummelige relationer i billeder og mere effektiv behandling af storskala-data.
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 tekstuel og visuel information, 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 diffusionsmodeller og andre generative teknikker, hvilket potentielt kan føre til mere robust og fleksibel billedegenskab.
- Rotary positionelle indlejring: Disse indlejring hjælper modellen med bedre at forstå og opretholde rummelige relationer inden for billeder, hvilket er afgørende for at generere sammenhængende og detaljerede visuel indhold.
- Parallele attention-lag: 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 diverse output.
Benchmarking Flux: En ny standard i billeddannelse
Black Forest Labs hævder, at FLUX.1 sætter nye standarder for billeddannelse, 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 prompterne mere nøjagtigt, genererer billeder, der mere præcist reflekterer brugerens intentioner.
- Størrelse/Aspekt-variabilitet: Flux understøtter en bred vifte af aspekter 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 udfordring for mange tekst-til-billede-modeller.
- Output-diversitet: Flux er specifikt finjusteret til at bevare den fulde output-diversitet fra fortræning, og tilbyder en bred 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:
Billedekvalitet 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 parameterantal, 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. Dog er den subjektive natur af kunst svær at fastslå overlegenhet i dette område. Brugere kan finde, at hver model har sine styrker i forskellige stilarter eller typer af billeder.
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 på givne prompts. Dette kan resultere i genererede billeder, der mere nøjagtigt reflekterer 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, samtidig med at det 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 måske have brug for tid til at udvikle lignende tilgængelige interfaces. Dog kan den åbne kilde-natur af FLUX.1 [schnell] og [dev]-modellerne føre til en bred vifte af community-udviklede værktøjer og integrationer, potentielt overgående Midjourney i fleksibilitet og tilpasningsmuligheder.
Teknisk kapacitet
Flux’s avancerede arkitektur og større modelstørrelse antyder, at det måske har 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 bred vifte af opgaver og generere mere diverse output.
Etiske overvejelser og bias-mindskning
Både Flux og Midjourney står over for udfordringen med at adressere etiske bekymringer i AI-genereret billeddannelse, såsom bias, misinformations- og ophavsretsproblemer. Black Forest Labs’ fokus på gennemsigtighed 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 udrulning
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
# Indlæs modellen
pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-dev", torch_dtype=torch.bfloat16)
# Aktiver CPU-offloading til at spare VRAM (valgfrit)
pipe.enable_model_cpu_offload()
# Generer et billede
prompt = "En kat, der holder et skilt, der siger hej verden"
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]
# Gem det genererede billede
image.save("flux-dev.png")
Dette kodeeksempel demonstrerer, hvordan du kan indlæse FLUX.1 [dev]-modellen, generere et billede fra en tekstprompt og gemme resultatet.
Udrulning af Flux som en API med LitServe
Til dem, der søger at udrulle Flux som en skalerbar API-tjeneste, tilbyder Black Forest Labs et eksempel med LitServe, en højpræstations-inferensmotor. Her er en gennemgang af udrulningsprocessen:
Definer modelserveren:
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
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)
# Quantisér til 8-bit for at kunne køre på mindre kraftfuld hardware
quantize(transformer, weights=qfloat8)
freeze(transformer)
quantize(text_encoder_2, weights=qfloat8)
freeze(text_encoder_2)
# 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()
def decode_request(self, request):
return request["prompt"]
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
def encode_response(self, image):
buffered = BytesIO()
image.save(buffered, format="PNG")
return Response(content=buffered.getvalue(), headers={"Content-Type": "image/png"})
# Start serveren
if __name__ == "__main__":
api = FluxLitAPI()
server = ls.LitServer(api, timeout=False)
server.run(port=8000)
Dette kodeeksempel sætter op en LitServe-API for Flux, herunder modelindlæsning, anmodningshåndtering, billedegenerering og respons-kodning.
Start serveren:
python server.py
Brug modellen via API’en:
Du kan teste API’en ved hjælp af et simpelt klient-script:
import requests
import json
url = "http://localhost:8000/predict"
prompt = "en robot sidder i en stol og maler et billede på en staffeli af en futuristisk by, popkunst"
response = requests.post(url, json={"prompt": prompt})
with open("generated_image.png", "wb") as f:
f.write(response.content)
print("Billede genereret og gemt som generated_image.png")
Nøglefunktioner i udrulningen
- Serverless-arkitektur: LitServe-opstillingen giver mulighed for skalerbar, serverless udrulning, der kan skaleres ned til zero, når den ikke er i brug.
- Privat API: Du kan udrulle 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, moodboards og visuelle inspirationer.
- Marketing og reklame: Markedsførere kan generere brugerdefinerede visuelle til kampagner, sociale medie-indhold og produktmockups med usædvanlig hastighed og kvalitet.
- Spiludvikling: Spildesignere kan bruge Flux til at hurtigt prototypere miljøer, karakterer og aktiver, hvilket strømliner forproduktionsprocessen.
- Arkitektur og indretningsdesign: Arkitekter og designere kan generere realistiske visualiseringer af rum og strukturer baseret på tekstbeskrivelser.
- Uddannelse: Undervisere kan generere brugerdefinerede visuelle hjælpemidler og illustrationer til at forbedre læringsmateriale og gøre komplekse koncepter mere tilgængelige.
- Film og animation: Storyboard-kunstnere og animatører kan bruge Flux til at hurtigt visualisere scener og karakterer, hvilket accelererer forproduktionsprocessen.
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 blot er et selvstændigt produkt, men en del af en bredere økosystem af generative AI-værktøjer. Da teknologien udvikler sig, kan vi forvente at se:
- Forbedret integration: Udvikling af sammenhængende arbejdsgange mellem tekst-til-billede- og tekst-til-video-generering, der giver mulighed for mere kompleks og dynamisk indholdsskabelse.
- Forbedret tilpasning: Mulighed for mere finmasket kontrol over det genererede indhold, muligvis gennem avancerede prompt-engineering-teknikker eller intuitive brugergrænseflader.
- Real-time-generering: Da modeller som FLUX.1 [schnell] fortsætter med at forbedres, kan vi måske se real-time-billedegenerering, der kan revolutionere live-indholdsskabelse og interaktive medier.
- TVÆR-modalgenerering: Evnen til at generere og manipulere indhold på tværs af multiple modaliteter (tekst, billede, video, lyd) på en sammenhængende og integreret måde.
- Etisk AI-udvikling: Fortsat fokus på udvikling af AI-modeller, der ikke blot er kraftfulde, men også ansvarlige og etisk lydefaste.
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 frontlinjen for 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ærdifuld for udviklere og forskere.
Midjourney har på den anden side 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 interface har gjort det meget tilgængeligt for kreative af alle tekniske niveauer.
Det endelige “bedre” model kan afhænge af det specifikke brugsområde, personlige præferencer og de udviklende evner i hver platform. Det, der er klart, er, at Flux repræsenterer et betydeligt spring fremad i generativ AI, introducerer innovative teknikker og udvider grænserne for, hvad der er muligt i tekst-til-billede-syntese.















