Ultralytics YOLO27:
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Diffusion Transformer (DiT)

Um Transformer de Difusão (DiT) substitui a U-Net de um modelo de difusão por um Transformer que opera sobre patches latentes; esse é o projeto por trás de SD3, FLUX.1 e Sora.

Um Transformer de difusão (DiT) é um modelo de difusão cuja rede de remoção de ruído é um transformer, em vez de uma U-Net convolucional. Divide a representação latente de uma imagem ruidosa em patches, processa-os como uma sequência de tokens com autoatenção, tal como um Vision Transformer (ViT) processa uma imagem, e prevê o ruído a remover em cada etapa de remoção de ruído. William Peebles e Saining Xie apresentaram-no em Modelos de difusão escaláveis com Transformers (ICCV 2023), onde o DiT-XL/2 atingiu uma Distância de Inception de Fréchet (FID) de 2,27 no ImageNet 256×256 com condicionamento de classe, superando o melhor resultado anterior de 3,60 obtido com difusão latente. O artigo mostrou que a qualidade da imagem melhora continuamente à medida que aumenta o poder computacional de um DiT, e desde então os denoisers Transformer substituíram as U-Nets na maioria dos grandes geradores de imagens e vídeos, incluindo Stable Diffusion 3, FLUX.1 e Sora da OpenAI.

Como funciona um Transformer de difusão#

Um DiT é executado no espaço latente do autoencoder variacional (VAE) pré-treinado usado pelo Stable Diffusion, cujo codificador reduz a resolução por um fator de 8; assim, uma imagem 256×256×3 transforma-se numa representação latente 32×32×4. Uma camada de divisão em patches separa a representação latente ruidosa em patches p×p e incorpora linearmente cada um como um token; tamanhos de patch de 2, 4 e 8 resultam em 256, 64 e 16 tokens. Embeddings posicionais seno-cosseno assinalam a origem de cada token, uma pilha de blocos Transformer processa a sequência e uma camada linear final converte cada token novamente num patch de ruído e variância previstos, que são reunidos na forma da representação latente. O passo temporal da difusão e o rótulo da classe — ou o prompt de texto, num modelo de texto para imagem — condicionam cada bloco. A geração repete esta previsão a partir de ruído puro até à última etapa, e o descodificador VAE converte a representação latente limpa em píxeis:

O artigo comparou quatro formas de introduzir a condição em cada bloco: tokens adicionais na sequência, atenção cruzada, normalização adaptativa de camadas (adaLN) e adaLN-Zero. A adaLN-Zero obteve a FID mais baixa e foi também a mais eficiente em termos computacionais. Uma pequena rede lê a soma dos embeddings do passo temporal e da classe e prevê um desvio e uma escala aplicados após cada normalização de camadas, além de uma porta que escala cada ramo residual. As portas começam em zero, pelo que cada bloco inicia o treino como uma função identidade. Este patch de código PyTorch divide uma representação latente em patches e aplica o ramo de atenção de um bloco:

import torch
from torch import nn

torch.manual_seed(0)
# A 256x256 image becomes a 4x32x32 latent; 2x2 patches turn it into 256 tokens of width 384 (DiT-S/2)
latent = torch.randn(1, 4, 32, 32)
tokens = nn.Conv2d(4, 384, kernel_size=2, stride=2)(latent).flatten(2).transpose(1, 2)

# adaLN-Zero: the timestep and class embedding regresses a shift, scale, and gate for the attention branch
condition = torch.randn(1, 384)
modulation = nn.Linear(384, 3 * 384)
nn.init.zeros_(modulation.weight)
nn.init.zeros_(modulation.bias)
shift, scale, gate = modulation(condition).unsqueeze(1).chunk(3, dim=-1)

# Self-attention branch of a DiT block, modulated by the condition and scaled by the gate
attention = nn.MultiheadAttention(384, num_heads=6, batch_first=True)
h = nn.functional.layer_norm(tokens, (384,)) * (1 + scale) + shift
out = tokens + gate * attention(h, h, h)[0]
print(f"tokens {tuple(tokens.shape)}, block is identity at initialization: {torch.equal(out, tokens)}")

Imprime tokens (1, 256, 384), block is identity at initialization: True. Os 256 tokens com largura 384 correspondem ao modelo mais pequeno, DiT-S/2, e a porta zero deixa a entrada passar sem alterações até que o treino a modifique. Um bloco DiT completo prevê um segundo desvio, uma segunda escala e uma segunda porta para o ramo MLP.

