Essencial
Causal masking e por que a ordem importa
Uma máscara causal impede vazamento da resposta no treinamento next-token e ainda permite treinar todas as posições do prefixo em paralelo.
Atualizada em
1
Conceito
Um modelo de linguagem next-token aprende a fatoração
A probabilidade de pode depender dos tokens anteriores, mas não do próprio nem dos posteriores. No treinamento, contudo, a sequência completa já está na memória. Sem restrição, self-attention numa posição inicial conseguiria ler a resposta futura e obter uma loss enganosamente baixa. Causal masking faz o cálculo obedecer à fatoração autoregressiva.
Para uma sequência de comprimento quatro, o padrão permitido é triangular inferior:
A linha representa a posição receptora da query; a coluna , a key lida. Um significa aresta permitida; zero, proibida. Implementações criam uma máscara aditiva com zero nas pontuações permitidas e menos infinito nas proibidas. Ela é somada a antes de softmax. Como , posições proibidas recebem peso zero.
Em precisão finita, uma biblioteca pode usar o valor representável mais negativo em vez de infinito literal. A intenção é igual, mas o cuidado importa: uma constante só “muito negativa” pode ser insuficiente em certos dtypes ou após outras transformações. APIs modernas de attention costumam aceitar uma opção causal explícita e escolher a representação correta para o kernel.
A máscara combina fluxo de informação sequencial com computação paralela de treinamento. Todas as linhas são produzidas juntas, mas a terceira só depende das três primeiras colunas. Uma RNN impõe causalidade pela ordem de execução. Um Transformer a impõe pelo padrão de conectividade. Na geração, a situação muda: o modelo realmente recebe somente o prefixo existente, produz um token, anexa-o e repete.
Os targets são deslocados em relação aos inputs. Se os tokens de entrada são [BOS, gatos, dormem], os alvos podem ser [gatos, dormem, EOS]. O estado da primeira posição prevê “gatos”; o de “gatos” prevê “dormem”. A máscara permite que uma posição leia a si mesma porque aquele estado prevê o token seguinte, não o token atual. Erros de uma posição podem criar vazamento ou treinar contra o target errado.
Não confunda causal mask com padding mask. Padding permite reunir sequências de tamanhos diferentes num batch. Posições artificiais não devem atuar como keys nem contribuir para a loss. A máscara causal esconde o futuro pela ordem; a de padding esconde posições inválidas pelo comprimento. Um batch pode precisar das duas. Dados empacotados talvez precisem ainda de uma fronteira entre documentos.
Causalidade também não equivale a conhecer ordem absoluta. Sem sinal posicional, trocar dois tokens anteriores apresentaria o mesmo conjunto de vetores de conteúdo. O triângulo diz quais posições são anteriores; positional encodings e biases fornecem informação mais rica sobre local e distância.
Encoders bidirecionais como BERT usam outra visibilidade no masked-language modelling: tokens comuns leem esquerda e direita, enquanto alguns inputs são ocultos ou corrompidos. Modelos encoder–decoder combinam padrões: attention bidirecional no encoder, causal no decoder e cross-attention do decoder para todos os estados válidos do encoder.
A regra durável é simples: o tensor de treinamento pode conter o futuro, mas o grafo computacional de uma previsão não pode acessá-lo. A máscara triangular transforma essa regra em estrutura matricial e preserva o paralelismo sem comprometer o objetivo.
2
Como explicar para uma criança de cinco anos
Imagine uma prova impressa numa longa tira. Para a questão cinco, uma capa deslizante revela apenas as questões de um a cinco e esconde todas as respostas posteriores. O professor prepara uma posição da capa para cada questão ao mesmo tempo, corrigindo tudo em paralelo, mas nenhuma questão enxerga seu futuro. Uma causal mask é esse conjunto triangular de capas aplicado à matriz de pontuações.
3
Ensine de volta
Explique como a máscara causal permite treinamento paralelo sem vazamento de tokens futuros e diferencie-a de uma padding mask.
Mínimo: 80 caracteres e 15 palavras. Seu texto fica somente neste navegador.
Salvo somente neste dispositivo.
Ver uma resposta-modelo
O treinamento fornece a sequência inteira, mas uma máscara triangular define como menos infinito os logits de attention da posição i para posições maiores que i, antes de softmax. Todas as linhas são calculadas na mesma operação em batch, recebendo informação apenas do próprio prefixo. A padding mask esconde posições de preenchimento usadas para igualar comprimentos; são problemas diferentes e as máscaras podem ser combinadas.
4
Teste seu entendimento
Conclua o teach-back e acerte o quiz para finalizar a aula.
Fontes
- Ashish Vaswani et al. (2017). Attention Is All You Need.
- Alec Radford et al. (2019). Language Models are Unsupervised Multitask Learners.