Pular para o conteúdo

O que é atenção esparsa?

Ver no idioma original →

Autoria: Data Science in your pocket · Assistir no YouTube

Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.

Idioma original: inglês

Vídeo original: What is Sparse Attention? · Canal: Data Science in your pocket · 05:19 · Assistir no YouTube

Tópicos: Inferência e otimização de modelos, Modelos de IA

A atenção tradicional compara cada token com todos os outros, fazendo com que o custo de memória e computação cresça quadraticamente com o tamanho da sequência. A atenção esparsa reduz esse custo ao permitir que cada token considere apenas um subconjunto escolhido de tokens. O vídeo apresenta padrões como janelas locais, atenção dilatada, tokens globais e conexões aleatórias, além de exemplos de modelos que os utilizam. Ela é especialmente útil para entradas longas, enquanto a atenção densa pode ser mais adequada para sequências curtas.

  • Na self-attention, cada token compara sua query com as keys dos demais tokens para calcular uma soma ponderada dos values.
  • A atenção densa cria uma matriz de pontuações N por N, por isso seu custo cresce quadraticamente com o comprimento da sequência.
  • A atenção esparsa mascara conexões não selecionadas e evita calcular suas pontuações.
  • A atenção local ou por janela deslizante considera os tokens vizinhos.
  • A atenção strided ou dilatada conecta tokens espaçados ao longo da sequência.
  • Tokens globais podem reunir e distribuir informações por toda a sequência.
  • Big Bird combina janelas locais em blocos, tokens globais e algumas conexões aleatórias.
  • A atenção esparsa pode ser vantajosa para documentos longos, imagens de alta resolução e orçamentos de memória limitados.
Início Capítulo Resumo
00:00 O custo da atenção densa O vídeo explica como a self-attention cria uma matriz de tamanho N por N e por que isso torna sequências longas caras.
01:05 Como funciona a atenção esparsa A atenção esparsa mascara conexões desnecessárias e reduz o custo de quadrático para proporcional a N vezes K.
02:09 Padrões de atenção esparsa São apresentados padrões locais, strided, tokens globais e a combinação de conexões usada por Big Bird.
03:43 Aplicações e comparação de custos O vídeo cita modelos que usam atenção esparsa, compara o número de conexões em uma frase e indica quando preferi-la à atenção densa.

Dobre os tokens e você quadruplica o trabalho. — 00:00

Cada token atende apenas a um subconjunto escolhido de tokens. — 01:36

Quanto mais longa a entrada, maior o benefício da atenção esparsa. — 04:48

A mesma ideia, por uma fração do custo. — 05:19

  • Sparse attention (conceito): Mecanismo de atenção que restringe as conexões consideradas a um subconjunto de tokens para reduzir o custo computacional.
  • Self-attention (conceito): Mecanismo em que cada token calcula sua relação com outros tokens usando query, key e value.
  • Local attention (conceito): Padrão em que cada token atende apenas a tokens próximos, formando uma janela ao redor de sua posição.
  • Strided attention (conceito): Padrão que conecta tokens espaçados por passos fixos para alcançar posições distantes com menos conexões.
  • Global tokens (conceito): Tokens especiais que atendem à sequência inteira e funcionam como pontos de reunião e distribuição de contexto.
  • Mistral (modelo): Modelo citado no vídeo como usuário de atenção por janela deslizante.
  • Longformer (modelo): Modelo que combina tokens globais com uma janela local deslizante.
  • Big Bird (modelo): Modelo que combina janelas locais em blocos, tokens globais e conexões aleatórias.
  • Gemma (modelo): Modelo citado no vídeo como usuário de atenção por janela deslizante.
  • GPT-3 (modelo): Modelo mencionado no vídeo em relação à alternância entre camadas densas e esparsas com padrão strided.

00:00 Boas-vindas ao Data Science in Your Pocket. Transformers são a base de quase todos os modelos modernos de IA, mas sua camada de atenção tem uma fraqueza oculta. Seu custo cresce quadraticamente com o comprimento da sequência. Duplique os tokens e você quadruplica o trabalho. Hoje, veremos como a atenção esparsa resolve isso, permitindo que cada token considere apenas o que realmente importa. Uma rápida recapitulação. Na autoatenção, cada token cria três vetores: uma consulta, uma chave e um

