O que é um modelo de transformador?

28 de março de 2025

Autores

Cole Stryker

Editorial Lead, AI Models

Dave Bergmann

Senior Writer, AI Models

IBM

O que é um modelo de transformação?

O modelo de transformação é um tipo de arquitetura de rede neural que se destaca no processamento de dados sequenciais, mais proeminentemente associados a grandes modelos de linguagem (LLMs). Os modelos de transformação também alcançaram desempenho de elite em outros campos da inteligência artificial (IA), como computer vision, reconhecimento de fala e forecasting de séries temporais.

A arquitetura de transformação foi descrita pela primeira vez no artigo seminal de 2017 "Attention is All You Need", de Vaswani e outros, que agora é considerado um momento divisor de águas no deep learning.

Originalmente apresentados como uma evolução dos modelos de sequência em sequência baseados em redes neurais recorrentes (RNN) usados para tradução automática, os modelos baseados em transformação alcançaram avanços de ponta em quase todas as disciplinas de aprendizado de máquina (ML) .

Apesar de sua versatilidade, os modelos de transformação ainda são mais comumente discutidos no contexto de casos de uso de processamento de linguagem natural (NLP), como chatbots, geração de texto, sumarização, resposta a perguntas e análise de sentimento.

O modelo de codificador-decodificador BERT (ou Bidirectional Encoder Representations from Transformers), lançado pelo Google em 2019, foi um marco importante no estabelecimento de transformadores e continua sendo a base da maioria das aplicações modernas de embedding de palavras, desde bancos de dados de vetores modernos até a pesquisa do Google.

LLMs somente de decodificadores autorregressivos, como o modelo GPT-3 (abreviação de Generative Pre-trained Transformer) que impulsionou o lançamento do ChatGPT da OpenAI, catalisou a era moderna da IA generativa (IA gen).

A capacidade dos modelos de transformação de discernir de forma intricada como cada parte de uma sequência de dados influencia e se correlaciona com as outras também lhes confere muitos usos multimodais.

Por exemplo, os transformadores de visão (ViTs) geralmente superam o desempenho das redes neurais convolucionais (CNNs) na segmentação de imagens, detecção de objetos e tarefas relacionadas. A arquitetura de transformação também alimenta muitos modelos de difusão usados para geração de imagens, de text to speech (TTS) multimodais e modelos de linguagem de visão (VLMs).

Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionados por especialistas e notícias sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Por que os modelos de transformação são importantes?

A funcionalidade central dos modelos de transformação é seu mecanismo de autoatenção, do qual os modelos de transformação derivam sua impressionante capacidade de detectar os relacionamentos (ou dependências) entre cada parte de uma sequência de entrada. Diferentemente das arquiteturas de RNN e CNN que a precederam, a arquitetura de transformação usa apenas camadas de atenção e camadas de feedforward padrão.

Os benefícios da autoatenção, e especificamente a técnica de atenção de várias cabeças que os modelos de transformação empregam para calculá-la, são o que permite que os transformadores excedam o desempenho das RNNs e CNNs, que antes eram de última geração.

Antes do lançamento dos modelos de transformação, a maioria das tarefas de NLP dependia de redes neurais recorrentes (RNNs). A forma como as RNNs processam dados sequenciais é inerentemente serializada: elas realizam a ingestão dos elementos de uma sequência de entrada um de cada vez e em uma ordem específica.

Isso dificulta a capacidade das RNNs de capturar dependências de longo alcance, o que significa que as RNNs só podem processar sequências curtas de texto de forma eficaz.
O lançamento das redes de memória de curto prazo (LSTMs) lidou, de certa forma, com essa deficiência, mas ela continua sendo um ponto fraco fundamental das RNNs.

Os mecanismos de atenção, por outro lado, podem examinar uma sequência inteira simultaneamente e tomar decisões sobre como e quando focar em etapas de tempo específicas dessa sequência.

Além de melhorar significativamente a capacidade de entender dependências de longo alcance, essa qualidade dos transformadores também permite a paralelização: a capacidade de executar muitas etapas computacionais de uma só vez, em vez de maneira serializada.

