notícias

118 vezes mais barato que a Difusão Estável! US$ 1.890 para treinar um modelo gráfico vicentino de alta qualidade com 1,16 bilhão de parâmetros

2024-08-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


Novo Relatório de Sabedoria

Editor: Alan

[Introdução à Nova Sabedoria]Recentemente, pesquisadores da Universidade da Califórnia, Irvine e outras instituições reduziram o custo de treinamento do modelo de difusão para US$ 1.890 usando estratégias como mascaramento retardado, MoE e expansão hierárquica.

Quanto custa treinar um modelo de difusão?

O método anterior mais barato (Wuerstchen) custava US$ 28.400, e modelos como o Stable Diffusion são uma ordem de magnitude mais caros.

Na era dos modelos grandes, a maioria das pessoas simplesmente não pode se dar ao luxo de brincar com eles. Se você quer todos os tipos de senhoras vicentinas, precisa contar com os fabricantes para levar seu peso adiante.

Para reduzir este enorme custo, os investigadores tentaram várias soluções.


Por exemplo, o modelo de difusão original leva cerca de 1.000 passos para passar do ruído à imagem, mas foi reduzido para cerca de 20 passos ou até menos.

Quando o módulo básico do modelo de difusão foi gradativamente substituído pelo DiT (Transformer) da Unet (CNN), algumas otimizações baseadas nas características do Transformer também se seguiram.


Por exemplo, quantificação, como pular alguns cálculos redundantes em Atenção, como pipeline.

Recentemente, pesquisadores da Universidade da Califórnia, Irvine e outras instituições deram um grande passo em frente com o objetivo de “economizar dinheiro”:


Endereço do artigo: https://arxiv.org/abs/2407.15811

——Treine um modelo de difusão de 1,16 bilhão de parâmetros do zero por apenas US$ 1.890!

Comparado com o SOTA, ele foi melhorado em uma ordem de magnitude, permitindo que as pessoas comuns tenham esperança de experimentar o pré-treinamento.

Mais importante ainda, a tecnologia de redução de custos não afeta o desempenho do modelo. 1,16 bilhão de parâmetros dão os seguintes resultados muito bons.



Além da aparência, os indicadores de dados do modelo também são excelentes. Por exemplo, a pontuação FID dada na tabela abaixo está muito próxima de Difusão Estável 1.5 e DALL·E 2.

Em contraste, o plano de redução de custos de Wuerstchen resultou em resultados de testes abaixo do ideal.


Dicas para economizar dinheiro

Com o objetivo de “Alongar Cada Dólar”, os pesquisadores partiram do DiT, módulo básico do modelo de difusão.

Em primeiro lugar, o comprimento da sequência é inimigo do custo computacional do Transformer e precisa ser eliminado.

Para imagens, é necessário minimizar o número de patches que participam dos cálculos (e também reduzir a sobrecarga de memória) sem afetar o desempenho.


Existem duas maneiras de reduzir o número de blocos de imagem. Uma é aumentar o tamanho de cada bloco e a outra é remover parte do patch (máscara).


Como o primeiro reduzirá significativamente o desempenho do modelo, consideramos o método de mascaramento.

A máscara mais ingênua (mascaramento de token Naive) é semelhante ao treinamento cortado aleatoriamente na UNet convolucional, mas permite o treinamento em áreas não contíguas da imagem.


O método anterior mais avançado (MaskDiT) adiciona uma estrutura de restauração e reconstrução antes da saída e a treina por meio de uma função de perda adicional, na esperança de compensar as informações perdidas por meio do aprendizado.


Ambas as máscaras descartam a maioria dos patches no início para reduzir os custos computacionais. A perda de informações reduz significativamente o desempenho geral do Transformer. Mesmo que o MaskDiT tente compensar, ele não consegue muita melhoria.

——Não é aconselhável perder informações, então como podemos reduzir a entrada sem perder informações?

máscara de atraso

Este artigo propõe uma estratégia de mascaramento diferido, que usa um misturador de patches para pré-processamento antes da máscara e incorpora as informações dos patches descartados nos patches sobreviventes, reduzindo significativamente o impacto da alta degradação do desempenho das máscaras.


Nesta arquitetura, o patch-mixer é implementado por meio de uma combinação de camada de atenção e camada de feedforward. A função de perda de todo o modelo é usada.

Comparado com MaskDiT, nenhuma função de perda adicional é necessária aqui, e o design geral e o treinamento são mais simples.

O misturador em si é uma estrutura muito leve e atende aos critérios de economia de dinheiro.

afinação

Como uma taxa de mascaramento muito alta reduzirá significativamente a capacidade do modelo de difusão de aprender a estrutura global da imagem e introduzirá uma mudança de distribuição do treinamento para o teste, o autor realizou um pequeno ajuste fino (desmascarar) após o pré-treinamento (máscara)).

Além disso, o ajuste fino pode mitigar quaisquer artefatos de geração indesejáveis ​​causados ​​pelo uso de máscaras.

MoE e extensões em camadas

O MoE pode aumentar os parâmetros e capacidades expressivas do modelo sem aumentar significativamente o custo de treinamento.

Os autores usam uma camada MoE simplificada baseada em roteamento selecionado por especialistas, com cada especialista determinando a rota para seu token sem a necessidade de qualquer função auxiliar de perda adicional para equilibrar a carga entre os especialistas.


Além disso, os autores também consideraram um método de escalonamento hierárquico que aumenta linearmente a largura do bloco Transformer (ou seja, o tamanho da camada oculta na camada de atenção e na camada de feed-forward).

