Tech

Flux da Black Forest Labs: O próximo salto em modelos de texto para imagem. É melhor que Midjourney?

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.

Black Forest Labs FLUX.1 de código aberto

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:

  1. 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.
  2. 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.
  3. 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.”
Black Forest Labs FLUX.1 de código aberto

Black Forest Labs FLUX.1 de código aberto

  • 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.”
Black Forest Labs FLUX.1 de código aberto

Black Forest Labs FLUX.1 de código aberto

  • 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.”
FLUX.1 de código aberto do Black Forest Labs

Black Forest Labs FLUX.1 de código aberto

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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:

  1. Qualidade visible: O Flux tem como objetivo produzir imagens com maior fidelidade, detalhes mais realistas e melhor apelo estético geral.
  2. 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.
  3. 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.
  4. 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.
  5. 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:

  1. Primeiro, instale ou atualize a biblioteca Diffusers:
!pip set up git+https://github.com/huggingface/diffusers.git
  1. 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

  1. 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.
  2. API privada: Você pode implantar o Flux como uma API privada em sua própria infraestrutura.
  3. Suporte multi-GPU: A configuração foi projetada para funcionar de forma eficiente em diversas GPUs.
  4. 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.
  5. 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:

  1. 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.
  2. 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.
  3. 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.
  4. Arquitetura e Design de Interiores: Arquitetos e designers podem gerar visualizações realistas de espaços e estruturas com base em descrições textuais.
  5. Educação: Os educadores podem criar recursos visuais e ilustrações personalizados para aprimorar materiais de aprendizagem e tornar conceitos complexos mais acessíveis.
  6. 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

join the future newsletter Unite AI Mobile Newsletter 1

Artigos relacionados

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button