AI-verktøy 101

Flux fra Black Forest Labs: Det neste skrittet i tekst-til-bilde-modeller. Er det bedre enn Midjourney?

mm
Legg til Unite.AI blant dine foretrukne kilder på Google
Black Forest Labs Open-Source FLUX.1: A 12 Billion Parameter Transformer Capable of Generating Images

Black Forest Labs, teamet bak den banebrytende Stable Diffusion-modellen, har lansert Flux – en samling av state-of-the-art-modeller som lover å omdefinere kapasitetene til AI-generert bilde. Men representerer Flux virkelig et sprang fremover i feltet, og hvordan stiller det seg i forhold til bransjeledere som Midjourney? La oss dykke dypt inn i verden av Flux og utforske dens potensiale til å forme fremtiden for AI-generert kunst og media.

Fødselen av Black Forest Labs

Black Forest Labs er ikke bare en annen AI-startup; det er en kraftsentral med talent og en rekord for å utvikle grunnleggende generative AI-modeller. Teamet inkluderer skaperne av VQGAN, Latent Diffusion og Stable Diffusion-familien av modeller som har tatt AI-kunstverdenen med storm.

Black Forest Labs Open-Source FLUX.1

Black Forest Labs Open-Source FLUX.1

Med en suksessfull Series Seed-finansieringsrunde på 31 millioner dollar ledet av Andreessen Horowitz og støtte fra bemerkelsesverdige engel-investorer, har Black Forest Labs posisjonert seg selv i forkant av generativ AI-forskning. Deres misjon er klar: å utvikle og fremme state-of-the-art generative dybde-læringsmodeller for media som bilder og videoer, samtidig som de presser grensene for kreativitet, effisiens og mangfold.

Introduksjon av Flux-modellfamilien

Black Forest Labs har introdusert FLUX.1-suitten av tekst-til-bilde-modeller, designet for å sette nye standarder for bilde-detall, prompt-efterlevelse, stil-mangfold og scene-kompleksitet. Flux-familien består av tre varianter, hver tilpasset forskjellige bruksområder og tilgjengelighetsnivåer:

  1. FLUX.1 [pro]: Flaggskipet, som tilbyr topp-kvalitet i bilde-generering med overlegen prompt-efterlevelse, visuell kvalitet, bilde-detall og utgangs-mangfold. Tilgjengelig gjennom en API, er det posisjonert som det premium-valget for profesjonell og bedriftsbruk.
  2. FLUX.1 [dev]: En åpen-vekt, veilednings-destillert modell for ikke-kommersielle anvendelser. Den er designet for å oppnå lignende kvalitet og prompt-efterlevelse-egenskaper som pro-versjonen, samtidig som den er mer effektiv.
  3. FLUX.1 [schnell]: Den raskeste modellen i suitten, optimalisert for lokal utvikling og personlig bruk. Den er åpenbart tilgjengelig under en Apache 2.0-lisens, noe som gjør den tilgjengelig for en rekke anvendelser og eksperimenter.

Jeg vil gi noen unike og kreative prompt-eksempler som viser FLUX.1s kapasiteter. Disse promptene vil høydepunkte modellens styrker i å håndtere tekst, komplekse komposisjoner og utfordrende elementer som hender.

  • Kunstnerisk stil-blanding med tekst: “Opprett et portrett av Vincent van Gogh i hans signatur-stil, men erstatt hans skjegg med svirrende penselstrøk som danner ordene ‘Starry Night’ i skrivestil.”
Black Forest Labs Open-Source FLUX.1

Black Forest Labs Open-Source FLUX.1

  • Dynamisk aksjon-scene med tekst-integrasjon: “En superhelt som bryter gjennom en tegneserie-side. Aksjonslinjene og lydeffektene skal danne heltenavnet ‘FLUX FORCE’ i fet, dynamisk typografi.”
Black Forest Labs Open-Source FLUX.1

Black Forest Labs Open-Source FLUX.1

  • Surrealistisk konsept med nøyaktig objekt-plassering: “Nærbilde av en søt katt med brune og hvite farger under vinduslys. Skarp fokus på øytekstur og farge. Naturlig lys for å fange autentisk øyegleam og dybde.”
Black Forest Labs Open-Source FLUX.1

Black Forest Labs Open-Source FLUX.1

Disse promptene er designet for å utfordre FLUX.1s kapasiteter i tekst-generering, kompleks scene-komposisjon og detaljert objekt-oppbygging, samtidig som de viser modellens potensiale for kreativ og unik bilde-generering.

Tekniske innovasjoner bak Flux

I hjertet av Flux’ imponerende kapasiteter ligger en rekke tekniske innovasjoner som skiller det fra sine forgjengere og samtids-modeller:

Transformer-drevne Flow-modeller i stor skala