00:32 valor. Comparamos cada consulta com todas as chaves usando produtos escalares, escalamos as pontuações por raiz de D e as passamos pelo softmax. O resultado é uma soma ponderada dos valores. Em resumo, cada token considera todos os outros tokens. Aqui está o problema. Entre os tokens, a atenção constrói uma matriz de pontuações N por N. 1.000 tokens significam 1 milhão de pares. 100.000 tokens significam 10 bilhões de pares. A memória e o processamento explodem.

01:05 Documentos longos, imagens de alta resolução, bases de código inteiras: a atenção comum simplesmente não consegue dar conta deles. Mas observe uma matriz de atenção real. A maior parte dela é quase zero. As palavras próximas carregam a maior parte do sinal, além de alguns tokens importantes, como o sujeito da frase. É como ler um livro. Você se concentra no parágrafo à sua frente, não em todas as páginas ao mesmo tempo. A atenção esparsa formaliza essa ideia. Em vez de prestar atenção a

01:36 tudo, cada token presta atenção apenas a um subconjunto escolhido de tokens. Todas as outras conexões são mascaradas antes do softmax. A matriz de atenção fica quase toda vazia, e nem sequer calculamos essas entradas. Aqui está a matemática. Calculamos as pontuações S = Q * K transposta sobre raiz de DK. Depois, adicionamos uma matriz de máscara M. As posições permitidas recebem zero. As posições não permitidas recebem menos infinito. Depois do softmax, menos

02:09 infinito se torna exatamente zero. Assim, esses tokens não contribuem em nada. O custo cai de ordem N ao quadrado para ordem N vezes K. Padrão um: atenção local ou de janela deslizante. Cada token presta atenção apenas aos seus W vizinhos mais próximos de cada lado. A matriz de atenção se torna uma faixa estreita ao redor da diagonal. É exatamente isso que Mistral usa. É barato, simples e captura muito bem a estrutura de curto alcance.

02:41 Padrão dois: atenção com passo ou dilatada. Em vez dos vizinhos, cada token presta atenção a cada token de índice S, saltando pela sequência em intervalos fixos. Isso permite alcançar posições distantes a baixo custo. O sparse transformer, usado no GPT-3 inicial, alternava padrões com passo e locais entre as camadas. Padrão três: tokens globais. Alguns tokens especiais, como o token CLS,

03:11 prestam atenção a tudo, e todos os outros tokens também prestam atenção a eles. Eles funcionam como centros de informação, reunindo e transmitindo contexto por toda a sequência. Longformer combina esses tokens globais com uma janela deslizante local. Padrão quatro: Big Bird. Ele combina janelas locais em blocos, alguns tokens globais e uma pitada de conexões aleatórias. As conexões aleatórias funcionam como atalhos em uma rede viária, mantendo cada token a poucos saltos de qualquer

03:43 outro. Surpreendentemente, Big Bird é comprovadamente um aproximador universal e até tem completude de Turing com camadas suficientes. A atenção esparsa está por toda parte. GPT-3 alternava camadas densas e esparsas com passo. Longformer e Big Bird leem documentos com milhares de tokens. Mistral e Gemma usam atenção de janela deslizante. E muitos modelos modernos de contexto longo aproveitam esses truques para ampliar suas context windows sem

04:15 estourar seus orçamentos. Vamos a um exemplo concreto. Considere esta frase: O gato sentou no parapeito quente da janela, aproveitando a luz do sol. 10 palavras. A atenção densa calcula 100 pares. Com uma janela de dois de cada lado, as palavras “janela” e “parapeito” prestam atenção apenas aos seus quatro vizinhos mais próximos, como “o”, “quente” e mais um token global. Isso dá cerca de 34 pares no total, não 100. Então, quando você deve optar pela atenção esparsa? A atenção esparsa é vantajosa para documentos longos, modelos de linguagem com context longo, imagens de alta resolução, genômica e orçamentos de memória apertados. A atenção densa ainda faz sentido para sequências curtas, em que o detalhamento completo custa pouco e oferece a máxima precisão. Regra prática: quanto maior a sua entrada, mais a atenção esparsa compensa. Para recapitular, a atenção é poderosa, mas quadrática, e a atenção esparsa resolve isso permitindo que cada token preste atenção apenas a um