A adequação ao paralelismo permite que os modelos de transformação aproveitem ao máximo a potência e a velocidade oferecidas pelas GPUs durante o treinamento e a inferência. Essa possibilidade, por sua vez, desbloqueou a oportunidade de treinar modelos de transformação em conjuntos de dados maciços sem precedentes por meio do aprendizado autossupervisionado.

Especialmente para dados visuais, os transformadores também oferecem algumas vantagens em relação às redes neurais convolucionais. As CNNs são inerentemente locais e usam convoluções para processar subconjuntos menores de dados de entrada, um de cada vez.

Portanto, as CNNs também lutam para identificar dependências de longo alcance, como correlações entre palavras (em textos) ou pixels (em imagens) que não estejam próximos entre si. Os mecanismos de atenção não têm essa limitação.

Mixture of Experts | 25 de abril, episódio 52

Decodificando a IA: resumo semanal das notícias

Junte-se ao nosso painel de engenheiros, pesquisadores, líderes de produto e outros especialistas de classe mundial enquanto eles cortam o ruído da IA para trazer a você as últimas notícias e insights sobre IA.

O que é autoatenção?

Compreender o conceito matemático de atenção, e mais especificamente de autoatenção, é essencial para compreender o sucesso de modelos de transformação em tantos campos. Os mecanismos de atenção são, essencialmente, algoritmos projetados para determinar a quais partes de uma sequência de dados um modelo de IA deve “prestar atenção” em um determinado momento.

Considere um modelo de linguagem que interpreta o texto em inglês "on Friday, the judge issued a sentence. "

  • A palavra anterior "o " sugere que "juiz " está sendo usado como um substantivo, como em uma pessoa que preside um julgamento, não como um verbo que significa avaliar ou formar uma opinião.
  • Esse contexto para a palavra "juiz " sugere que "sentença ” provavelmente se refere a uma penalidade legal, em vez de uma “sentença” gramatical.
  • A palavra "emitido ” implica ainda que”sentença " se refere ao conceito jurídico, não ao conceito gramatical.
  • Portanto, ao interpretar a palavra “sentença ” o modelo deve prestar muita atenção a "juiz " e "emitido. ” Também deve prestar atenção à palavra “o .” Pode ignorar mais ou menos as outras palavras.

Como funciona a autoatenção?

Em termos gerais, as camadas de atenção de um modelo de transformação avaliam e usam o contexto específico de cada parte de uma sequência de dados em quatro etapas:

  1. O modelo "lê" sequências de dados brutos e as converte em embeddings vetoriais, em que cada elemento na sequência é representado por seu(s) próprio(s) vetor(es) de funcionalidades que numericamente refletem qualidades como significado semântico.

  2. O modelo determina semelhanças, correlações e outras dependências (ou falta delas) entre cada vetor e cada outro vetor. Na maioria dos modelos de transformação, a importância relativa de um vetor para outro é determinada calculando o produto escalar entre cada vetor. Se os vetores estiverem bem alinhados, multiplicá-los resultará em um grande valor. Se eles não estiverem alinhados, seu produto escalar será pequeno ou negativo.

  3. Essas "pontuações de alinhamento" são convertidas em pesos de atenção. Isso é obtido com o uso de pontuações de alinhamento como entradas para uma função de ativação softmax, que normaliza todos os valores em um intervalo entre 0 e 1, de modo que a soma total de todos eles seja 1. Assim, por exemplo, atribuir um peso de atenção de 0 entre o "Vetor A" e o "Vetor B" significa que o Vetor B deve ser ignorado ao fazer previsões sobre o Vetor A. Atribuir ao Vetor B um peso de atenção de 1 significa que ele deve receber 100% da atenção do modelo ao tomar decisões sobre o Vetor A.

  4. Esses pesos de atenção são usados para enfatizar ou atenuar a influência de elementos específicos de entrada em momentos específicos. Em outras palavras, os pesos de atenção ajudam os modelos de transformação a focar ou ignorar informações específicas em um momento específico.

