Modelos de geração de texto para imagem (T2I) impulsionados por inteligência artificial (IA), como DALLE3 e Adobe Firefly3, demonstram capacidades de geração excepcionais e um potencial ilimitado em aplicações reais. No entanto, esses modelos geralmente possuem bilhões de parâmetros, exigindo alta capacidade de memória, o que representa um grande desafio para sua implantação em plataformas com recursos limitados, como dispositivos móveis.

Para solucionar esses problemas, pesquisadores da ByteDance e POSTECH exploraram técnicas de quantização de baixíssima precisão para modelos T2I. Dentre vários modelos avançados, o FLUX.1-dev foi escolhido como alvo de estudo devido à sua disponibilidade pública e desempenho excepcional.

Os pesquisadores utilizaram um método chamado quantização de 1,58 bits para comprimir os pesos do transformador visual no modelo FLUX, utilizando apenas três valores {-1, 0, +1}. Esse método de quantização não requer acesso aos dados de imagem, sendo realizado apenas com auto-supervisão do próprio modelo FLUX.1-dev. Diferentemente do método BitNet b1.58, este não treina modelos de linguagem grandes do zero, mas sim como uma solução de quantização pós-treinamento para modelos T2I.

image.png

Com esse método, o espaço de armazenamento do modelo foi reduzido em 7,7 vezes, pois os pesos de 1,58 bits são armazenados usando inteiros com sinal de 2 bits, realizando uma compressão de precisão de 16 bits. Para melhorar ainda mais a eficiência de inferência, os pesquisadores também desenvolveram um núcleo personalizado otimizado para cálculos de baixa precisão. Esse núcleo reduziu o uso de memória de inferência em mais de 5,1 vezes e melhorou a latência de inferência.

Avaliações nos benchmarks GenEval e T2I Compbench mostraram que o FLUX de 1,58 bits mantém uma qualidade de geração comparável ao modelo FLUX de precisão total, ao mesmo tempo em que melhora significativamente a eficiência computacional.

Especificamente, os pesquisadores quantizaram 99,5% dos parâmetros do transformador visual do modelo FLUX (totalizando 11,9 bilhões) para 1,58 bits, reduzindo drasticamente as necessidades de armazenamento.

Os resultados experimentais demonstram que o FLUX de 1,58 bits apresenta desempenho comparável ao modelo FLUX original nos conjuntos de dados T2I CompBench e GenEval. Em termos de velocidade de inferência, o FLUX de 1,58 bits mostra melhorias mais significativas em GPUs de baixo desempenho (como L20 e A10).

image.png

Em resumo, o surgimento do FLUX de 1,58 bits representa um passo importante para tornar os modelos T2I de alta qualidade viáveis para implantação em dispositivos com restrições de memória e latência.

Embora o FLUX de 1,58 bits ainda apresente algumas limitações em termos de melhoria de velocidade e renderização de detalhes em imagens de alta resolução, seu enorme potencial para melhorar a eficiência do modelo e reduzir o consumo de recursos promete abrir novas perspectivas para pesquisas futuras.

Resumo das principais melhorias:

Compressão do modelo: redução de 7,7 vezes no espaço de armazenamento do modelo.

Otimização de memória: redução de mais de 5,1 vezes no uso de memória de inferência.

Manutenção do desempenho: o FLUX de 1,58 bits mantém desempenho comparável ao modelo FLUX de precisão total nos benchmarks GenEval e T2I Compbench.

Sem dados de imagem: o processo de quantização não requer acesso a nenhum dado de imagem, apenas auto-supervisão do próprio modelo.

Núcleo personalizado: utiliza um núcleo personalizado otimizado para cálculos de baixa precisão, melhorando a eficiência de inferência.

Página do projeto: https://chenglin-yang.github.io/1.58bit.flux.github.io/

Endereço do artigo: https://arxiv.org/pdf/2412.18653

Endereço do modelo: https://huggingface.co/papers/2412.18653