Nos últimos anos, a tecnologia de geração de imagens de IA avançou rapidamente, mas os altos custos de computação limitaram sua popularidade. Este artigo apresenta uma nova estrutura de conversão de texto em imagem chamada Sana, que se destaca por seus recursos eficientes de geração de imagens e baixos custos de operação. Sana é capaz de gerar imagens de ultra-alta definição com resolução de até 4096×4096 em uma GPU comum de laptop, muito mais rápido do que a tecnologia existente. A principal inovação desta estrutura reside na combinação de autoencoders de compressão profunda, DiT linear, codificadores de texto estilo decodificador e estratégias eficientes de treinamento e amostragem.
A tecnologia de geração de imagens de IA está se desenvolvendo rapidamente, mas o tamanho do modelo está ficando cada vez maior e os custos de treinamento e uso são muito altos para usuários comuns. Agora, surgiu uma nova estrutura de texto para imagem chamada "Sana". Ela pode gerar com eficiência imagens de ultra-alta definição com resoluções de até 4096x4096 e é tão rápida que pode até ser executada na GPU de um. portátil.
Os principais projetos de Sana incluem:
Autoencoders de compressão profunda: Ao contrário dos autoencoders tradicionais que compactam imagens apenas 8 vezes, os autoencoders usados pela Sana podem compactar imagens 32 vezes, reduzindo efetivamente o número de tokens potenciais. Isso é crucial para um treinamento eficiente e geração de imagens de altíssima resolução.
Linear DiT:Sana substitui todos os mecanismos de atenção tradicionais no DiT por atenção linear, o que melhora a eficiência do processamento de imagens de alta resolução sem sacrificar a qualidade. A atenção linear reduz a complexidade computacional de O(N²) para O(N). Além disso, Sana também usa Mix-FFN para integrar convolução de profundidade 3x3 em MLP para agregar informações locais de tokens e não requer mais codificação de posição.
Codificador de texto estilo decodificador: Sana usa o LLM pequeno estilo decodificador mais recente (como Gemma) como codificador de texto, substituindo o CLIP ou T5 comumente usado. Essa abordagem aprimora a capacidade do modelo de compreender e raciocinar sobre as dicas do usuário e melhora o alinhamento imagem-texto por meio de instruções humanas complexas e aprendizado contextual.
Estratégia eficiente de treinamento e amostragem: Sana adota o Flow-DPM-Solver para reduzir as etapas de amostragem e usa métodos eficientes de anotação e seleção de títulos para acelerar a convergência do modelo. O modelo Sana-0.6B é 20 vezes menor e 100 vezes mais rápido que modelos de grande difusão como o Flux-12B.
Sana é inovador porque reduz significativamente a latência de inferência ao:
Otimização colaborativa de algoritmos e sistemas: Através de múltiplos métodos de otimização, Sana reduz o tempo de geração de imagens 4096x4096 de 469 segundos para 9,6 segundos, o que é 106 vezes mais rápido que o modelo Flux mais avançado atual.
Autoencoder de compactação profunda: Sana usa a estrutura AE-F32C32P1 para compactar imagens 32 vezes, reduzindo significativamente o número de tokens e acelerando o treinamento e a inferência.
Atenção linear: Usar a atenção linear para substituir o mecanismo tradicional de autoatenção melhora a eficiência do processamento de imagens de alta resolução.
Aceleração Triton: Use Triton para fundir os núcleos dos processos progressivos e retrógrados do módulo de atenção linear para acelerar ainda mais o treinamento e a inferência.
Flow-DPM-Solver: Reduz as etapas de amostragem de inferência de 28 a 50 etapas para 14 a 20 etapas, ao mesmo tempo em que obtém melhores resultados de geração.
O desempenho de Sana é excelente. Na resolução de 1024x1024, os parâmetros do modelo Sana-0.6B são de apenas 590 milhões, mas o desempenho geral atinge 0,64GenEval, que é comparável a muitos modelos maiores. Além disso, Sana-0.6B pode ser implantado em uma GPU de laptop de 16 GB e gera imagens com resolução de 1024×1024 em menos de 1 segundo. Para geração de imagens 4K, o Sana-0.6B atinge um rendimento mais de 100 vezes mais rápido que o método de última geração (FLUX). Sana não apenas alcança um avanço em velocidade, mas também é competitivo em qualidade de imagem. Mesmo em cenas complexas, como renderização de texto e detalhes de objetos, o desempenho de Sana é satisfatório.
Além disso, Sana também possui poderosos recursos de migração de idiomas sem amostra. Mesmo quando treinada apenas com dados em inglês, Sana consegue entender sinais em chinês e emoji e gerar imagens correspondentes.
O surgimento do Sana reduz o limite para geração de imagens de alta qualidade e fornece ferramentas poderosas de criação de conteúdo para profissionais e usuários comuns. O código e os modelos de Sana serão divulgados publicamente.
Endereço da experiência: https://nv-sana.mit.edu/
Endereço do artigo: https://arxiv.org/pdf/2410.10629
Github: https://github.com/NVlabs/Sana
Em suma, a Sana alcançou um progresso revolucionário no campo da geração de imagens com seu algoritmo eficiente e design de sistema otimizado, trazendo conveniência sem precedentes e experiência de geração de imagens de alta qualidade aos usuários. Seu recurso de código aberto também contribuiu significativamente para o desenvolvimento da tecnologia de geração de imagens de IA.