Antes do treinamento, um modelo de transformação ainda não “sabe” como gerar embeddings e pontuações de alinhamento ideais. Durante o treinamento, o modelo faz previsões em milhões de exemplos extraídos de seus dados de treinamento, e uma função de perda quantifica o erro de cada previsão.

Por meio de um ciclo iterativo de previsões e, em seguida, atualização dos pesos do modelo por meio de retropropagação e gradiente descendente, o modelo "aprende" a gerar embeddings vetoriais, pontuações de alinhamento e pesos de atenção que levam a saídas precisos.

Como os modelos de transformação funcionam?

Modelos de transformação , como bancos de dados relacionais , geram vetores de consultas, chaves e valores para cada parte de uma sequência de dados, e os utilizam para calcular pesos de atenção por meio de uma série de multiplicações de matrizes.

Os bancos de dados relacionais foram criados para simplificar o armazenamento e a recuperação de dados relevantes: eles atribuem um identificador único (“chave”) a cada dado, e cada chave está associada a um valor correspondente. O artigo "Attention is All You Need" aplicou esse framework conceitual para processar as relações entre cada token em uma sequência de texto.

  • O vetor de consulta representa as informações que um token específico está “buscando”. Em outras palavras, o vetor de consulta de um token é usado para calcular como outros tokens podem influenciar seu significado, conjugação ou conotações no contexto.
  • Os vetores de chaves representam as informações que cada token contém. O alinhamento entre a consulta e a chave é usado para calcular os pesos de atenção que refletem sua relevância no contexto daquela sequência de texto.
  • O valor (ou vetor de valor) “retorna” as informações de cada vetor de chave, dimensionadas por seu respectivo peso de atenção. As contribuições das chaves que estão fortemente alinhadas com uma consulta recebem pesos mais altos, enquanto as contribuições das chaves que não são relevantes para a consulta recebem pesos próximos de zero.

Para um LLM, o “banco de dados” do modelo é o vocabulário do token que ele aprendeu a partir de amostras de texto em seus dados de treinamento. Seu mecanismo de atenção usa informações desse “banco de dados” para entender o contexto da linguagem.

Tokenização e embeddings de entrada

Enquanto os caracteres (letras, números ou sinais de pontuação) são a unidade básica que nós, seres humanos, usamos para representar a linguagem, a menor unidade de linguagem que os modelos de IA utilizam é um token. Cada token recebe um número de ID, e esses números de ID (em vez das palavras ou mesmo os próprios tokens) são a maneira como os LLMs navegam em sua "base de dados" de vocabulário. Essa tokenização da linguagem reduz significativamente o poder computacional necessário para processar o texto.

Para gerar vetores de consultas e chaves para alimentar as camadas de atenção do transformador, o modelo precisa de um embedding inicial e sem contexto para cada token. Esses primeiros embeddings de tokens podem ser aprendidos durante o treinamento ou retirados de um modelo de embedding de palavras pré-treinado.

Codificação posicional

A ordem e a posição das palavras podem afetar significativamente seus significados semânticos. Considerando que a natureza serializada das RNNs preserva inerentemente informações sobre a posição de cada token, os modelos de transformação devem adicionar explicitamente informações posicionais para o mecanismo de atenção considerar.

Com a codificação posicional, o modelo adiciona um vetor de valores ao embedding de cada token, derivado de sua posição relativa, antes que a entrada seja processada pelo mecanismo de atenção. Quanto mais próximos estiverem os dois tokens, mais semelhantes serão seus vetores posicionais e, portanto, mais sua pontuação de alinhamento aumentará com a adição de informações posicionais. Assim, o modelo aprende a prestar mais atenção aos tokens próximos.

Geração de vetores de consultas, chaves e valores

