Pular para o conteúdo principal

Mecanismo de atenção em LLMs: Uma explicação intuitiva

Saiba como funciona o mecanismo de atenção e como ele revolucionou o processamento de linguagem natural (PNL).
Actualizado 16 de jan. de 2025  · 8 min de leitura

A linguagem é fundamental para a comunicação humana, e automatizá-la pode trazer imensos benefícios. Os modelos de processamento de linguagem natural (PLN) lutaram durante anos para capturar com eficácia as nuances da linguagem humana, até que houve um avanço: o mecanismo de atenção.

O mecanismo de atenção foi apresentado em 2017 no artigo Attention Is All You Need. Diferentemente dos métodos tradicionais que tratam as palavras isoladamente, a atenção atribui pesos a cada palavra com base em sua relevância para a tarefa atual. Isso permite que o modelo capte dependências de longo alcance, analise contextos locais e globais simultaneamente e resolva ambiguidades atendendo a partes informativas da frase.

Considere a seguinte frase: "Miami, conhecida como a 'cidade mágica', tem belas praias de areia branca." Os modelos tradicionais processariam cada palavra em ordem. O mecanismo de atenção, no entanto, funciona mais como nosso cérebro. Ele atribui uma pontuação a cada palavra com base em sua relevância para a compreensão do foco atual. Palavras como "Miami" e "praias" tornam-se mais importantes ao considerar a localização, portanto, receberiam pontuações mais altas.

Neste artigo, forneceremos uma explicação intuitiva do mecanismo de atenção. Você também pode encontrar uma abordagem mais técnica neste tutorial sobre como os transformadores funcionam. Vamos mergulhar de cabeça!

Modelos tradicionais de idiomas

Vamos começar nossa jornada para entender o mecanismo de atenção considerando o contexto mais amplo dos modelos de linguagem.

Noções básicas de processamento de idiomas

Os modelos de linguagem processam a linguagem tentando entender a estrutura gramatical (sintaxe) e o significado (semântica). O objetivo é produzir uma linguagem com a sintaxe e a semântica corretas que sejam relevantes para a entrada.

Os modelos de linguagem dependem de uma série de técnicas para decompor e entender o texto:

  • Análise: Essa técnica analisa a estrutura da frase, atribuindo classes gramaticais (substantivo, verbo, adjetivo etc.) a cada palavra e identificando relações gramaticais.
  • Tokenização: O modelo divide as frases em palavras individuais (tokens), criando os blocos de construção para a realização da análise semântica (você pode saber mais sobre tokenização em uma postagem de artigo separada).
  • Derivação: Essa etapa reduz as palavras à sua forma de raiz (por exemplo, "walking" torna-se "walk"). Isso garante que o modelo trate palavras semelhantes de forma consistente.
  • Reconhecimento de entidades e extração de relacionamentos: Essas técnicas trabalham juntas para identificar e categorizar entidades específicas (como pessoas ou lugares) no texto e descobrir seus relacionamentos.
  • Embeddings de palavras: Por fim, o modelo cria uma representação numérica para cada palavra (um vetor), capturando seu significado e conexões com outras palavras. Isso permite que o modelo processe o texto e execute tarefas como tradução ou resumo.

As limitações dos modelos tradicionais

Embora os modelos de linguagem tradicionais tenham preparado o caminho para os avanços na PNL, eles enfrentaram desafios para compreender totalmente as complexidades da linguagem natural:

  • Contexto limitado: Os modelos tradicionais geralmente representavam o texto como um conjunto de tokens individuais, deixando de capturar o contexto mais amplo de uma frase. Isso dificultava a compreensão de como as palavras distantes em uma frase poderiam estar relacionadas.
  • Contexto breve: A janela de contexto que esses modelos consideravam durante o processamento geralmente era limitada. Isso significa que eles não conseguiam capturar dependências de longo alcance, em que palavras distantes em uma frase influenciam o significado umas das outras.
  • Problemas de desambiguação de palavras: Os modelos tradicionais tiveram dificuldades para desambiguar palavras com vários significados com base apenas nas palavras ao redor. Eles não tinham a capacidade de considerar o contexto mais amplo para determinar o significado pretendido.
  • Desafios de generalização: Devido às limitações da arquitetura de rede e à quantidade de dados de treinamento disponíveis, esses modelos geralmente têm dificuldade para se adaptar a situações novas ou inéditas (dados fora do domínio).