04:48 subconjunto escolhido com cuidado. A mesma ideia, por uma fração do custo. Obrigado por assistir e até o próximo vídeo.

05:19 subconjunto. A mesma ideia, por uma fração do custo. Obrigado por assistir e até o próximo vídeo.

Transcrição original

[00:00] Welcome to data science in your [music] pocket. Transformers power almost every modern AI model, but their attention layer has a hidden weakness. >> [music] >> Its cost grows quadratically with sequence length. Double the tokens and you quadruple the work. Today, we will see how sparse attention fixes this by letting every token look only at what actually matters. Quick recap. [music] In self-attention, every token creates three vectors, a query, a key, and a

[00:32] value. [music] We compare each query with all keys using dot products, scale the scores by root D, and pass them through softmax. The result is a weighted [music] sum of the values. In short, every token looks at every other token. Here >> [music] >> is the catch. Within tokens, attention builds an N by [music] N matrix of scores. 1,000 tokens means 1 million pairs. 100,000 tokens means 10 billion pairs. Memory and compute both explode.

[01:05] Long documents, [music] high-resolution images, entire code bases, plain attention simply cannot afford [music] them. But look at a real attention matrix. Most of it is almost zero. Nearby words carry most of the signal, plus a few important tokens like the subject of the sentence. It is like reading a book. You focus on the paragraph in front of you, not every page at once. Sparse attention makes this idea official. Instead of attending to

[01:36] everything, >> [music] >> each token attends only to a chosen subset of tokens. All other connections are masked out before the softmax. The attention matrix becomes mostly empty, and we never even compute those entries. Here’s the maths. We compute scores S = [music] Q * K transpose over root DK. Then we add a mask matrix M. Allowed positions get zero. Disallowed positions get minus infinity. After softmax, minus

[02:09] infinity [music] becomes exactly zero. So those tokens contribute nothing. Cost drops from order N [music] squared to order N times K. Pattern one, local or sliding window attention. Each token attends only [music] to its W nearest neighbors on each side. The attention matrix becomes a narrow band around the diagonal. This is exactly what Mistral uses. It is cheap, simple, and captures short-range structure beautifully. [music]

[02:41] Pattern two, strided or dilated attention. Instead of neighbors, each token attends to [music] every STH token, jumping across the sequence in fixed steps. This gives long-range reach at a low cost. >> [music] >> The sparse transformer, used in early GPT-3, alternated strided and local patterns across layers. Pattern three, global tokens. A few special tokens, like the CLS token,

[03:11] attend to everything and every other token attends back to them. They act as information hubs, gathering [music] and broadcasting context across the whole sequence. Longformer combines these global tokens with a local [music] sliding window. Pattern four, Big Bird. It mixes block local windows, a few global tokens, and a sprinkle of random connections. The [snorts] random links work like shortcuts in a road network, keeping every token within a few hops of every

[03:43] other. Remarkably, Big Bird is provably a universal approximator >> [music] >> and even Turing complete with enough layers. Sparse attention [music] is everywhere. GPT-3 alternated dense >> [music] >> and strided sparse layers. Longformer and Big Bird read documents [music] thousands of tokens long. Mistral and Gemma use sliding window attention. And many modern long context models borrow these tricks [music] to stretch their context windows without

[04:15] exploding their budgets. Let’s make it concrete. Take this sentence. The cat sat on the warm window sill enjoying the sunlight. 10 words. >> [music] >> Dense attention computes 100 pairs. With a window of two on each side, the word window sill attends only to its four closest neighbors, like the in warm plus one global token. That is about 34 pairs in total, [music] not 100. So, when should you go sparse? Sparse attention wins for long documents, long

[04:48] context language models, high-resolution images, genomics, [music] and tight memory budgets. Dense attention still makes sense for short sequences, >> [music] >> where its full detail costs little and buys maximum accuracy. Rule of thumb, [music] the longer your input, the more sparse attention pays off. To recap, [music] attention is powerful but quadratic, and sparse attention fixes [music] this by letting each token attend only to a carefully chosen

[05:19] subset. Same idea, a fraction of the cost. Thanks for watching and see you in the next video.