Como as camadas mais profundas nos modelos de visão tendem a aprender recursos mais complexos, o uso de mais parâmetros nas camadas mais profundas levará a um melhor desempenho.

Configuração experimental

O autor usa duas variantes do DiT: DiT-Tiny/2 e DiT-Xl/2, com tamanho de patch 2.

Todos os modelos foram treinados usando o otimizador AdamW com decaimento da taxa de aprendizagem de cosseno e decaimento de alto peso.


O front-end do modelo usa o autoencoder variacional de quatro canais (VAE) no modelo Stable-Diffusion-XL para extrair recursos de imagem. Além disso, o desempenho do mais recente VAE de 16 canais em treinamento em larga escala (versão salvadora). ) também foi testado.


Os autores usam a estrutura EDM como um ambiente de treinamento unificado para todos os modelos de difusão e usam pontuações FID e CLIP para medir o desempenho do modelo de geração de imagens.

O modelo CLIP mais comumente usado foi selecionado para o codificador de texto. Embora modelos maiores, como o T5-xxl, tenham melhor desempenho em tarefas desafiadoras, como síntese de texto, eles não são usados ​​aqui com o propósito de economizar dinheiro.

conjunto de dados de treinamento

São usados ​​três conjuntos de dados de imagens reais (Conceptual Captions, Segment Anything, TextCaps), contendo 22 milhões de pares imagem-texto.

Como o SA1B não fornece legendas reais, aqui são utilizadas legendas sintéticas geradas pelo modelo LLaVA. Os autores também adicionaram dois conjuntos de dados de imagens sintéticas contendo 15 milhões de pares imagem-texto ao treinamento em larga escala: JourneyDB e DiffusionDB.

Para ablação em pequena escala, os pesquisadores construíram um conjunto de dados de texto para imagem chamado cifar-captions, subamostrando imagens de 10 classes CIFAR-10 do conjunto de dados COYO-700M maior.

Avaliar

Todos os experimentos de avaliação foram realizados utilizando o modelo DiT-Tiny/2 e o conjunto de dados cifar-captions (resolução 256 × 256).

Cada modelo foi treinado para etapas de otimização de 60 mil usando o otimizador AdamW e média móvel exponencial (coeficiente de suavização de 0,995 para as últimas etapas de 10 mil).

máscara de atraso

A linha de base do experimento escolheu o mascaramento Naive mencionado acima, enquanto o mascaramento de atraso neste artigo adicionou um patch-mixer leve, com o número de parâmetros inferior a 10% da rede backbone.

De modo geral, quanto mais patches forem perdidos (alta taxa de mascaramento), pior será o desempenho do modelo. Por exemplo, o desempenho do MaskDiT cai significativamente após ultrapassar 50%.

O experimento de comparação aqui usa os hiperparâmetros padrão (taxa de aprendizagem 1,6 × 10e-4, redução de peso de 0,01 e taxa de aprendizagem de cosseno) para treinar dois modelos.


Os resultados da figura acima mostram que o método de mascaramento de atraso melhorou nos três indicadores FID, Clip-FID e Clip score.

Além disso, a diferença de desempenho em relação à linha de base aumenta à medida que a taxa de mascaramento aumenta. Quando a taxa de mascaramento é de 75%, o mascaramento ingênuo reduzirá a pontuação do FID para 16,5, enquanto nosso método atinge 5,03, que está mais próximo da pontuação do FID sem mascaramento (3,79).

hiperparâmetros

Seguindo a ideia geral do treinamento LLM, comparamos aqui a seleção de hiperparâmetros das duas tarefas.

Primeiro, na camada feedforward, a função de ativação SwiGLU é melhor que GELU. Em segundo lugar, uma maior atenuação de peso leva a um melhor desempenho de geração de imagem.


Além disso, diferentemente do treinamento LLM, o modelo de difusão neste artigo pode alcançar melhor desempenho ao usar um coeficiente médio de corrida mais alto para o momento de segunda ordem (β) de AdamW.

Finalmente, os autores descobriram que usar um pequeno número de etapas de treinamento e aumentar a taxa de aprendizado para o valor máximo possível (até que o treinamento se torne instável) também melhorou significativamente o desempenho de geração de imagens.

Projeto do misturador

Geralmente é certo trabalhar duro para conseguir milagres, e o autor também observou que o desempenho do modelo continua a melhorar depois de usar um misturador de patches maior.

Porém, para economizar dinheiro, um pequeno mixer ainda é escolhido aqui.

Os autores modificaram a distribuição do ruído para (−0,6, 1,2), o que melhorou o alinhamento entre as legendas e a imagem gerada.

Conforme mostrado na figura abaixo, abaixo da taxa de mascaramento de 75%, o autor também estudou o impacto do uso de diferentes tamanhos de patches.


Quando o número de regiões contínuas aumenta (os patches ficam maiores), o desempenho do modelo diminui, de modo que a estratégia original de mascarar aleatoriamente cada patch é mantida.

dimensionamento em camadas

Este experimento treinou duas variantes da arquitetura DiT-Tiny, uma com largura constante e outra com estrutura escalonada hierarquicamente.

Ambos os métodos usam mascaramento Naive e ajustam o tamanho do Transformer para garantir que o poder de computação do modelo nos dois casos seja o mesmo, enquanto executa as mesmas etapas e tempo de treinamento.


A partir dos resultados da tabela acima, pode-se observar que o método de escalonamento hierárquico é melhor do que o método de largura constante da linha de base em todos os três indicadores de desempenho, o que indica que o método de escalonamento hierárquico é mais adequado para mascarar o treinamento de DiT.

Referências:

https://arxiv.org/abs/2407.15811