AI-työkalut 101
Flux Black Forest Labsin kautta: Seuraava askel teksti-kuva-malleissa. Onko se parempi kuin Midjourney?
Black Forest Labs, Stable Diffusion -mallin takana oleva tiimi, on julkaissut Flux – sarjan viimeisimmän teksti-kuva-malleja, jotka lupaavat määritellä uudelleen tekoälykuvien ominaisuudet. Mutta edustaa Flux todella askelta eteenpäin tässä alalla, ja miten se vertautuu alan johtajiin, kuten Midjourneyyn? Puhkaistuimme syvälle Fluxin maailmaan ja tutkimme sen potentiaalia muokata tekoälytaiteen ja median tulevaisuutta.
Black Forest Labsin synty
Black Forest Labs ei ole vain toinen tekoälystart-up; se on kykyjen voimavaranto, jolla on historia perustekoisista generatiivisista tekoälymallista. Tiimiin kuuluvat VQGANin, Latent Diffusionin ja Stable Diffusion -malliperheen luojat, jotka ovat vallanneet tekoälytaiteen maailman.
31 miljoonan dollarin Series Seed -rahoituksen, jota johti Andreessen Horowitz, ja tunnettujen enkeli-investoijien tuen myötä Black Forest Labs on asettanut itsensä generatiivisen tekoälytutkimuksen eturintamaan. Heidän tehtävänsä on selvä: kehittää ja edistää viimeisimmän generatiivisen syväoppimismallin kehitystä medioille, kuten kuville ja videoille, samalla kun he pyrkivät laajentamaan luovuuden, tehokkuuden ja monimuotoisuuden rajoja.
Flux-malliperheen esittely
Black Forest Labs on esitellyt FLUX.1 -sarjan teksti-kuva-malleja, jotka on suunniteltu asettamaan uudet mittapuut kuvan yksityiskohtaisuudelle, ohjelmointivirkistysille, tyylin monimuotoisuudelle ja kohtauksen monimuotoisuudelle. Flux-malliperheeseen kuuluu kolme varianttia, joista kunkin on suunniteltu eri käyttötarkoituksiin ja saatavuustasoihin:
- FLUX.1 [pro]: Lippulaivamalli, joka tarjoaa huipputason suorituskyvyn kuvien luomisessa, jossa on erinomainen ohjelmointivirkistys, visuaalinen laatu, kuvan yksityiskohtaisuus ja tulosteen monimuotoisuus. Se on saatavilla API:n kautta, ja se on suunniteltu ammattikäyttöön.
- FLUX.1 [dev]: Avoin painopistemalli, joka on tarkoitettu ei-kaupalliseen käyttöön. Se on suunniteltu saavuttamaan samanlaista laatua ja ohjelmointivirkistystä kuin pro-versio, mutta se on tehokkaampi.
- FLUX.1 [schnell]: Nopein malli sarjassa, joka on optimoitu paikalliseen kehitykseen ja henkilökohtaiseen käyttöön. Se on vapaasti saatavilla Apache 2.0 -lisenssin alla, mikä tekee siitä saatavilla laajalle soveltamisalueelle ja kokeiluille.
Tarjoan joitakin yksilöllisiä ja luovia ohjelmointiesimerkkejä, jotka korostavat FLUX.1:n ominaisuuksia. Nämä ohjelmointiesimerkit korostavat mallin vahvuuksia tekstien renderöinnissä, monimutkaisissa kohtauksissa ja yksityiskohtaisissa esineissä, kuten käsissä.
- Taiteellinen tyylin yhdistäminen tekstin kanssa: “Luo muotokuva Vincent van Goghista hänen tyylissään, mutta korvaa hänen partansa kiertelevillä siveltimenvetoilla, jotka muodostavat sanat ‘Starry Night’ käsialalla.”
- Dynaaminen toimintakohtaus tekstin integroinnilla: “Supersankari rikkoo sarjakuvasivua. Toimintalinjat ja äänitehosteet muodostavat sankarin nimen ‘FLUX FORCE’ voimakkaassa, dynaamisessa typografiassa.”
- Surrealistinen käsite tarkalla esineasettelulla: “Lähikuva ruskeasta ja valkoisesta kissasta auringonvalossa ikkunan alla. Terävä fokus silmän tekstuurissa ja värissä. Luonnollinen valaistus, jotta voidaan vangita aidon silmänkiillon ja syvyyden.”
Nämä ohjelmointiesimerkit on suunniteltu haastamaan FLUX.1:n ominaisuuksia tekstien renderöinnissä, monimutkaisissa kohtauksissa ja yksityiskohtaisissa esineissä, samalla korostamalla sen potentiaalia luovassa ja ainutlaatuisessa kuvien luomisessa.
Teknisiä innovaatioita Fluxin takana
Fluxin vaikuttavien ominaisuuksien ytimessä on joukko teknisiä innovaatioita, jotka erottavat sen sen edeltäjistä ja nykyisistä kilpailijoista:
Transformer-pohjaiset Flow-mallit suurissa mittakaavoissa
Kaikki julkiset FLUX.1 -mallit perustuvat hybridirakenteeseen, joka yhdistää multimodaalisia ja rinnakkaisia diffuusiopohjaisia transformer-lohkoja, jotka on mitattu 12 miljardiin parametriin. Tämä edustaa merkittävää loikkaa mallin koossa ja monimuotoisuudessa verrattuna moniin olemassa oleviin teksti-kuva-malleihin.
Flux-mallit parantavat aiempia huipputason diffuusiomalleja ottamalla käyttöön virtaussovittaminen, yleinen ja käsitteellisesti yksinkertainen menetelmä generatiivisten mallien kouluttamiseen. Virtaussovittaminen tarjoaa joustavan kehyksen generatiiviselle mallinnukselle, diffuusiomallit ovat erikoistapaus tällä laajemmalla lähestymistavalla.
Mallin suorituskyvyn ja laitteiston tehokkuuden parantamiseksi Black Forest Labs on integroinut rotaatiopositiiviset upotukset ja rinnakkaiset huomioalgoritmit. Nämä tekniikat mahdollistavat paremman spatiaalisten suhteiden käsittelyn kuvissa ja suurempien tietojoukkojen tehokkaamman prosessoinnin.
Rakenteelliset innovaatiot
Tutustumme tarkemmin joitain avainrakenteellisia elementtejä, jotka vaikuttavat Fluxin suorituskykyyn:
- Hybridirakenne: Yhdistämällä multimodaalisia ja rinnakkaisia diffuusiopohjaisia transformer-lohkoja, Flux voi prosessoida tehokkaasti sekä tekstuaalista että visuaalista tietoa, johtaen parempaan sopusointuun ohjelmointiin ja generoituissa kuvissa.
- Virtaussovittaminen: Tämä lähestymistapa mahdollistaa joustavamman ja tehokkaamman generatiivisten mallien kouluttamisen. Se tarjoaa yhdenmukaisen kehyksen, joka kattaa diffuusiomallit ja muut generatiiviset tekniikat, mikä voi johtaa robustimpiin ja monipuolisempiin kuvien luomiseen.
- Rotaatiopositiiviset upotukset: Nämä upotukset auttavat mallia ymmärtämään ja ylläpitämään spatiaalisia suhteita kuvissa, mikä on olennaisen tärkeää yksityiskohtaisen visuaalisen sisällön luomiseksi.
- Rinnakkaiset huomioalgoritmit: Tämä tekniikka mahdollistaa huomioalgoritmien tehokkaamman prosessoinnin, mikä on keskeistä suhteiden ymmärtämisessä sekä teksti-ohjelmoinneissa että generoituissa kuvissa.
- 12 miljardin parametrin mittakaava: Mallin valtava koko mahdollistaa monimutkaisempien kuvioiden ja suhteiden havainnoinnin ja syntetisoinnin, mikä voi johtaa korkealaatuisempiin ja monipuolisempiin tuloksiin.
Fluxin vertailu: Uusi standardi kuvansynteesissä
Black Forest Labs väittää, että FLUX.1 asettaa uudet standardit kuvansynteesissä, ylittäen suositut mallit, kuten Midjourney v6.0, DALL·E 3 (HD) ja SD3-Ultra useilla avainalueilla:
- Visuaalinen laatu: Flux pyrkii tuottamaan kuvia, joilla on korkeampi uskottavuus, realistisemmat yksityiskohdat ja parempi yleinen esteettinen viehätys.
- Ohjelmointivirkistys: Malli on suunniteltu noudattamaan annettuja teksti-ohjelmointeja tarkemmin, generoimalla kuvia, jotka heijastavat käyttäjän aikomusta tarkemmin, erityisesti monimutkaisissa tai hienovaraisissa pyynnöissä.
- Koko/Aspektisuhteiden muuttuvuus: Flux tukee laajan valikoiman kuvasuhteita ja resoluutioita, 0,1:stä 2,0 megapikseliin, tarjoten joustavuutta eri käyttötarkoituksiin.
- Typografia: Malli osoittaa parannettuja kykyjä tekstien generoimisessa ja renderöinnissä kuvissa, yleistä haasteita monille teksti-kuva-malleille.
- Tulosteen monimuotoisuus: Flux on erityisesti hienosäädetty säilyttämään koko esiharjoittelun tulosteen monimuotoisuus, tarjoten laajemman valikoiman luovia mahdollisuuksia.
Flux vs. Midjourney: Vertaileva analyysi
Nyt, otetaan vastaan palava kysymys: Onko Flux parempi kuin Midjourney? Vastataksesi tähän, on tarkasteltava useita tekijöitä:
Kuvan laatu ja esteettisyys
Molemmat Flux ja Midjourney ovat tunnettuja korkealaatuisista, visuaalisesti upeista kuvista. Midjourney on saanut kehuja taiteellisesta tyylistään ja kyvystään luoda kuvia, joilla on erottuva esteettinen viehätys. Flux, jolla on edistynyt arkkitehtuuri ja suurempi parametrilaskenta, pyrkii vastaamaan tai ylittämään tämän laadun.
Varhaiset Fluxin esimerkit osoittavat vaikuttavia yksityiskohtia, realistisia tekstuureja ja vahvaa käsitystä valaistuksesta ja sommittelusta. Kuitenkin taiteen subjektiivinen luonne tekee vaikeaksi väittää ylivoimaisuutta tässä alueessa. Käyttäjät saattavat havaita, että kumpikin malli on vahvuuksia eri tyyleissä tai kuvatyypeissä.
Ohjelmointivirkistys
Yksi alue, jolla Flux mahdollisesti ohittaa Midjourneyn, on ohjelmointivirkistys. Black Forest Labs on korostanut keskittymistään mallin kykyyn parantaa ohjelmointivirkistystä. Tämä voi johtaa generoituissa kuvissa, jotka vastaavat tarkemmin käyttäjän aikomusta, erityisesti monimutkaisissa tai hienovaraisissa pyynnöissä.
Midjourney on toisinaan kritisoitu luovista vapauksista ohjelmoinneissa, mikä voi johtaa kauniisiin mutta odottamattomiin tuloksiin. Fluxin lähestymistapa voi tarjota tarkemman ohjatuksen generoiduista tuloksista.
Nopeus ja tehokkuus
FLUX.1 [schnell] -mallin esittelyssä Black Forest Labs on kohdistamassa yhtä Midjourneyn avainetuista: nopeutta. Midjourney on tunnettu nopeista generointiajoista, mikä on tehnyt siitä suositun valinnan iteratiivisille luoville prosesseille. Jos Flux voi vastata tai ylittää tämän nopeuden säilyttäen laadun, se voi olla merkittävä myyntivaltti.
Saavutettavuus ja helppokäyttöisyys
Midjourney on saavuttanut suosiota osittain sen helppokäyttöisen käyttöliittymän ja Discord-integraation ansiosta. Flux, ollessaan uudempi, saattaa tarvita aikaa kehittääkseen samanlaisen saavutettavuuden. Kuitenkin FLUX.1 [schnell] – ja [dev] -mallien avoimen lähdekoodin luonne voi johtaa laajaan valikoimaan yhteisön kehittämiä työkaluja ja integraatioita, mahdollisesti ohittamalla Midjourneyn joustavuudessa ja mukautettavuudessa.
Tekninen suorituskyky
Fluxin edistynyt arkkitehtuuri ja suurempi mallikoko viittaavat siihen, että se voi olla enemmän kykyinen ymmärtämään monimutkaisia ohjelmointeja ja generoimaan yksityiskohtaisia yksityiskohtia. Virtaussovittamisen lähestymistapa ja hybridirakenne voivat sallia Fluxille käsitellä laajemman valikoiman tehtäviä ja generoida monipuolisempia tuloksia.
Eettiset huomioonotot ja harhan vähentäminen
Molemmat Flux ja Midjourney kohtaavat haasteita tekoälykuvien eettisissä kysymyksissä, kuten harhassa, virheellisissä tietoissa ja tekijänoikeusongelmissa. Black Forest Labsin painopiste avoimuudessa ja sitoutumisessa tekevät malleista laajasti saatavilla voivat johtaa vahvempiin yhteisövalvontaan ja nopeampiin parannuksiin näissä alueilla.
Koodin toteutus ja käyttöönotto
Fluxin käyttäminen Diffusersin kanssa
Flux-malleja voidaan helposti integroida olemassa oleviin työvirtoihin Hugging Face Diffusers -kirjaston avulla. Tässä on vaiheittainen opas FLUX.1 [dev] – tai FLUX.1 [schnell] -mallin käyttämisestä Diffusersin kanssa:
- Ensinnäkin, asenna tai päivitä Diffusers-kirjasto:
!pip install git+https://github.com/huggingface/diffusers.git
- Sitten voit käyttää
FluxPipeline-luokkaa mallin suorittamiseen:
import torch
from diffusers import FluxPipeline
# Lataa malli
pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-dev", torch_dtype=torch.bfloat16)
# Ota käyttöön CPU-vaihto, jotta voidaan säästää VRAM:ia (valinnainen)
pipe.enable_model_cpu_offload()
# Generoi kuva
prompt = "Kissa, joka pitää kyltissä, jossa lukee hei maailma"
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]
# Tallenna generoitu kuva
image.save("flux-dev.png")
Tämä koodiesimerkki osoittaa, miten ladata FLUX.1 [dev] -malli, generoida kuva teksti-ohjelmoinnista ja tallentaa tuloksen.
Fluxin käyttöönotto LitServen avulla
Niille, jotka haluavat käyttöönotto Fluxia skaalautuvana API-palveluna, Black Forest Labs tarjoaa esimerkin LitServen avulla, joka on suorituskykyinen inference-moottori. Tässä on yleiskatsaus käyttöönottoprosessista:
Määritä mallipalvelin:
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):
# Lataa mallikomponentit
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)
# Quantisoi malli 8-bittiseksi, jotta se mahtuu L4-grafiikkakortille
quantize(transformer, weights=qfloat8)
freeze(transformer)
quantize(text_encoder_2, weights=qfloat8)
freeze(text_encoder_2)
# Käynnistä 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,
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"})
# Käynnistä palvelin
if __name__ == "__main__":
api = FluxLitAPI()
server = ls.LitServer(api, timeout=False)
server.run(port=8000)
Tämä koodi määrittää Fluxin LitServe-palvelimen, mallin lataamisen, pyynnön käsittelyn, kuvan generoimisen ja vastauksen koodauksen.
Käynnistä palvelin:
python server.py
Käytä mallin API:ta:
Voit testata API:ta yksinkertaisella asiakasohjelmalla:
import requests
import json
url = "http://localhost:8000/predict"
prompt = "robotti, joka istuu tuolissa maalaamassa kuvaa tulevaisuuden kaupungista, pop-taide"
response = requests.post(url, json={"prompt": prompt})
with open("generated_image.png", "wb") as f:
f.write(response.content)
print("Kuva generoitu ja tallennettu generated_image.png -tiedostoon")
Käyttöönoton avainominaisuudet
- Palvelurakenne: LitServen asettelu mahdollistaa skaalautuvan, palvelurakenteen, joka voi skaalautua nollaan, kun sitä ei käytetä.
- Yksityinen API: Voit käyttöönotto Fluxia yksityisenä API:na omalla infrastruktuurillasi.
- Moni-GPU-tuki: Asettelu on suunniteltu toimimaan tehokkaasti useiden GPU:iden kanssa.
- Quantisointi: Koodi osoittaa, miten quantisoida malli 8-bittiseksi, jotta se mahtuu vähemmän tehokkaille laitteille, kuten NVIDIA L4 -grafiikkakortille.
- CPUn siirtäminen:
enable_model_cpu_offload()-menetelmä käytetään säästämään GPU-muistia siirtämällä osia mallista CPU:lle, kun niitä ei käytetä.
Fluxin käytännön sovellukset
Fluxin monipuolisuus ja voima avaavat laajan valikoiman potentiaalisia sovelluksia eri aloilla:
- Luoja-alat: Graafiset suunnittelijat, kuvittajat ja taiteilijat voivat käyttää Fluxia nopeasti generoimaan konseptitaiteen, mielialoja ja visuaalista inspiraatiota.
- Markkinointi ja mainonta: Markkinoijat voivat luoda mukautettuja visuaaleja kampanjoille, sosiaalisen median sisällölle ja tuotteen esittelyille ennennäkemättömällä nopeudella ja laadulla.
- Pelikehitys: Pelisuunnittelijat voivat käyttää Fluxia nopeasti prototyyppimään ympäristöjä, hahmoja ja varusteita, suorittamalla esituotannon prosessia.
- Arkkitehtuuri ja sisustus: Arkkitehdit ja suunnittelijat voivat generoida realistisia visualisointeja tiloista ja rakenteista tekstien perusteella.
- Koulutus: Opettajat voivat luoda mukautettuja visuaalisia apuvälineitä ja kuvituksia parantamaan oppimateriaaleja ja tehdä monimutkaisista käsitteistä helpommin ymmärrettäviä.
- Elokuva ja animaatio: Tarinankertojat ja animaattorit voivat käyttää Fluxia nopeasti visualisoimaan kohtauksia ja hahmoja, kiihdyttäen esituotannon prosessia.
Fluxin ja teksti-kuva-generoinnin tulevaisuus
Black Forest Labs on ilmoittanut, että Flux on vain alkua heidän pyrkimyksilleen generatiivisen tekoälyn alalla. He ovat ilmoittaneet aikovansa kehittää kilpailevia generatiivisia teksti-videomalleja, jotka tarjoavat tarkat luomis- ja editointiominaisuudet korkeassa resoluutiossa ja ennennäkemättömässä nopeudessa.
Tämä tiekartta viittaa siihen, että Flux ei ole yksittäinen tuote, vaan osa laajempaa generatiivisen tekoälytyökalujen ekosysteemiä. Teknologian kehittyessä voidaan odottaa:
- Parannettu integraatio: Vaivattomia työvirtoja teksti-kuva- ja teksti-videogeneroinnin välillä, mahdollistaen monimutkaisemman ja dynaamisen sisällön luomisen.
- Laajennettu mukautettavuus: Tarkempi ohjaus generoiduissa tuloksissa, mahdollisesti edistyneiden ohjelmointitekniikoiden tai helppokäyttöisten käyttöliittymien kautta.
- Reaaliaikainen generointi: Kun mallit, kuten FLUX.1 [schnell], jatkavat parantumista, saattavat nähdä reaaliaikaisen kuvageneroinnin, joka voi vallankumouksellisesti muuttaa live-sisällön luomista ja interaktiivista mediaa.
- Monimodaalinen generointi: Kyky generoida ja manipuloida sisältöä useiden modaalien (teksti, kuva, video, ääni) kautta yhtenäisellä ja integroidulla tavalla.
- Vastuullinen tekoälykehitys: Jatkuva painopiste kehittää tekoälymalleja, jotka eivät ole vain voimakkaita, vaan myös vastuullisia ja eettisiä.
Johtopäätös: Onko Flux parempi kuin Midjourney?
Kysymys siitä, onko Flux “parempi” kuin Midjourney, ei ole helppo vastata yksinkertaisella kyllä tai ei. Molemmat mallit edustavat teksti-kuva-generoinnin alan huipputasoa, kummallakin on omat vahvuutensa ja yksilölliset ominaisuutensa.
Flux, jolla on edistynyt arkkitehtuuri ja painopiste ohjelmointivirkistyksessä, voi tarjota tarkemman ohjatuksen ja mahdollisesti korkeamman laadun tietyissä tilanteissa. Avoin lähdekoodi ja mukautettavuus voivat olla erittäin arvokkaita kehittäjille ja tutkijoille.
Midjourney, toisaalta, on osoittanut kykynsä, suuren ja aktiivisen käyttäjäkunnan ja ominaisen taiteellisen tyylinsä, jota monet käyttäjät ovat oppineet arvostamaan. Sen integraatio Discordiin ja helppokäyttöinen käyttöliittymä ovat tehneet siitä helposti saatavilla luoville kaikilla teknisillä taidoilla.
Lopulta, “parempi” malli saattaa riippua tietyistä käyttötarkoituksista, henkilökohtaisista mieltymyksistä ja kehittyvistä ominaisuuksista kummassakin alustassa. Selvä on, että Flux edustaa merkittävää askelta generatiivisen tekoälyn alalla, tuomalla innovatiivisia tekniikoita ja laajentamalla teksti-kuva-synteesin mahdollisuuksia.


