Escala com tokens e poder computacional#

O artigo treinou quatro tamanhos de modelo, do DiT-S (12 camadas, largura 384) ao DiT-XL (28 camadas, largura 1.152), cada um com tamanhos de patch 8, 4 e 2. Nos 12 modelos, a FID acompanhou o custo computacional da passagem direta em Gflops, quer o custo resultasse de uma rede mais profunda ou mais larga, quer de mais tokens. Reduzir o tamanho do patch para metade quadruplica a contagem de tokens e o custo computacional, acrescentando quase nenhuns parâmetros. O DiT-XL/2 tem 675 milhões de parâmetros, sem contar o VAE de 84 milhões de parâmetros, e usa 119 Gflops por passagem direta a 256×256. A 512×512, processa 1.024 tokens provenientes de uma representação latente 64×64×4 com 525 Gflops e atinge uma FID de 3,04. Como a autoatenção compara cada token com todos os outros, as resoluções mais elevadas e os vídeos mais longos aumentam o seu custo de forma quadrática. O Ultralytics YOLO26 evita este custo ao aplicar atenção apenas na sua etapa de escala 1/32, que tem 400 posições para uma imagem 640×640, e manter as convoluções em todas as outras partes para a deteção em tempo real.

DiT vs. U-Net e ViT#

  • Denoisers U-Net: As U-Nets do DDPM e do Stable Diffusion 1.x e 2.x são codificadores-descodificadores convolucionais que trabalham em várias resoluções, com ligações de atalho entre níveis correspondentes e atenção acrescentada nas resoluções mais baixas. Um DiT mantém uma única resolução de tokens, aplica atenção global em cada bloco e tem menos escolhas de design específicas para imagens, pelo que escala da mesma forma que os Transformers nos grandes modelos de linguagem.
  • Vision Transformer: O ViT codifica uma imagem para tarefas como a classificação. O DiT reutiliza a sua incorporação de patches e os seus blocos Transformer, acrescenta o condicionamento do passo temporal através de adaLN-Zero e gera uma previsão para cada patch.
  • Difusão latente e correspondência de fluxo: Um modelo de difusão latente é a estrutura geral para remover ruído no espaço latente de um VAE, e a difusão ou a correspondência de fluxo é o objetivo de treino. O DiT é a rede de remoção de ruído dentro dessa estrutura, e os geradores atuais combinam backbones DiT com objetivos de correspondência de fluxo.

DiTs para texto para imagem e vídeo#

  • DiT multimodal (MMDiT): O Stable Diffusion 3 processa tokens de imagem e tokens de texto com pesos separados para cada modalidade e junta-os numa única operação de atenção, permitindo que a informação flua em ambas as direções entre o prompt e a imagem. Isto melhorou a tipografia e o seguimento de prompts, e o Stable Diffusion 3.5 Large escala o design para cerca de 8 mil milhões de parâmetros.
  • FLUX.1: O FLUX.1 da Black Forest Labs é um Transformer de fluxo retificado com 12 mil milhões de parâmetros para a geração de texto para imagem.
  • Vídeo: O relatório técnico da Sora da OpenAI descreve um Transformer de difusão que comprime vídeos num espaço latente e divide-os em patches de espaço-tempo, para que os clipes de diferentes durações, resoluções e proporções se tornem sequências de tokens com comprimentos diferentes. Para a geração de vídeo, o maior modelo Movie Gen da Meta é um Transformer com 30 mil milhões de parâmetros, cujo contexto de 73.000 tokens de vídeo corresponde a 16 segundos de vídeo a 16 fotogramas por segundo.

Explore solutions

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens aéreas e de drones em informações em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com o Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão ao monitoramento aéreo com modelos Ultralytics YOLO. Impulsiona drones, fluxos de trabalho aeroespaciais, conservação ambiental e setores geoespaciais com soluções de visão computacional.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais
Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens aéreas e de drones em informações em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com o Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão ao monitoramento aéreo com modelos Ultralytics YOLO. Impulsiona drones, fluxos de trabalho aeroespaciais, conservação ambiental e setores geoespaciais com soluções de visão computacional.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais
Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens aéreas e de drones em informações em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com o Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão ao monitoramento aéreo com modelos Ultralytics YOLO. Impulsiona drones, fluxos de trabalho aeroespaciais, conservação ambiental e setores geoespaciais com soluções de visão computacional.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina