O que é autoatenção?

Ilustração abstrata de linhas de pontos vermelhos em fundo azul

Autores

Vanna Winland

AI Advocate & Technology Writer

O que é autoatenção?

A autoatenção é um tipo de mecanismo de atenção usado em modelos de aprendizado de máquina. Esse mecanismo é usado para ponderar a importância de tokens ou palavras em uma sequência de entrada, para entender melhor as relações entre eles. É uma parte crucial dos modelos de transformadores, uma poderosa arquitetura de inteligência artificial que é essencial para tarefas de processamento de linguagem natural (NLP). A arquitetura de transformação é a base para a maioria dos grandes modelos de linguagem (LLMs) modernos.

O mecanismo de autoatenção foi introduzido por meio do transformador, um modelo de arquitetura de redes neurais proposto pelos pesquisadores. O objetivo da arquitetura proposta era lidar com os desafios dos modelos tradicionais de aprendizado de máquina que utilizam redes neurais de convolução (CNNs) e redes neurais recorrentes (RNNs).1

Os modelos sequenciais tradicionais seguem a mesma arquitetura de codificador-decodificador dos modelos de transformadores, mas processam os dados passo a passo ou de sequência para sequência (seq2seq). Essa função representa um desafio para a paralelização, que é a capacidade de reduzir o tempo de computação e aprimorar a geração de produção calculando pesos de atenção em todas as partes da entrada simultaneamente.

A autoatenção desempenhou um papel fundamental no avanço dos LLMs, permitindo a paralelização dentro de exemplos de treinamento. Esse método é útil porque quanto maior o comprimento da sequência, mais as restrições de memória limitam o lote em exemplos de treinamento. Usando autoatenção, os dados de treinamento do LLM podem ser divididos em lotes e processados simultaneamente em várias GPUs.1 A autoatenção reduz o poder computacional necessário para treinar modelos de aprendizado de máquina com lotes eficientes processados em paralelo.

A autoatenção não só contribui para a distribuição eficiente da carga computacional, mas também possibilita a capacidade de processar pesos de atenção simultaneamente. Essa capacidade permite que o modelo foque em partes relevantes de uma sequência de entrada para prever dinamicamente a importância de cada elemento em uma sequência. A autoatenção é boa para tarefas de NLP, como tradução automática, análise de sentimento e sumarização.  

Como funciona a autoatenção?

A autoatenção em modelos de aprendizado de máquina é semelhante ao conceito comportamental humano, pois ambos envolvem focar em elementos relevantes dentro de um contexto mais amplo para processar informações com precisão. Em psicologia, trata-se de focar em seus próprios pensamentos ou comportamentos, enquanto em deep learning trata de focar nas partes relevantes de uma sequência de entrada.

A arquitetura de transformação inclui uma camada de autoatenção onde o processo de atenção é integrado. As etapas são explicadas conforme apresentado no artigo de Ashish Vaswani et al. apresentando a camada de autoatenção “Attention is All You Need.”

Embedding a sequência de entrada

Uma sequência de entrada é uma série de pontos de dados vetorizados em embeddings, ou representações numéricas, que o algoritmo de aprendizado de máquina pode utilizar para calcular as pontuações de atenção necessárias para produzir uma sequência de saída.

Na tradução automática, uma frase seria considerada uma sequência de entrada, onde cada parte da frase é considerada um ponto de dados ou token de entrada. Os tokens são convertidos em embeddings que atuam como unidades semânticas que o modelo pode processar.2 As embeddings são usadas para calcular os pesos de atenção que ajudam o modelo a priorizar (ou atender) os dados de entrada mais relevantes.

Gere vetores para a função de atenção

O modelo usa essas embeddings para gerar três vetores de chave para cada token: consulta (Q), chave (K) e valor (V). Esses valores serão usados para ajudar o modelo a fazer as correspondências semânticas mais fortes dentro da frase de entrada.

As multiplicações de matrizes são realizadas para obter os vetores de consulta, chave e valor. O mecanismo de atenção calcula uma soma ponderada dos valores com base nas matrizes de peso e entradas incorporadas dos respectivos componentes de consulta, chave e valor.1 Esse processo é conhecido como transformação linear.

Calcule as pontuações de atenção 

Depois que as embeddings são transformadas, as pontuações de atenção para cada elemento na sequência são calculadas. As pontuações de atenção são obtidas colocando as pontuações de atenção do produto escalar entre os vetores de consulta e os vetores de chave. Esses pesos de atenção representam quanto foco (ou atenção) um token específico deve dar a outros tokens em uma sequência.

Em seguida, a pontuação de atenção é dimensionada pela raiz quadrada da dimensionalidade dos vetores de chave. Esse processo ajuda a estabilizar os gradientes e a evitar que fiquem muito grandes para serem computados de forma eficiente à medida que a dimensionalidade dos vetores aumenta.

Transforme as pontuações de atenção em probabilidades 

As pontuações de atenção obtidas por meio do produto escalar dos vetores de consulta e vetores de chave são transformadas em probabilidades usando a função softmax. Esse processo é chamado de normalização.