Quando as informações posicionais são adicionadas, cada embedding de token atualizado é usada para gerar três novos vetores. Esses vetores de consultas, chaves e valores são gerados passando os embeddings de tokens originais por meio de cada uma das três camadas da rede neural feedforward paralelas que precedem a primeira camada de atenção. Cada subconjunto paralelo desse nível linear tem uma matriz de pesos única, aprendida por meio de pré-treinamento autossupervisionado em um conjunto maciço de texto.

  • Os embeddings são multiplicadas pela matriz de pesos WQ para produzir os vetores de consultas (Q), que têm dimensões dk
  • Os embeddings são multiplicados pela matriz de pesos WK para produzir o vetor de chave (K), também com dimensões dk 
  • Os embeddings são multiplicados pela matriz de pesos WV para produzir os vetores de valores (V), com dimensões dv

Computação da autoatenção

A função principal do mecanismo de atenção do transformador é atribuir pesos de atenção precisos aos pares do vetores de consultas de cada token com os vetores de chaves de todos os outros tokens na sequência. Quando alcançado, você pode pensar em cada tokenn x  como agora tendo um vetor correspondente de pesos de atenção, no qual cada elemento desse vetor representa a extensão em que algum outro token deve influenciá-lo.

  • O vetor de valor de cada outro token agora é multiplicado pelo respectivo peso de atenção.
  • Esses vetores de valor ponderados por atenção são somados. O vetor resultante representa as informações contextuais agregadas que estão sendo fornecidas ao token x por todos os outros tokens na sequência.
  • Por fim, o vetor resultante das alterações com pesos de atenção de cada token é adicionado ao token xembedding de vetores de codificação originais e pós-posicionais de .

Basicamente, xo embedding vetorial dele foi atualizada para refletir melhor o contexto fornecido pelos demais tokens da sequência.

Atenção de várias cabeças

Para capturar as muitas maneiras pelas quais os tokens podem se relacionar entre si, os modelos de transformação implementam a atenção de várias cabeças em vários blocos de atenção.

Antes de ser alimentado na primeira camada feedforward, cada embedding de token de entrada original dividido em h subconjuntos de tamanho uniforme . Cada parte do embedding é alimentada em uma das h matrizes paralelas de pesos Q, K e V, cada uma das quais é chamada de cabeça de consulta, cabeça de chave ou cabeça de valor. As saídas dos vetores por cada um desses trios paralelos de cabeças de consulta, chave e valor são, então, alimentadas em um subconjunto correspondente da próxima camada de atenção, chamado de cabeça de atenção.

Nas camadas finais de cada bloco de atenção, as saídas desses h circuitos paralelos são eventualmente concatenadas novamente antes de serem enviadas para a próxima camada feedforward. Na prática, o treinamento do modelo faz com que cada circuito aprenda pesos diferentes que capturam aspectos distintos dos significados semânticos.

Conexões residuais e normalização de camadas

Em algumas situações, a transmissão da saída de embeddings contextualmente atualizada pelo bloco de atenção pode resultar em uma perda inaceitável de informações da sequência original.

Para lidar com isso, os modelos de transformação frequentemente equilibram as informações contextuais fornecidas pelo mecanismo de atenção com o significado semântico original de cada token. Depois que os subconjuntos atualizados com atenção do embedding do token forem todos concatenados novamente, o vetor atualizado é, então, adicionado ao embedding vetorial original (codificado por posição) do token. O token original do embedding é fornecido por uma conexão residual entre essa camada e uma camada anterior da rede.

O vetor resultante é alimentado em outra camada feedforward linear, onde é normalizado de volta a um tamanho constante antes de ser passado para o próximo bloco de atenção. Juntas, essas medidas ajudam a preservar a estabilidade no treinamento e ajudam a garantir que o significado original do texto não seja perdido à medida que os dados migram mais fundo na rede neural.

Geração de saídas

Eventualmente, o modelo tem informações contextuais suficientes para informar suas saídas finais. A natureza e a função da camada de saída dependerão da tarefa específica para a qual o modelo de transformação foi projetado.

Em LLMs autorregressivos, a camada final usa uma função softmax para determinar a probabilidade de que a próxima palavra corresponda a cada token em seu “banco de dados” de vocabulário. Dependendo dos hiperparâmetros de amostragem específicos, o modelo usa essas probabilidades para determinar o próximo token da sequência de saída.