O que é atenção nos modelos de linguagem?

Ao contrário dos modelos tradicionais que tratam as palavras isoladamente, a atenção permite que os modelos de linguagem considerem o contexto. Vamos ver do que se trata!

Atenção é tudo o que você precisa

A mudança de jogo para o campo da PNL ocorreu em 2017, quando o artigo Attention Is All You Need apresentou o mecanismo de atenção.

Este documento propôs uma nova arquitetura chamada de transformador. Diferentemente dos métodos mais antigos, como as redes neurais recorrentes (RNNs) e as redes neurais convolucionais (CNNs), os transformadores usam mecanismos de atenção.

Ao resolver muitos dos problemas dos modelos tradicionais, os transformadores (e a atenção) se tornaram a base de muitos dos modelos de linguagem grandes (LLMs) mais populares da atualidade, como o GPT-4 e o ChatGPT da OpenAI.

Como funciona a atenção?

Vamos considerar a palavra "bat" nessas duas frases:

  1. "Balance o taco!"
  2. "O morcego voava à noite."

Os métodos tradicionais de incorporação atribuem uma única representação vetorial ao "bastão", limitando sua capacidade de distinguir o significado. Os mecanismos de atenção, no entanto, resolvem isso calculando pesos dependentes do contexto.

Eles analisam as palavras ao redor ("swing" versus "flew") e calculam as pontuações de atenção que determinam a relevância. Essas pontuações são então usadas para ponderar os vetores de incorporação, resultando em representações distintas para "bat" como uma ferramenta esportiva (peso alto em "swing") ou uma criatura voadora (peso alto em "flew").

Isso permite que o modelo capture nuances semânticas e melhore a compreensão.

attention_mechanism.png

O significado da atenção nos LLMs

Vamos agora nos basear em nosso entendimento intuitivo da atenção e aprender como o mecanismo vai além da tradicional incorporação de palavras para aprimorar a compreensão do idioma. Também veremos algumas aplicações da atenção no mundo real.

Além da incorporação de palavras tradicional

As técnicas tradicionais de incorporação de palavras, como Word2Vec e GloVe, representam palavras como vetores de dimensão fixa em um espaço semântico com base em estatísticas de co-ocorrência em um grande corpus de texto.

Embora esses embeddings capturem algumas relações semânticas entre as palavras, eles não são sensíveis ao contexto. Isso significa que a mesma palavra terá a mesma incorporação, independentemente de seu contexto em uma frase ou documento.

Essa limitação apresenta desafios em tarefas que exigem uma compreensão diferenciada da linguagem, especialmente quando as palavras têm significados contextuais diferentes. O mecanismo de atenção resolve esse problema, permitindo que os modelos se concentrem seletivamente em partes relevantes das sequências de entrada, incorporando, assim, a sensibilidade ao contexto no processo de aprendizado de representação.

Aprimorar a compreensão do idioma

A atenção permite que os modelos entendam as nuances e ambiguidades da linguagem, tornando-os mais eficientes no processamento de textos complexos. Alguns de seus principais benefícios são:

  • Ponderação dinâmica: A atenção permite que os modelos ajustem dinamicamente a importância de determinadas palavras com base na relevância do contexto atual.
  • Dependências de longo prazo: Ele possibilita a captura de relações entre palavras situadas a uma longa distância.
  • Compreensão contextual: Além de representações contextualizadas, ele ajuda a resolver ambiguidades e torna os modelos adaptáveis a várias tarefas posteriores.

Aplicações e impactos

O impacto dos modelos de linguagem baseados em atenção tem sido enorme. Milhares de pessoas usam aplicativos criados com base em modelos baseados em atenção. Alguns dos aplicativos mais populares são:

  • Tradução automática: Modelos como o Google Translate utilizam a atenção para se concentrar em partes relevantes da frase de origem e produzir traduções mais precisas do ponto de vista contextual.
  • Resumo de texto: As frases ou sentenças importantes em um documento podem ser encontradas com atenção, facilitando resumos mais informativos e concisos.
  • Resposta à pergunta: A atenção ajuda os modelos de aprendizagem profunda a alinhar as palavras da pergunta com partes relevantes do contexto, permitindo a extração precisa de respostas.
  • Análise de sentimento: Os modelos de análise de sentimento empregam a atenção para capturar palavras que contêm sentimentos e seu significado contextual.
  • Geração de conteúdo: Os modelos de geração de conteúdo utilizam a atenção para gerar conteúdo coerente e contextualmente relevante, garantindo que o texto gerado permaneça consistente com o contexto de entrada.

