Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Sparse Attention

A atenção esparsa permite que cada token preste atenção a um subconjunto escolhido de outros tokens, como uma janela local, tokens globais ou seleções top-k, reduzindo o custo de sequências longas.

A atenção esparsa é uma família de mecanismos de atenção em que cada consulta calcula pontuações apenas para um subconjunto escolhido de chaves, em vez de considerar todas as chaves da sequência. A autoatenção completa sobre N tokens calcula N² pontuações por cabeça; por isso, duplicar o comprimento de um documento quadruplica o custo da atenção, enquanto um padrão em que cada token atende a k outros custa N·k. O padrão pode ser definido antecipadamente, como uma janela local, ou escolhido com base no conteúdo, por exemplo, selecionando as chaves com pontuação mais elevada para cada consulta. O Sparse Transformer da OpenAI, de 2019, usou padrões espaçados com um custo O(N√N) para modelar sequências com dezenas de milhares de etapas, e os atuais modelos de linguagem de grande porte (LLMs) usam camadas esparsas para processar janelas de contexto com mais de 100.000 tokens.

Padrões de esparsidade comuns#

Os padrões fixos determinam antecipadamente quais pares recebem pontuações. A atenção com janela deslizante permite que cada token veja apenas os w tokens anteriores: o Mistral 7B usa uma janela de 4.096 tokens, e os modelos de pesos abertos gpt-oss da OpenAI alternam camadas densas com camadas de janela de 128 tokens, a mesma alternância entre camadas densas e localmente agrupadas usada pelo GPT-3. Cada camada com janela transporta informação mais w tokens à frente; assim, uma pilha profunda continua a ligar tokens distantes. Os padrões espaçados acrescentam cada s-ésimo token anterior, fazendo também com que a informação salte longas distâncias numa única camada. Os tokens globais atendem a todas as posições e são atendidos por todas elas: o Longformer atribui-os a tokens de tarefa, como um token de classificação; o BigBird também acrescenta ligações aleatórias; e os sumidouros de atenção mantêm os primeiros tokens visíveis para todas as consultas, para estabilizar a geração em fluxo.

Os padrões baseados no conteúdo escolhem os pares a partir dos dados. A Native Sparse Attention da DeepSeek (NSA, 2025) combina resumos comprimidos de blocos de chaves, uma seleção dos blocos mais relevantes e uma janela deslizante, sendo tudo treinado de ponta a ponta. A DeepSeek Sparse Attention do DeepSeek-V3.2 executa um pequeno «indexador relâmpago» que atribui uma pontuação a cada token anterior para cada consulta e, em seguida, calcula a atenção completa apenas sobre os 2.048 tokens com as pontuações mais altas; assim, o principal custo de atenção de cada consulta mantém-se fixo, independentemente do crescimento do contexto. Os modelos de produção combinam frequentemente estas regras:

Transformar um padrão em ganhos de eficiência#

Uma máscara aplicada a uma matriz densa de pontuações continua a calcular todas as pontuações; por isso, os ganhos de velocidade dependem de kernels que ignorem os blocos vazios da matriz. Os kernels de atenção Flash suportam diretamente janelas deslizantes, e o FlexAttention do PyTorch compila qualquer função de máscara num kernel GPU esparso por blocos. O seu create_block_mask mostra quais blocos esse kernel ignora para uma janela de 1.024 tokens mais quatro tokens sumidouro:

from torch.nn.attention.flex_attention import create_block_mask

seq_len, window, sinks = 8192, 1024, 4


def local_plus_sinks(b, h, q_idx, kv_idx):
    """Causal attention to the previous 1,024 tokens plus the first 4 tokens."""
    causal = q_idx >= kv_idx
    return causal & ((q_idx - kv_idx <= window) | (kv_idx < sinks))


# FlexAttention divide a máscara em blocos de 128 x 128 para que os kernels possam ignorar blocos vazios
block_mask = create_block_mask(local_plus_sinks, B=None, H=None, Q_LEN=seq_len, KV_LEN=seq_len, device="cpu")
print(block_mask)

A saída apresenta sparsity=85.47%, a proporção de blocos de 128 × 128 da matriz de pontuações de 8.192 × 8.192 que não contêm nenhum par permitido, e representa o padrão como uma faixa diagonal correspondente à janela e uma coluna à esquerda correspondente aos tokens sumidouro. Quando flex_attention é executado em torch.compile, o kernel ignora esses blocos por completo.

  • Atenção Flash: um kernel consciente de E/S que calcula a atenção exata sobre todos os pares, dividindo o trabalho em blocos na memória rápida integrada ao chip. Os blocos também são a unidade que os kernels esparsos por blocos ignoram.
  • Atenção linear: mantém todos os pares, mas substitui a softmax por um mapa de características, comprimindo todas as chaves e valores anteriores num estado de tamanho fixo.
  • Atenção deformável: mecanismo de visão em que cada consulta atende a alguns pontos de amostragem em deslocamentos aprendidos num mapa de características, em vez de seguir um padrão fixo.
  • Mistura de especialistas (MoE): esparsidade nos parâmetros, em que cada token ativa apenas algumas redes especialistas, enquanto o seu padrão de atenção permanece denso.

Aplicações#

Os modelos de linguagem com contexto longo são a principal aplicação: as camadas esparsas limitam o custo computacional, e as camadas com janela também limitam a cache KV, permitindo que os modelos resumam relatórios longos ou pesquisem bases de código grandes num único pedido. O BigBird aplicou o seu padrão esparso a sequências de ADN, nas quais uma entrada com milhares de pares de bases é muito mais longa do que uma frase típica, para prever regiões promotoras. Em visão computacional, o número de tokens aumenta com a resolução da imagem, pelo que os modelos restringem a atenção a regiões locais: o Swin Transformer atende dentro de janelas deslocadas. O YOLO12, um detetor centrado na atenção, desenvolvido por investigadores da University at Buffalo e da University of Chinese Academy of Sciences e disponível no pacote Ultralytics, usa atenção por áreas: a sua etapa de backbone com stride 16 divide o mapa de características de 40 × 40 de uma imagem de 640 píxeis em quatro faixas horizontais de 400 tokens e aplica atenção apenas dentro de cada faixa, calculando pontuações para um quarto dos 2,56 milhões de pares que a atenção completa sobre os 1.600 tokens exigiria.

Explore as soluções

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 de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
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