Com essas probabilidades normalizadas, o bloco de atenção softmax permite que a arquitetura de transformação avalie a importância de elementos de entrada individuais durante a geração da saída.3 Essas probabilidades são usadas para encontrar a importância relativa de cada elemento na sequência. O modelo de atenção usa esses pesos normalizados para decidir em quais partes da entrada se concentrar.

Finalmente, os pesos de atenção derivados desse processo contribuem para a soma ponderada final do vetor de valor. Quanto maior a pontuação de atenção, maior o peso de atenção da sequência. Isso significa que ele terá mais influência na produção final da soma ponderada do vetor de valores.

Mixture of Experts | 12 de dezembro, episódio 85

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Modelos de atenção melhoram a compreensão do contexto 

Os modelos de atenção são eficazes para capturar dependências de longo alcance, independentemente da distância entre cada elemento, ou token, em uma sequência. A atenção multihead é uma extensão crucial da autoatenção que aprimora essa funcionalidade primária ao atender simultaneamente a diferentes elementos do conjunto de dados de entrada. Os modelos podem atender a aspectos ou relacionamentos distintos nos dados de uma só vez, permitindo que mais contexto seja extraído entre dependências ou tokens.

Os modelos bidirecionais iniciais, como as representações de codificadores bidirecionais de transformadores (BERT), melhoraram a compreensão do contexto, permitindo que o modelo considere as informações da sequência direta e reversa. Na atenção bidirecional, o modelo visa entender o significado de uma palavra com base em suas palavras ao redor.4

Os modelos GPT popularizaram a autoatenção, destacando os benefícios de uma janela de contexto expandida para tarefas generativas. A capacidade de processar mais informações de uma só vez leva a uma maior precisão e compreensão.

Os modelos de IA usam a autoatenção para processar sequências longas de entrada de forma eficiente, trocando informações de atenção em escala e reduzindo o uso de memória.5 A autoatenção permite que o modelo obtenha uma compreensão contextual mais profunda usando a janela de contexto dentro do modelo. Quanto maior a janela de contexto, maior o número de tokens nos quais o modelo pode prestar atenção ao mesmo tempo.

Casos de uso

Tarefas de NLP: o mecanismo de autoatenção aprimora os recursos linguísticos dos modelos de aprendizado de máquina, permitindo a análise eficiente e completa de um texto inteiro. A pesquisa mostrou avanços na classificação de sentimento.6 Os modelos podem executar bem tarefas de NLP porque a camada de atenção permite calcular a relação entre palavras, independentemente da distância entre elas.7

Computer vision: os mecanismos de autoatenção não são exclusivos das tarefas de NLP. Pode ser usado para focar em partes específicas de uma imagem. Desenvolvimentos em modelos de reconhecimento de imagens sugerem que a autoatenção é um componente crucial para aumentar sua robustez e generalização.8

Notas de rodapé

1. “Attention Is All You Need,” Ashish Vaswani et al., Proceedings of the 31st International Conference on Neural Information Processing Systems, arXiv:1706.03762v7, revisado em 2 de agosto de 2023.

2. “Tokenization,” essay, in Introduction to Information Retrieval, Christopher Manning, Prabhakar Raghavan and Hinrich Schutze, 2008.

3. “Rethinking Softmax: Self-Attention with Polynomial Activations,” Hemanth Saratchandran et al., Australian Institute of Machine Learning, University of Adelaide, arXiv:2410.18613v1, 24 de outubro de 2024.

4. “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,” Jacob Devlin et al., arXiv:1810.04805v2, revisado em 24 de maio de 2019.

5. “Scaling of Search and Learning: A Roadmap to Reproduce o1 from Reinforcement Learning Perspective,” Zhiyuan Zeng et al., arXiv:2412.14135, 18 de dezembro de 2024.

6. “Bidirectional LSTM with self-attention mechanism and multi-channel features for sentiment classification,” Weijiang Li et al., Neurocomputing Vol 387, 28 de abril de 2020.

7. “Parallel Scheduling Self-attention Mechanism: Generalization and Optimization,” Mingfei Yu and Masahiro Fujita, arXiv:2012.01114v1, 2 de dezembro de 2020.

8. “Exploring Self-attention for Image Recognition,” Hengshuang Zhao, Jiaya Jia and Vladlen Koltun, Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, 2020.

Recursos

O que é embedding vetorial?
Tema relacionado
O que é um mecanismo de atenção?
Tema relacionado
O que é um modelo de transformador?
Tema relacionado
O que é um conjunto de dados?
Tema relacionado
Soluções relacionadas
IBM® watsonx.ai

Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em menos tempo com menos dados.

Explore o watsonx.ai
Soluções de inteligência artificial

Coloque a IA em ação na sua empresa com a experiência em IA líder do setor e com o portfólio de soluções da IBM.

Explore as soluções de IA
Consultoria e serviços em inteligência artificial (IA)

Os serviços de IA da IBM Consulting ajudam a reinventar a forma como as empresas trabalham com IA para gerar transformação.

Explore os serviços de IA
Dê o próximo passo

Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

Explore o watsonx.ai Agende uma demonstração em tempo real