Mecanismos avançados de atenção

Agora que você já está mais familiarizado com o funcionamento da atenção, vamos dar uma olhada na autoatenção e na atenção de várias cabeças.

Auto-atenção e atenção a várias cabeças

A autoatenção permite que um modelo atenda a diferentes posições de sua sequência de entrada para calcular uma representação dessa sequência. Ele permite que o modelo pese a importância de cada palavra na sequência em relação às outras, capturando as dependências entre as diferentes palavras na entrada. O mecanismo tem três elementos principais:

  • Consulta: Esse é um vetor que representa o foco atual ou a pergunta que o modelo tem sobre uma palavra específica na sequência. É como uma lanterna que o modelo ilumina em uma palavra específica para entender seu significado no contexto.
  • Chave: Cada palavra tem um rótulo ou ponto de referência - o vetor-chave funciona como esse rótulo. O modelo compara o vetor de consulta com todos os vetores-chave para ver quais palavras são mais relevantes para responder à pergunta sobre a palavra em foco.
  • Valor: Esse vetor contém as informações reais associadas a cada palavra. Depois que o modelo identifica as palavras relevantes por meio das principais comparações, ele recupera os vetores de valores correspondentes para obter os detalhes reais necessários para a compreensão.

As pontuações de atenção podem ser calculadas por meio de um produto escalonado de pontos entre a consulta e os vetores-chave. Por fim, essas pontuações são multiplicadas pelos vetores de valores para gerar uma soma ponderada de valores.

A atenção de várias cabeças é uma extensão do mecanismo de autoatenção. Ele aumenta a capacidade do modelo de capturar diversas informações contextuais ao atender simultaneamente a diferentes partes da sequência de entrada. Você consegue isso executando várias operações paralelas de autoatenção, cada uma com seu próprio conjunto de transformações aprendidas de consulta, chave e valor.

A atenção de várias cabeças leva a uma compreensão contextual mais refinada, maior robustez e expressividade.

Atenção: Desafios e soluções

Embora a implementação do mecanismo de atenção tenha vários benefícios, ela também traz seu próprio conjunto de desafios, que podem ser abordados por pesquisas em andamento.

Complexidade computacional

Os mecanismos de atenção envolvem a computação de semelhanças de pares entre todos os tokens na sequência de entrada, resultando em uma complexidade quadrática em relação ao comprimento da sequência. Isso pode ser computacionalmente caro, especialmente para sequências longas.

Várias técnicas foram propostas para reduzir a complexidade computacional, como mecanismos de atenção esparsos, métodos de atenção aproximados e mecanismos de atenção eficientes, como o hashing sensível à localidade do modelo Reformer.

Atenção ao overfitting

Os mecanismos de atenção podem se ajustar excessivamente a informações ruidosas ou irrelevantes na sequência de entrada, levando a um desempenho abaixo do ideal em dados não vistos.

As técnicas de regularização, como dropout e normalização de camadas, podem ajudar a evitar o ajuste excessivo em modelos baseados em atenção. Além disso, foram propostas técnicas como o abandono da atenção e o mascaramento da atenção para incentivar o modelo a se concentrar em informações relevantes.

Interpretabilidade e explicabilidade

Compreender como os mecanismos de atenção operam e interpretam seus resultados pode ser um desafio, principalmente em modelos complexos com várias camadas e cabeças de atenção. Isso levanta preocupações sobre a ética dessa nova tecnologia - você pode saber mais sobre a ética da IA em nosso curso ou ouvindo este podcast com o pesquisador de IA Dr. Joy Buolamwini.

Métodos para visualizar os pesos da atenção e interpretar seu significado foram desenvolvidos para aumentar a interpretabilidade dos modelos baseados em atenção. Além disso, técnicas como a atribuição de atenção visam identificar as contribuições de tokens individuais para as previsões do modelo, melhorando a explicabilidade.

Escalabilidade e restrições de memória

Os mecanismos de atenção consomem recursos computacionais e de memória significativos, o que torna difícil dimensioná-los para modelos e conjuntos de dados maiores.

