A geração local de imagens fica mais lenta com a pré-visualização em tempo real porque os latentes intermédios têm de ser descodificados, convertidos, copiados e apresentados enquanto a redução de ruído ainda está a decorrer.
Um modelo de difusão mantém normalmente os estados intermédios numa representação latente compacta até a imagem final estar pronta. A pré-visualização em tempo real introduz trabalho adicional entre os passos de amostragem: um descodificador reconstrói os píxeis, o runtime sincroniza as operações do dispositivo e um servidor pode codificar e transmitir o fotograma. Repetir esse processo com uma resolução elevada pode competir com a própria geração pelo poder de processamento e pela largura de banda da memória.
A pré-visualização transforma uma única descodificação final em muitas descodificações intermédias
Sem pré-visualização, o amostrador atualiza um tensor latente durante muitos passos e chama o descodificador de imagem uma vez, perto da conclusão. Uma pré-visualização em cada passo chama repetidamente um descodificador aproximado ou completo, multiplicando trabalho que não melhora a trajetória final de redução de ruído.
A documentação sobre sobrecarga da descodificação de pré-visualizações refere que as pré-visualizações VAE completas podem acrescentar um tempo de execução considerável, enquanto um descodificador de pré-visualização pequeno reduz, mas não elimina, o custo. A comparação isola a escolha do descodificador e a frequência das pré-visualizações como variáveis de primeira ordem.
A lentidão aumenta com o número de píxeis, porque os mapas de características descodificados e os fotogramas de saída aumentam com a resolução. Uma pré-visualização a cada quinto passo, a 512 píxeis, pode ser suficientemente económica, enquanto a descodificação em resolução total a cada passo pode dominar uma execução curta de amostragem acelerada.
A sincronização do dispositivo e o tráfego de memória interrompem o ciclo de amostragem
Os kernels do acelerador são normalmente executados de forma assíncrona, permitindo ao runtime colocar o trabalho em fila de forma eficiente. Ler uma pré-visualização de volta para o anfitrião pode forçar a sincronização, alocar buffers de imagem, mover bytes através de um caminho de memória partilhada ou PCIe e aguardar pela conversão antes de a amostragem continuar.
A arquitetura de difusão latente explica por que motivo a difusão latente realiza a síntese de imagem dispendiosa num espaço comprimido e utiliza um autoencoder para fazer a conversão entre píxeis e latentes. Cada pré-visualização atravessa essa fronteira mais cedo e com maior frequência do que o percurso que produz apenas a saída final.
Os sistemas com memória unificada evitam uma cópia PCIe explícita, mas continuam a disputar largura de banda e capacidade de cache. As GPU dedicadas podem, em vez disso, suportar custos de transferência e sincronização. O fotograma de pré-visualização visível representa, portanto, tanto a descodificação neural como a sobrecarga do sistema.
A codificação para apresentação pode tornar-se o gargalo depois de otimizada a descodificação
Uma interface Web local pode redimensionar a pré-visualização, converter cores, codificá-la em JPEG ou PNG, serializá-la, enviá-la através de um socket e solicitar ao navegador que a descodifique e apresente. Pequenas operações repetidas dezenas de vezes podem demorar mais do que um descodificador pequeno e rápido.
A investigação sobre o pipeline de difusão em tempo real reduz a latência da difusão em streaming através de processamento em lotes e otimizações do pipeline, demonstrando que a saída em tempo real depende de todo o percurso de execução e não de um único kernel do modelo. O transporte da pré-visualização continua fora da contagem teórica de passos do denoiser.
O erro está em assumir que todas as execuções mais lentas resultam da apresentação da pré-visualização. Sementes diferentes, aquecimento, limites térmicos, descarregamento do modelo ou outra carga de trabalho na GPU podem alterar a duração. Compare pedidos idênticos com a pré-visualização desativada e mantenha todas as outras definições.
Meça o custo da pré-visualização por etapa e frequência
Execute o mesmo prompt, semente, modelo, amostrador, número de passos, resolução e tamanho do lote com a pré-visualização desativada, a cada décimo passo, a cada quinto passo e em todos os passos. Registe o tempo total, o tempo de redução de ruído, o tempo de descodificação, a codificação da imagem, os bytes transferidos, a taxa de apresentação do navegador, o pico de memória e a utilização do dispositivo.
Relacione as leituras de memória e computação com os testes de gargalos de recursos e repita depois com um descodificador pequeno e um VAE completo. Mantenha a descodificação da imagem final ativada em todas as execuções para que a comparação meça apenas as pré-visualizações intermédias adicionais.
Escolha a frequência de pré-visualização mais lenta que ainda forneça feedback útil. Se a descodificação dominar, utilize um descodificador ou uma resolução de pré-visualização mais pequenos; se a codificação e a transferência dominarem, agrupe os fotogramas; se o tempo de redução de ruído variar, investigue a sincronização e a pressão sobre a memória.
Centro de Tecnologia e IA
Mais para Ler

Porque é que as alterações de ficheiros SMB chegam a um indexador incremental em rajadas?
Veja como o armazenamento em cache de escrita SMB, as concessões, CHANGE_NOTIFY, o transbordamento do buffer, a reconexão e o processamento em lotes do...

Porque é que o OCR não deteta texto ténue depois de um PDF ser recomprimido?
Saiba como a recompressão de PDF altera pixels ténues, por que razão os visualizadores podem ocultar essa perda e como testar a resolução, o...

Porque é que a latência da IA local oscila com a curva da ventoinha de um servidor doméstico?
Veja como o calor, o controlo da ventoinha, os limites do relógio, o atraso dos sensores e o timing da carga de trabalho criam...