Modelos de transformação em processamento de linguagem natural (NLP)

Os modelos de transformação são mais comumente associados ao NLP, tendo sido originalmente desenvolvidos para casos de uso de tradução automática. Mais notavelmente, a arquitetura de transformação deu origem aos grandes modelos de linguagem (LLMs), que catalisaram o advento da IA generativa.

A maioria dos LLMs com os quais o público está mais familiarizado, desde modelos de código fechado, como a série GPT da OpenAI e os modelos Claude da Anthropic, até modelos de código aberto, incluindo Meta Llama ou IBM® Granite®, são LLMs somente de decodificador autorregressivos.

Os LLMs autorregressivos são projetados para geração de texto, que também se estende naturalmente a tarefas adjacentes, como sumarização e respostas a perguntas. Eles são treinados por meio de aprendizado autossupervisionado, no qual o modelo recebe a primeira palavra de uma passagem de texto e tem a tarefa de prever iterativamente a próxima palavra até o final da sequência.

As informações fornecidas pelo mecanismo de autoatenção permitem que o modelo extraia contexto da sequência de entrada e mantenha a coerência e a continuidade de sua saída.

Modelos de linguagem mascarada por codificador-decodificador (MLMs), como BERT e seus muitos derivados, representam o outro ramo evolutivo principal dos LLMs baseados em transformadores. No treinamento, um MLM recebe uma amostra de texto com alguns tokens mascarados (ocultos) e tem a tarefa de complementar as informações ausentes.

Embora essa metodologia de treinamento seja menos eficaz para a geração de texto, ela ajuda os MLMs a se destacarem em tarefas que exigem informações contextuais robustas, como tradução, classificação de texto e embeddings de aprendizado.

Modelos de transformação em outros campos

Embora os modelos de transformação tenham sido originalmente projetados e continuem sendo mais proeminentemente associados a casos de uso de linguagem natural, eles podem ser usados em praticamente qualquer situação que envolva dados sequenciais. Isso levou ao desenvolvimento de modelos baseados em transformadores em outros campos, desde o ajuste fino de LLMs em sistemas multimodais até modelos de forecasting de séries temporais dedicados e ViTs para computer vision.

Algumas modalidades de dados são mais naturalmente adequadas à representação sequencial amigável à transformação do que outras. Os dados de séries temporais, áudio e vídeo são inerentemente sequenciais, enquanto os dados de imagem não são. Apesar disso, ViTs e outros modelos baseados em atenção alcançaram resultados de última geração para muitas tarefas de computer vision, incluindo legendagem de imagens, detecção de objetos, segmentação de imagens e respostas a perguntas visuais.

Usar modelos de transformação para dados não convencionalmente considerados como "sequenciais" requer uma solução conceitual alternativa para representar esses dados como uma sequência. Por exemplo, para utilizar mecanismos de atenção para entender dados visuais, as ViTs utilizam embeddings de patches para tornar os dados de imagens interpretáveis como sequências.

  • Primeiro, uma imagem é dividida em uma matriz de patches. Por exemplo, uma imagem de 224 x 224 pixels pode ser subdividida em 256 patches de 14 x 14 pixels, reduzindo drasticamente o número de etapas computacionais necessárias para processar a imagem.
  • Em seguida, uma camada de projeção linear mapeia cada patch para um embedding vetorial.
  • As informações posicionais são adicionadas a cada um desses embeddings de patches, semelhante à codificação posicional descrita anteriormente neste artigo.
  • Esses embeddings de patches agora podem funcionar essencialmente como uma sequência de embeddings de tokens, permitindo que a imagem seja interpretada por um mecanismo de atenção.
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 uma fração do tempo com uma fração dos dados.

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

Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

Explore as soluções de IA
Consultoria e serviços em IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

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
Notas de rodapé

1 Google’s BERT Rolls Out Worldwide (link externo ao site ibm.com), Search Engine Journal, 9 de dezembro de 2019