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

Longformer

O Longformer combina atenção de janela deslizante com alguns tokens globais, fazendo com que seu custo cresça linearmente com o comprimento e permitindo processar documentos de 4.096 tokens.

O Longformer é um Transformer para documentos longos que substitui a autoatenção completa por atenção numa janela deslizante em torno de cada token, além de atenção global em alguns tokens escolhidos para a tarefa; assim, o custo cresce linearmente com o comprimento da entrada, em vez de quadraticamente. Iz Beltagy, Matthew Peters e Arman Cohan, do Allen Institute for AI, apresentaram-no no artigo de 2020 Longformer: The Long-Document Transformer. Codificadores como o BERT e o RoBERTa leem no máximo 512 tokens, pelo que era necessário dividir os textos mais longos em segmentos que perdiam as ligações entre si. Os modelos Longformer lançados leem 4096 tokens numa única passagem, uma janela de contexto oito vezes maior.

Como funciona a atenção do Longformer#

Cada camada combina padrões locais e globais num único mecanismo de atenção:

  • Atenção com janela deslizante: Cada token presta atenção a uma janela fixa de tokens vizinhos, 256 de cada lado nos modelos lançados.
  • Janela deslizante dilatada: Os intervalos entre as posições às quais se presta atenção permitem que uma cabeça abranja mais posições com o mesmo custo. Os autores utilizaram dilatação em algumas cabeças nas camadas superiores dos seus modelos de linguagem ao nível dos caracteres.
  • Atenção global: Os tokens selecionados prestam atenção a todas as posições, e todas as posições prestam atenção a esses tokens, através de projeções separadas de consulta, chave e valor. A tarefa determina quais são: o token [CLS] para a classificação e os tokens da pergunta para responder a perguntas.

A sobreposição de camadas alarga o alcance da janela, tal como as convoluções sobrepostas aumentam o campo recetivo de uma rede neuronal convolucional (CNN): l camadas com janela w abrangem l × w tokens. Cada camada calcula cerca de n × w pontuações de atenção, em vez de n × n. Contar os pares numa máscara Longformer torna a diferença visível:

import torch

window = 512  # Longformer-base: 256 tokens on each side of every token

for n in (1024, 2048, 4096):
    pos = torch.arange(n)
    # Sliding window: each token attends to neighbors within window / 2 positions
    mask = (pos[:, None] - pos[None, :]).abs() <= window // 2
    # Global attention on token 0 ([CLS]): it sees every token and every token sees it
    mask[0, :] = True
    mask[:, 0] = True
    print(f"{n} tokens: full attention {n * n / 1e6:.1f}M scores, Longformer {mask.sum().item() / 1e6:.1f}M")

Imprime 0,5M, 1,0M e 2,0M de pontuações Longformer, contra 1,0M, 4,2M e 16,8M para a atenção completa: cada duplicação da entrada duplica o trabalho de atenção do Longformer e quadruplica o trabalho da atenção completa. As implementações reais calculam apenas a faixa de pontuações, o que permite poupar memória.

Treino e resultados#

O Longformer parte do ponto de verificação do RoBERTa. Os autores copiaram oito vezes suas 512 incorporações de posição aprendidas para cobrir 4.096 posições e continuaram o pré-treinamento de modelo de linguagem mascarada em documentos longos. Após o ajuste fino, superou consistentemente o RoBERTa em tarefas com documentos longos e alcançou resultados de ponta na época nos benchmarks de perguntas e respostas WikiHop e TriviaQA. Enquanto isso, o modelo de linguagem em nível de caracteres estabeleceu novos resultados no text8 e no enwik8.

O Longformer-Encoder-Decoder (LED) acrescenta um descodificador para tarefas de resumo de texto e outras tarefas de geração de texto, demonstradas na síntese de artigos científicos completos do arXiv. A biblioteca Transformers da Hugging Face implementa ambos os modelos e recebe os tokens globais como global_attention_mask. Surgiram depois versões para domínios específicos, como o Clinical-Longformer, pré-treinado com grandes corpora de textos clínicos e avaliado em 10 tarefas, incluindo reconhecimento de entidades nomeadas, resposta a perguntas e classificação de documentos.

  • Transformer-XL: Lê um segmento de texto longo de cada vez e permite que cada segmento preste atenção aos estados ocultos em cache do segmento anterior, alargando o contexto através de recorrência para geração da esquerda para a direita.
  • BigBird: Modelo da Google do mesmo ano que acrescenta ligações de atenção aleatórias à atenção de janela e à atenção global e também lê 4096 tokens.
  • Atenção esparsa: Família mais abrangente de padrões de atenção fixos à qual pertence o Longformer.
  • Atenção Flash: Calcula a atenção completa exata em blocos de memória na memória do chip, pelo que a utilização de memória cresce linearmente com o comprimento, enquanto o número de pontuações continua a crescer quadraticamente.

Atenção local e global em visão#

As imagens de alta resolução colocam o mesmo problema, porque um Transformer de visão (ViT) transforma uma imagem em milhares de tokens de blocos. O Swin Transformer resolve o problema com janelas locais deslocadas, e o Segment Anything Model (SAM) da Meta, executado no pacote Ultralytics, combina atenção em janelas e atenção global bloco a bloco para a segmentação de imagens: o codificador de imagens ViT-B presta atenção em janelas não sobrepostas de 14 × 14 na grelha de blocos de 64 × 64 em 8 dos seus 12 blocos e globalmente nos 4096 blocos nos blocos 2, 5, 8 e 11.

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