As técnicas de dimensionamento de modelos baseados em atenção, como atenção hierárquica, atenção com eficiência de memória e atenção esparsa, visam reduzir o consumo de memória e a sobrecarga computacional, mantendo o desempenho do modelo.

Atenção: Resumo

Vamos resumir o que aprendemos até agora, concentrando-nos nas diferenças entre os modelos tradicionais e os baseados em atenção:

Recurso

Modelos baseados em atenção

Modelos tradicionais de PNL

Representação de palavras

Vetores de incorporação com reconhecimento de contexto (ponderados dinamicamente com base em pontuações de atenção)

Vetores de incorporação estáticos (um único vetor por palavra, sem considerar o contexto)

Foco

Considera o significado das palavras ao redor (observando o contexto mais amplo)

Trata cada palavra de forma independente

Pontos fortes

Captura dependências de longo alcance, resolve ambiguidades, compreende nuances

Mais simples, computacionalmente mais barato

Pontos fracos

Pode ser computacionalmente caro

Capacidade limitada de entender linguagem complexa, dificuldades com o contexto

Mecanismo subjacente

Redes de codificador-decodificador com atenção (várias arquiteturas)

Técnicas como análise, stemming, reconhecimento de entidades nomeadas, incorporação de palavras

Conclusão

Neste artigo, exploramos o mecanismo de atenção, uma inovação que revolucionou a PNL. Diferentemente dos métodos anteriores, a atenção permite que os modelos de linguagem se concentrem em partes cruciais de uma frase, considerando o contexto. Isso permite que eles compreendam a linguagem complexa, as conexões de longo alcance e a ambiguidade das palavras.

Você pode continuar aprendendo sobre o mecanismo de atenção:

Temas

Comece a usar a aprendizagem profunda!

Certificação disponível

curso

Introdução à aprendizagem profunda com PyTorch

4 hr
30.7K
Saiba como criar sua primeira rede neural, ajustar hiperparâmetros e resolver problemas de classificação e regressão no PyTorch.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

blog

Entendendo e atenuando o viés em modelos de idiomas grandes (LLMs)

Mergulhe em um passo a passo abrangente sobre a compreensão do preconceito nos LLMs, o impacto que ele causa e como atenuá-lo para garantir a confiança e a justiça.
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

12 min

blog

Explicação sobre a compreensão de linguagem natural (NLU)

A compreensão de linguagem natural (NLU) é um subcampo do processamento de linguagem natural (NLP) focado em permitir que as máquinas compreendam o significado, o contexto e a intenção da linguagem humana.
Dimitri Didmanidze's photo

Dimitri Didmanidze

7 min

blog

Avaliação do LLM: Métricas, metodologias, práticas recomendadas

Saiba como avaliar modelos de linguagem grandes (LLMs) usando métricas importantes, metodologias e práticas recomendadas para tomar decisões informadas.
Stanislav Karzhev's photo

Stanislav Karzhev

9 min

blog

Como aprender PNL do zero em 2024: Um guia especializado

Neste guia, você descobrirá como aprender Processamento de Linguagem Natural (NLP) do zero. Com um plano de aprendizado claro, semana a semana, você explorará conceitos essenciais de PNL, aplicações práticas e projetos práticos para desenvolver suas habilidades.
Laiba Siddiqui's photo

Laiba Siddiqui

23 min

blog

O que é processamento de linguagem natural (NLP)? Um guia abrangente para iniciantes

Explore o mundo transformador do Processamento de Linguagem Natural (PLN) com o guia abrangente do DataCamp para iniciantes. Mergulhe nos principais componentes, técnicas, aplicativos e desafios da PNL.
Matt Crabtree's photo

Matt Crabtree

11 min

tutorial

Guia de Introdução ao Ajuste Fino de LLMs

O ajuste fino dos grandes modelos de linguagem (LLMs, Large Language Models) revolucionou o processamento de linguagem natural (PLN), oferecendo recursos sem precedentes em tarefas como tradução de idiomas, análise de sentimentos e geração de textos. Essa abordagem transformadora aproveita modelos pré-treinados como o GPT-2, aprimorando seu desempenho em domínios específicos pelo processo de ajuste fino.
Josep Ferrer's photo

Josep Ferrer

12 min

See MoreSee More