Black Forest Labs, a equipe por trás do inovador modelo Steady Diffusion, lançou o Flux – um conjunto de modelos de última geração que promete redefinir as capacidades de imagens geradas por IA. Mas o Flux realmente representa um salto à frente no campo e como ele se compara a líderes do setor como a Midjourney? Vamos mergulhar fundo no mundo do Flux e explorar seu potencial para remodelar o futuro da arte e da mídia geradas por IA.
O nascimento dos laboratórios da Floresta Negra
Antes de nos aprofundarmos nos aspectos técnicos do Flux, é essential entender o pedigree por trás desse modelo inovador. A Black Forest Labs não é apenas mais uma startup de IA; é uma potência de talentos com um histórico de desenvolvimento de modelos de IA generativos fundamentais. A equipe inclui os criadores do VQGAN, Latent Diffusion e a família de modelos Steady Diffusion que tomaram o mundo da arte de IA de assalto.
Com uma rodada de financiamento bem-sucedida de $ 31 milhões da Collection Seed liderada por Andreessen Horowitz e o apoio de notáveis investidores anjos, a Black Forest Labs se posicionou na vanguarda da pesquisa de IA generativa. Sua missão é clara: desenvolver e avançar modelos de aprendizado profundo generativo de última geração para mídias como imagens e vídeos, ao mesmo tempo em que expande os limites da criatividade, eficiência e diversidade.
Apresentando a família de modelos Flux
A Black Forest Labs introduziu o conjunto FLUX.1 de modelos de texto para imagem, projetado para definir novos padrões em detalhes de imagem, aderência imediata, diversidade de estilo e complexidade de cena. A família Flux consiste em três variantes, cada uma adaptada a diferentes casos de uso e níveis de acessibilidade:
- FLUX.1 (profissional): O modelo principal, oferecendo desempenho de primeira linha na geração de imagens com acompanhamento de immediate superior, qualidade visible, detalhes de imagem e diversidade de saída. Disponível por meio de uma API, ele é posicionado como a opção premium para uso profissional e empresarial.
- FLUX.1 (desenvolvedor): Um modelo de peso aberto, destilado por orientação para aplicações não comerciais. Ele foi projetado para atingir qualidade comparable e capacidades de aderência rápida como a versão profissional, sendo ao mesmo tempo mais eficiente.
- FLUX.1 (rápido): O modelo mais rápido do conjunto, otimizado para desenvolvimento native e uso pessoal. Ele está disponível abertamente sob uma licença Apache 2.0, tornando-o acessível para uma ampla gama de aplicativos e experimentos.
Fornecerei alguns exemplos de prompts exclusivos e criativos que mostram as capacidades do FLUX.1. Esses prompts destacarão os pontos fortes do modelo em lidar com texto, composições complexas e elementos desafiadores como mãos.
- Estilo artístico mesclado com texto: “Crie um retrato de Vincent van Gogh em seu estilo característico, mas substitua sua barba por pinceladas em espiral que formem as palavras 'Noite Estrelada' em letra cursiva.”
- Cena de ação dinâmica com integração de texto: “Um super-herói irrompendo por uma página de história em quadrinhos. As linhas de ação e os efeitos sonoros devem formar o nome do herói 'FLUX FORCE' em tipografia dinâmica e em negrito.”
- Conceito surreal com posicionamento preciso de objetos: “Shut-up de um gato fofo com cores marrom e branco sob a luz do sol da janela. Foco nítido na textura e cor dos olhos. Iluminação pure para capturar o brilho e a profundidade autênticos dos olhos.”
Esses prompts foram projetados para desafiar as capacidades do FLUX.1 em renderização de texto, composição de cenas complexas e criação de objetos detalhados, ao mesmo tempo em que mostram seu potencial para geração de imagens criativas e únicas.
Inovações técnicas por trás do Flux
No centro das impressionantes capacidades do Flux está uma série de inovações técnicas que o diferenciam de seus antecessores e contemporâneos:
Modelos de fluxo alimentados por transformador em escala
Todos os modelos públicos FLUX.1 são construídos em uma arquitetura híbrida que combina blocos de transformadores de difusão multimodais e paralelos, dimensionados para impressionantes 12 bilhões de parâmetros. Isso representa um salto significativo no tamanho e na complexidade do modelo em comparação a muitos modelos de texto para imagem existentes.
Os modelos Flux melhoram os modelos de difusão de última geração anteriores ao incorporar a correspondência de fluxo, um método geral e conceitualmente simples para treinar modelos generativos. A correspondência de fluxo fornece uma estrutura mais flexível para modelagem generativa, com modelos de difusão sendo um caso especial dentro dessa abordagem mais ampla.
Para melhorar o desempenho do modelo e a eficiência do {hardware}, o Black Forest Labs integrou embeddings posicionais rotativos e camadas de atenção paralelas. Essas técnicas permitem melhor manuseio de relações espaciais em imagens e processamento mais eficiente de dados em larga escala.
Inovações arquitetônicas
Vamos analisar alguns dos principais elementos arquitetônicos que contribuem para o desempenho do Flux:
- Arquitetura Híbrida: Ao combinar blocos de transformadores de difusão multimodal e paralela, o Flux pode processar efetivamente informações textuais e visuais, levando a um melhor alinhamento entre prompts e imagens geradas.
- Correspondência de fluxo: Esta abordagem permite um treinamento mais flexível e eficiente de modelos generativos. Ela fornece uma estrutura unificada que abrange modelos de difusão e outras técnicas generativas, potencialmente levando a uma geração de imagens mais robusta e versátil.
- Embeddings posicionais rotativos: Essas incorporações ajudam o modelo a entender melhor e manter relacionamentos espaciais dentro das imagens, o que é essential para gerar conteúdo visible coerente e detalhado.
- Camadas de atenção paralelas:Essa técnica permite um processamento mais eficiente dos mecanismos de atenção, que são essenciais para entender as relações entre diferentes elementos tanto em prompts de texto quanto em imagens geradas.
- Escala para parâmetros 12B: O tamanho do modelo permite capturar e sintetizar padrões e relacionamentos mais complexos, o que pode levar a resultados de maior qualidade e mais diversificados.
Benchmarking Flux: Um novo padrão em síntese de imagens
A Black Forest Labs afirma que o FLUX.1 outline novos padrões em síntese de imagens, superando modelos populares como Midjourney v6.0, DALL·E 3 (HD) e SD3-Extremely em vários aspectos importantes:
- Qualidade visible: O Flux tem como objetivo produzir imagens com maior fidelidade, detalhes mais realistas e melhor apelo estético geral.
- Immediate Seguindo: O modelo foi projetado para aderir mais de perto aos prompts de texto fornecidos, gerando imagens que refletem com mais precisão as intenções do usuário.
- Variabilidade de tamanho/aspecto: O Flux suporta uma ampla variedade de proporções e resoluções, de 0,1 a 2,0 megapixels, oferecendo flexibilidade para vários casos de uso.
- Tipografia: O modelo mostra recursos aprimorados na geração e renderização de texto dentro de imagens, um desafio comum para muitos modelos de texto para imagem.
- Diversidade de saída: O Flux é ajustado especificamente para preservar toda a diversidade de saída do pré-treinamento, oferecendo uma gama mais ampla de possibilidades criativas.
Flux vs. Midjourney: Uma Análise Comparativa
Agora, vamos abordar a questão candente: Flux é melhor que Midjourney? Para responder a isso, precisamos considerar vários fatores:
Qualidade de imagem e estética
Tanto o Flux quanto o Midjourney são conhecidos por produzir imagens de alta qualidade e visualmente impressionantes. O Midjourney foi elogiado por seu talento artístico e capacidade de criar imagens com um apelo estético distinto. O Flux, com sua arquitetura avançada e maior contagem de parâmetros, visa igualar ou exceder esse nível de qualidade.
Os primeiros exemplos do Flux mostram detalhes impressionantes, texturas realistas e uma forte compreensão de iluminação e composição. No entanto, a natureza subjetiva da arte torna difícil reivindicar definitivamente a superioridade nessa área. Os usuários podem descobrir que cada modelo tem seus pontos fortes em diferentes estilos ou tipos de imagens.
Adesão imediata
Uma área em que o Flux potencialmente supera o Midjourney é na adesão imediata. O Black Forest Labs enfatizou seu foco em melhorar a capacidade do modelo de interpretar e executar com precisão os prompts fornecidos. Isso pode resultar em imagens geradas que correspondem mais de perto às intenções do usuário, especialmente para solicitações complexas ou diferenciadas.
Midjourney às vezes é criticado por tomar liberdades criativas com prompts, o que pode levar a resultados lindos, mas inesperados. A abordagem do Flux pode oferecer um controle mais preciso sobre a saída gerada.
Rapidez e Eficiência
Com a introdução do FLUX.1 (schnell), a Black Forest Labs está mirando uma das principais vantagens do Midjourney: velocidade. O Midjourney é conhecido por seus tempos de geração rápidos, o que o tornou well-liked para processos criativos iterativos. Se o Flux puder igualar ou exceder essa velocidade, mantendo a qualidade, pode ser um ponto de venda significativo.
Acessibilidade e facilidade de uso
O Midjourney ganhou popularidade em parte devido à sua interface amigável e integração com o Discord. O Flux, sendo mais novo, pode precisar de tempo para desenvolver interfaces acessíveis semelhantes. No entanto, a natureza de código aberto dos modelos FLUX.1 (schnell) e (dev) pode levar a uma ampla gama de ferramentas e integrações desenvolvidas pela comunidade, potencialmente superando o Midjourney em termos de flexibilidade e opções de personalização.
Capacidades técnicas
A arquitetura avançada do Flux e o tamanho maior do modelo sugerem que ele pode ter mais capacidade bruta em termos de compreensão de prompts complexos e geração de detalhes intrincados. A abordagem de correspondência de fluxo e a arquitetura híbrida podem permitir que o Flux lide com uma gama mais ampla de tarefas e gere saídas mais diversas.
Considerações éticas e mitigação de preconceitos
Tanto o Flux quanto o Midjourney enfrentam o desafio de abordar preocupações éticas em imagens geradas por IA, como viés, desinformação e questões de direitos autorais. A ênfase do Black Forest Labs na transparência e seu compromisso em tornar os modelos amplamente acessíveis podem potencialmente levar a uma supervisão comunitária mais robusta e melhorias mais rápidas nessas áreas.
Implementação e implantação de código
Usando Fluxo com Difusores
Os modelos Flux podem ser facilmente integrados em fluxos de trabalho existentes usando a biblioteca Hugging Face Diffusers. Aqui está um guia passo a passo para usar FLUX.1 (dev) ou FLUX.1 (schnell) com Diffusers:
- Primeiro, instale ou atualize a biblioteca Diffusers:
!pip set up git+https://github.com/huggingface/diffusers.git
- Então, você pode usar o
FluxPipeline
para executar o modelo:
import torch from diffusers import FluxPipeline # Load the mannequin pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-dev", torch_dtype=torch.bfloat16) # Allow CPU offloading to save lots of VRAM (elective) pipe.enable_model_cpu_offload() # Generate a picture immediate = "A cat holding an indication that claims good day world" picture = pipe( immediate, top=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) ).photographs(0) # Save the generated picture picture.save("flux-dev.png")
Este trecho de código demonstra como carregar o modelo FLUX.1 (dev), gerar uma imagem a partir de um immediate de texto e salvar o resultado.
Implementando o Flux como uma API com o LitServe
Para aqueles que buscam implementar o Flux como um serviço de API escalável, o Black Forest Labs fornece um exemplo usando o LitServe, um mecanismo de inferência de alto desempenho. Aqui está uma análise do processo de implementação:
Defina o servidor modelo:
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.fashions.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, machine): # Load mannequin elements 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) # Quantize to 8-bit to suit on an L4 GPU quantize(transformer, weights=qfloat8) freeze(transformer) quantize(text_encoder_2, weights=qfloat8) freeze(text_encoder_2) # Initialize the 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("immediate") def predict(self, immediate): picture = self.pipe( immediate=immediate, width=1024, top=1024, num_inference_steps=4, generator=torch.Generator().manual_seed(int(time.time())), guidance_scale=3.5, ).photographs(0) return picture def encode_response(self, picture): buffered = BytesIO() picture.save(buffered, format="PNG") return Response(content material=buffered.getvalue(), headers={"Content material-Sort": "picture/png"}) # Begin the server if __name__ == "__main__": api = FluxLitAPI() server = ls.LitServer(api, timeout=False) server.run(port=8000)
Este código configura uma API LitServe para Flux, incluindo carregamento de modelo, tratamento de solicitações, geração de imagens e codificação de resposta.
Inicie o servidor:
</pre> python server.py <pre>
Use a API do modelo:
Você pode testar a API usando um script de cliente simples:
import requests import json url = "http://localhost:8000/predict" immediate = "a robotic sitting in a chair portray an image on an easel of a futuristic cityscape, pop artwork" response = requests.submit(url, json={"immediate": immediate}) with open("generated_image.png", "wb") as f: f.write(response.content material) print("Picture generated and saved as generated_image.png")
Principais características da implantação
- Arquitetura sem servidor:A configuração do LitServe permite uma implantação escalável e sem servidor que pode ser dimensionada para zero quando não estiver em uso.
- API privada: Você pode implantar o Flux como uma API privada em sua própria infraestrutura.
- Suporte multi-GPU: A configuração foi projetada para funcionar de forma eficiente em diversas GPUs.
- Quantização: O código demonstra como quantizar o modelo com precisão de 8 bits, permitindo que ele seja executado em {hardware} menos potente, como GPUs NVIDIA L4.
- Descarregamento da CPU: O
enable_model_cpu_offload()
O método é usado para conservar a memória da GPU descarregando partes do modelo para a CPU quando não estiver em uso.
Aplicações práticas do fluxo
A versatilidade e o poder do Flux abrem uma ampla gama de aplicações potenciais em vários setores:
- Indústrias Criativas: Designers gráficos, ilustradores e artistas podem usar o Flux para gerar rapidamente arte conceitual, painéis de humor e inspirações visuais.
- Advertising and marketing e Publicidade: Os profissionais de advertising and marketing podem criar visuais personalizados para campanhas, conteúdo de mídia social e modelos de produtos com velocidade e qualidade sem precedentes.
- Desenvolvimento de jogos: Os designers de jogos podem usar o Flux para criar protótipos rápidos de ambientes, personagens e ativos, agilizando o processo de pré-produção.
- Arquitetura e Design de Interiores: Arquitetos e designers podem gerar visualizações realistas de espaços e estruturas com base em descrições textuais.
- Educação: Os educadores podem criar recursos visuais e ilustrações personalizados para aprimorar materiais de aprendizagem e tornar conceitos complexos mais acessíveis.
- Cinema e Animação: Artistas de storyboard e animadores podem usar o Flux para visualizar rapidamente cenas e personagens, acelerando o processo de pré-visualização.
O futuro do fluxo e da geração de texto para imagem
A Black Forest Labs deixou claro que o Flux é apenas o começo de suas ambições no espaço de IA generativa. Eles anunciaram planos para desenvolver sistemas competitivos de texto para vídeo generativos, prometendo capacidades precisas de criação e edição em alta definição e velocidade sem precedentes.
Este roteiro sugere que o Flux não é apenas um produto independente, mas parte de um ecossistema mais amplo de ferramentas de IA generativas. Conforme a tecnologia evolui, podemos esperar ver:
- Integração melhorada: Fluxos de trabalho perfeitos entre geração de texto para imagem e texto para vídeo, permitindo a criação de conteúdo mais complexo e dinâmico.
- Personalização aprimorada: Controle mais refinado sobre o conteúdo gerado, possivelmente por meio de técnicas avançadas de engenharia de prompts ou interfaces de usuário intuitivas.
- Geração em tempo actual: À medida que modelos como o FLUX.1 (schnell) continuam a melhorar, podemos ver recursos de geração de imagens em tempo actual que podem revolucionar a criação de conteúdo ao vivo e a mídia interativa.
- Geração Cross-modal: A capacidade de gerar e manipular conteúdo em diversas modalidades (texto, imagem, vídeo, áudio) de forma coesa e integrada.
- Desenvolvimento ético de IA: Foco contínuo no desenvolvimento de modelos de IA que não sejam apenas poderosos, mas também responsáveis e eticamente corretos.
Conclusão: Flux é melhor que Midjourney?
A questão se o Flux é “melhor” que o Midjourney não é facilmente respondida com um simples sim ou não. Ambos os modelos representam a vanguarda da tecnologia de geração de texto para imagem, cada um com seus próprios pontos fortes e características únicas.
O Flux, com sua arquitetura avançada e ênfase em aderência imediata, pode oferecer controle mais preciso e potencialmente maior qualidade em certos cenários. Suas variantes de código aberto também fornecem oportunidades de personalização e integração que podem ser altamente valiosas para desenvolvedores e pesquisadores.
O Midjourney, por outro lado, tem um histórico comprovado, uma base de usuários grande e ativa e um estilo artístico distinto que muitos usuários passaram a amar. Sua integração com o Discord e sua interface amigável o tornaram altamente acessível a criativos de todos os níveis de habilidade técnica.
Em última análise, o modelo “melhor” pode depender do caso de uso específico, preferências pessoais e das capacidades em evolução de cada plataforma. O que está claro é que o Flux representa um passo significativo à frente no campo da IA generativa, introduzindo técnicas inovadoras e expandindo os limites do que é possível na síntese de texto para imagem.