Zubnet AIAprenderWiki › Atenção Cruzada
Fundamentos

Atenção Cruzada

Também conhecido como: Atenção Encoder-Decoder
Um mecanismo de atenção onde as queries vêm de uma sequência e as keys/values vêm de uma sequência diferente. Em modelos encoder-decoder, as queries do decoder atendem às keys e values do encoder, permitindo que o decoder "olhe" para a entrada enquanto gera a saída. A atenção cruzada é também como o texto condiciona a geração de imagens em modelos de difusão — o processo de geração de imagem atende ao prompt de texto.

Por que isso importa

A atenção cruzada é a ponte entre diferentes modalidades e diferentes partes de uma arquitetura. É como modelos de tradução conectam idiomas de origem e destino, como geradores de imagem seguem prompts de texto, como modelos multimodais relacionam imagens a texto, e como sistemas de Retrieval-Augmented incorporam documentos recuperados. Sempre que duas entradas diferentes precisam interagir, a atenção cruzada geralmente está envolvida.

Em profundidade

Na auto-atenção, Q, K e V todos vêm da mesma sequência — cada token atende a outros tokens na mesma entrada. Na atenção cruzada, Q vem de uma fonte (ex., o decoder) e K, V vêm de outra (ex., o encoder). O token do decoder pergunta "o que na entrada é relevante para o que estou gerando agora?" e o mecanismo de atenção fornece um resumo ponderado da entrada.

Em Modelos de Difusão

Modelos text-to-image usam atenção cruzada para condicionar a geração de imagem no texto. O prompt de texto é codificado em embeddings (via CLIP ou T5), e em cada passo de denoising, as features da imagem atendem aos embeddings de texto através de camadas de atenção cruzada. É assim que o modelo sabe gerar um "gato em uma prancha de surf" — cada localização espacial na imagem atende às palavras relevantes. Manipular esses mapas de atenção cruzada é como técnicas de ponderação de prompt e edição de atenção funcionam.

Padrões de Atenção

Auto-atenção e atenção cruzada têm perfis computacionais diferentes. A auto-atenção é quadrática no comprimento da sequência (cada token atende a todos os outros tokens). A atenção cruzada é linear no comprimento do decoder vezes o comprimento do encoder (cada token do decoder atende a todos os tokens do encoder). Na prática, a saída do encoder é frequentemente muito mais curta que a sequência do decoder, tornando a atenção cruzada mais barata que a auto-atenção do decoder.

Conceitos relacionados

← Todos os termos
← Atenção Atenção Esparsa →