Alle offentlige FLUX.1-modeller er bygget på en hybrid-arkitektur som kombinerer multimodale og parallele diffusjonstransformer-blokker, skalert opp til imponerende 12 milliarder parametre. Dette representerer et betydelig sprang i modell-størrelse og kompleksitet sammenlignet med mange eksisterende tekst-til-bilde-modeller.

Flux-modellene forbedrer tidligere state-of-the-art diffusjonsmodeller ved å inkorporere flow-matching, en generell og konseptuelt enkel metode for å trene generative modeller. Flow-matching gir en mer fleksibel ramme for generativ modellering, med diffusjonsmodeller som en spesialtilfelle innenfor denne bredere tilnærmingen.

For å forbedre modell-prestasjonene og håndtere maskinvaren effektivt, har Black Forest Labs integrert rotary-posisjons-embeddings og parallele oppmerksomhetslag. Disse teknikker tillater bedre håndtering av romlige relasjoner i bilder og mer effektiv prosessering av stor-skala data.

Arkitektoniske innovasjoner

La oss bryte ned noen av de viktigste arkitektoniske elementene som bidrar til Flux’ prestasjoner:

  1. Hybrid-arkitektur: Ved å kombinere multimodale og parallele diffusjonstransformer-blokker, kan Flux effektivt prosessere både tekstuell og visuell informasjon, noe som fører til bedre sammenligning mellom prompter og genererte bilder.
  2. Flow-matching: Denne tilnærmingen tillater mer fleksible og effektive trening av generative modeller. Den gir en samlet ramme som omfatter diffusjonsmodeller og andre generative teknikker, potensielt førende til mer robuste og fleksible bilde-generering.
  3. Rotary-posisjons-embeddings: Disse embeddings hjelper modellen til bedre å forstå og opprettholde romlige relasjoner innen bilder, noe som er avgjørende for å generere kohesive og detaljerte visuelle innhold.
  4. Parallele oppmerksomhetslag: Denne teknikken tillater mer effektiv prosessering av oppmerksomhetsmekanismer, som er kritiske for å forstå relasjoner mellom ulike elementer i både tekst-prompter og genererte bilder.
  5. Skalering til 12B parametre: Den enorme størrelsen på modellen tillater den å fange og syntetisere mer komplekse mønster og relasjoner, potensielt førende til høyere kvalitet og mer diverse utganger.

Benchmarking Flux: En ny standard i bilde-syntese

https://blackforestlabs.ai/announcing-black-forest-labs/

https://blackforestlabs.ai/announcing-black-forest-labs/

Black Forest Labs hevder at FLUX.1 setter nye standarder i bilde-syntese, overgående populære modeller som Midjourney v6.0, DALL·E 3 (HD) og SD3-Ultra i flere nøkkel-aspekter:

  1. Visuell kvalitet: Flux har som mål å produsere bilder med høyere trofasthet, mer realistiske detaljer og bedre overordnet estetisk appel.
  2. Prompt-efterlevelse: Modellen er designet for å følge gitt tekst-prompter nærmere, genererende bilder som mer nøyaktig reflekterer brukerens intensjoner, spesielt for komplekse eller nyanserte forespørsler.
  3. Størrelse/forhold-variabilitet: Flux støtter en rekke aspekt-forhold og oppløsninger, fra 0,1 til 2,0 megapiksler, og tilbyr fleksibilitet for ulike bruksområder.
  4. Typografi: Modellen viser forbedrede kapasiteter i generering og rendering av tekst innen bilder, en vanlig utfordring for mange tekst-til-bilde-modeller.
  5. Utgangs-mangfold: Flux er spesifikt finjustert for å bevare hele utgangs-mangfoldet fra fortrening, og tilbyr en bredere rekke kreative muligheter.

Flux vs. Midjourney: En sammenlignende analyse

https://blackforestlabs.ai/announcing-black-forest-labs/

Nå, la oss ta opp det brennende spørsmålet: Er Flux bedre enn Midjourney? For å svare på dette, må vi vurdere flere faktorer:

Bilde-kvalitet og estetikk

Både Flux og Midjourney er kjent for å produsere høykvalitets, visuelt slående bilder. Midjourney har blitt rost for sin kunstneriske flær og evne til å skape bilder med en distinkt estetisk appel. Flux, med sin avanserte arkitektur og større parameter-telling, har som mål å matche eller overgå dette kvalitetsnivået.

Tidlige eksempler fra Flux viser imponerende detaljer, realistiske teksturer og en sterk grep på lys og komposisjon. Imidlertid gjør den subjektive naturen til kunst det vanskelig å definitivt hevde overlegenhet i dette området. Brukere kan finne at hver modell har sine styrker i ulike stiler eller typer av bilde.

Prompt-efterlevelse

Et område hvor Flux potensielt overgår Midjourney er i prompt-efterlevelse. Black Forest Labs har betonet sin fokus på å forbedre modellens evne til å nøyaktig tolke og utføre gitt tekst-prompter. Dette kan resultere i genererte bilder som mer nøyaktig reflekterer brukerens intensjoner, spesielt for komplekse eller nyanserte forespørsler.

Midjourney har noen ganger blitt kritisert for å ta kreative friheter med prompter, noe som kan føre til vakre men uventede resultater. Flux’ tilnærming kan tilby mer presis kontroll over den genererte utgangen.

Hastighet og effisiens

Med introduksjonen av FLUX.1 [schnell] tar Black Forest Labs sikte på en av Midjourneys nøkkel-fortrinn: hastighet. Midjourney er kjent for sine raske genererings-tider, noe som har gjort det populært for iterative kreative prosesser. Hvis Flux kan matche eller overgå denne hastigheten samtidig som den opprettholder kvaliteten, kan det være et betydelig salgsargument.

Tilgjengelighet og brukervennlighet

Midjourney har vunnet popularitet delvis på grunn av sin brukervennlige grensesnitt og integrasjon med Discord. Flux, som er nyere, kan trenge tid til å utvikle lignende tilgjengelige grensesnitt. Imidlertid kan den åpne kilden til FLUX.1 [schnell] og [dev]-modellene føre til en rekke community-utviklede verktøy og integrasjoner, potensielt overgående Midjourney i forhold til fleksibilitet og tilpasningsmuligheter.

Tekniske kapasiteter

Flux’ avanserte arkitektur og større parameter-telling antyder at den kan ha mer rå kapasitet i forhold til å forstå komplekse prompter og generere intrikate detaljer. Flow-matching-tilnærmingen og hybrid-arkitekturen kan tillate Flux å håndtere en bredere rekke oppgaver og generere mer diverse utganger.

Etiske overveielser og bias-mitigering

Både Flux og Midjourney møter utfordringer i forhold til å håndtere etiske bekymringer i AI-generert bilde, som bias, desinformasjon og opphavsretts-problemer. Black Forest Labs’ fokus på åpenhet og deres forpliktelse til å gjøre modellene bredt tilgjengelige, kan potensielt føre til mer robust community-overvåking og raskere forbedringer i disse områdene.

Kode-implikasjon og deployering

Bruk av Flux med Diffusers

Flux-modeller kan lett integreres i eksisterende arbeidsflyter ved hjelp av Hugging Face Diffusers-biblioteket. Her er en steg-for-steg-guide for å bruke FLUX.1 [dev] eller FLUX.1 [schnell] med Diffusers:

  1. Først, installer eller oppgrader Diffusers-biblioteket:
!pip install git+https://github.com/huggingface/diffusers.git
  1. Deretter kan du bruke FluxPipeline for å kjøre modellen:
import torch
from diffusers import FluxPipeline

<p># Last inn modellen
pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-dev", torch_dtype=torch.bfloat16)</p>

<p># Aktiver CPU-offloading for å spare VRAM (valgfritt)
pipe.enable_model_cpu_offload()</p>

<p># Generer et bilde
prompt = "En katt som holder et skilt som sier hei 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]</p>

<p># Lagre det genererte bildet
image.save("flux-dev.png")

Dette kode-utdrag demonstrerer hvordan du kan laste inn FLUX.1 [dev]-modellen, generere et bilde fra en tekst-prompt og lagre resultatet.

Deployering av Flux som en API med LitServe

For de som ønsker å deployere Flux som en skalerbar API-tjeneste, tilbyr Black Forest Labs et eksempel med LitServe, en høy-ytelses-inferens-motor. Her er en gjennomgang av deployerings-prosessen:

Definer modell-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):
# Last inn modell-komponenter
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># Kvantifiser til 8-bit for å passe 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-utdrag setter opp en LitServe-API for Flux, inkludert modell-lastning, forespørsels-håndtering, bilde-generering og respons-koding.

Start serveren:

</pre>
python server.py
<pre>

Bruk modell-APIen:

Du kan teste APIen med et enkelt klient-skript:

import requests
import json

<p>url = "http://localhost:8000/predict"
prompt = "en robot som sitter i en stol og maler et bilde på en staffeli av en fremtidig by-landskap, 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("Bilde generert og lagret som generated_image.png")</p>

Nøkkel-egenskaper ved deployeringen

  1. Server-løs arkitektur: LitServe-oppssettet tillater skalerbar, server-løs deployering som kan skaleres ned til null når den ikke er i bruk.
  2. Privat API: Du kan deployere Flux som en privat API på din egen infrastruktur.
  3. Flere-GPU-støtte: Oppsettet er designet for å fungere effektivt over flere GPU-er.
  4. Kvantifisering: Koden demonstrerer hvordan du kan kvantifisere modellen til 8-bit-presisjon, noe som tillater den å kjøre på mindre kraftfulle maskiner som NVIDIA L4-GPU-er.
  5. CPU-offloading: enable_model_cpu_offload()-metoden brukes for å konservere GPU-minne ved å offloade deler av modellen til CPU når den ikke er i bruk.

Praktiske anvendelser av Flux

Flux’ fleksibilitet og kraft åpner opp en rekke potensielle anvendelser over ulike bransjer:

  1. Kreative industrier: Grafiske designere, illustratører og kunstnere kan bruke Flux til å raskt generere konsept-kunst, mood boards og visuelle inspirasjoner.
  2. Markedsføring og reklame: Markedsførere kan lage tilpassede visuelle for kampanjer, sosiale medier-innhold og produkt-mockups med utenforliggende hastighet og kvalitet.
  3. Spill-utvikling: Spill-designere kan bruke Flux til å raskt prototypere miljøer, karakterer og assets, og strømlinje for-produksjons-prosessen.
  4. Arkitektur og interiør-design: Arkitekter og designere kan generere realistiske visualiseringer av rom og strukturer basert på tekst-beskrivelser.
  5. Utdanning: Lærere kan lage tilpassede visuelle hjelpemidler og illustrasjoner for å forbedre læringsmateriale og gjøre komplekse konsepter mer tilgjengelige.
  6. Film og animasjon: Storyboard-kunstnere og animatører kan bruke Flux til å raskt visualisere scener og karakterer, og akselerere for-visualiserings-prosessen.

Fremtiden for Flux og tekst-til-bilde-generering

Black Forest Labs har gjort det klart at Flux bare er begynnelsen på deres ambisjoner i generativ AI-rommet. De har annonsert planer om å utvikle konkurranse-tekst-til-video-systemer, som lover presise skapings- og redigerings-kapasiteter i høy oppløsning og utenforliggende hastighet.

Dette roadmap antyder at Flux ikke bare er et enkelt produkt, men en del av et bredere økosystem av generative AI-verktøy. Etterhvert som teknologien utvikler seg, kan vi forvente å se:

  1. Forbedret integrasjon: Seamlese arbeidsflyter mellom tekst-til-bilde og tekst-til-video-generering, som tillater mer komplekse og dynamiske innhold-skapelse.
  2. Forbedret tilpasning: Mer fin-granulert kontroll over generert innhold, muligens gjennom avanserte prompt-ingeniør-teknikker eller intuitive bruker-grensesnitt.
  3. Sanntids-generering: Etterhvert som modeller som FLUX.1 [schnell] fortsetter å forbedres, kan vi se sanntids-bilde-genererings-kapasiteter som kan revolusjonere live-innhold-skapelse og interaktive medier.
  4. Flere-modal-generering: Evnen til å generere og manipulere innhold over flere modi (tekst, bilde, video, lyd) på en samlet og integrert måte.
  5. Etisk AI-utvikling: Fortsatt fokus på å utvikle AI-modeller som ikke bare er kraftfulle, men også ansvarlige og etisk lydige.

Konklusjon: Er Flux bedre enn Midjourney?

Spørsmålet om Flux er “bedre” enn Midjourney er ikke lett å svare med et enkelt ja eller nei. Begge modellene representerer den siste utviklingen i tekst-til-bilde-genereringsteknologi, hver med sine egne styrker og unike karakteristika.

Flux, med sin avanserte arkitektur og fokus på prompt-efterlevelse, kan tilby mer presis kontroll og potensielt høyere kvalitet i visse scenarioer. Dets åpne kilde-variant og muligheter for tilpasning og integrasjon kan være svært verdifulle for utviklere og forskere.

Midjourney, på den andre siden, har en bevist rekord, en stor og aktiv bruker-base, og en distinkt kunstnerisk stil som mange brukere har kommet til å elske. Dets integrasjon med Discord og brukervennlige grensesnitt har gjort det svært tilgjengelig for kreative av alle tekniske ferdighetsnivåer.

Til slutt er det “bedre” modellen avhengig av det spesifikke bruksområdet, personlige preferanser og de evoluerende kapasitetene til hver plattform. Det som er klart er at Flux representerer et betydelig skritt fremover i generativ AI-feltet, og introduserer innovative teknikker og presser grensene for hva som er mulig i tekst-til-bilde-syntese.

Jeg har brukt de siste fem årene på å dykke ned i den fasiniserende verden av Maskinlæring og Dypt Læring. Min lidenskap og ekspertise har ledet meg til å bidra til over 50 ulike programvareprosjekter, med særlig fokus på AI/ML. Min pågående nysgjørhet har også trukket meg mot Naturlig Språkbehandling, et felt jeg er ivrig etter å utforske videre.