Introdução aos modelos de transformadores: o que são e como funcionam

Publicados: 2024-08-07

Os transformadores são um avanço na IA, especialmente no processamento de linguagem natural (PNL). Conhecidos pelo seu desempenho e escalabilidade, são vitais em aplicações como tradução de idiomas e IA de conversação. Este artigo explora sua estrutura, comparações com outras redes neurais e seus prós e contras.

Índice

  • O que é um modelo de transformador?
  • Transformadores vs. CNNs e RNNs
  • Como funcionam os modelos de transformadores
  • Exemplos de modelos de transformadores
  • Vantagens
  • Desvantagens

O que é um modelo de transformador?

Um transformador é um tipo de modelo de aprendizado profundo amplamente utilizado em PNL. Devido ao seu desempenho de tarefas e escalabilidade, é o núcleo de modelos como as séries GPT (fabricado pela OpenAI), Claude (fabricado pela Anthropic) e Gemini (fabricado pelo Google) e é amplamente utilizado em toda a indústria.

Os modelos de aprendizagem profunda consistem em três componentes principais: arquitetura do modelo, dados de treinamento e métodos de treinamento. Dentro desta estrutura, um transformador representa um tipo de arquitetura de modelo. Ele define a estrutura das redes neurais e suas interações. A principal inovação que diferencia os transformadores de outros modelos de aprendizado de máquina (ML) é o uso da “atenção”.

A atenção é um mecanismo nos transformadores que lhes permite processar entradas de forma eficiente e manter informações ao longo de longas sequências (por exemplo, um ensaio inteiro).

Aqui está um exemplo para ilustrar. “O gato sentou-se na margem do rio. Em seguida, mudou-se para o galho da árvore próxima.” Você pode reconhecer que “banco” aqui não é o banco no qual você deposita dinheiro. Você provavelmente usaria a pista de contexto “rio” para descobrir isso. A atenção funciona de forma semelhante; ele usa as outras palavras para definir o que cada palavra significa. A que “isso” se refere no exemplo? O modelo consideraria as palavras “movido” e “árvore” como pistas para perceber que a resposta é “gato”.

A importante questão não respondida é como o modelo sabe quais palavras observar. Falaremos disso um pouco mais tarde. Mas agora que definimos o modelo do transformador, vamos explicar melhor por que ele é tão usado.

Trabalhe de maneira mais inteligente com Grammarly
O parceiro de redação de IA para qualquer pessoa com trabalho a fazer

Transformadores vs. CNNs e RNNs

Redes neurais recorrentes (RNNs) e redes neurais convolucionais (CNNs) são dois outros modelos comuns de aprendizado profundo. Embora RNNs e CNNs tenham seus benefícios, os transformadores são mais amplamente usados ​​porque lidam muito melhor com entradas longas.

Transformadores vs. RNNs

Redes neurais recorrentes são modelos sequenciais. Uma analogia adequada é um humano lendo um livro. À medida que lêem, palavra por palavra, a memória e a compreensão do livro evoluem. Para leitores astutos, eles podem até prever o que acontecerá a seguir com base no que aconteceu antes. Um RNN funciona da mesma maneira. Ele lê palavra por palavra, atualiza sua memória (chamado de estado oculto) e pode então fazer uma previsão (por exemplo, a próxima palavra na frase ou o sentimento de algum texto). A desvantagem é que o estado oculto não pode conter muita informação. Se você alimentasse um livro inteiro em um RNN, ele não se lembraria de muitos detalhes sobre os capítulos de introdução porque há uma quantidade limitada de espaço em seu estado oculto. Os capítulos posteriores, em virtude de terem sido adicionados ao estado oculto mais recentemente, têm precedência.

Os transformadores não sofrem o mesmo problema de memória. Eles comparam cada palavra com todas as outras palavras na entrada (como parte do mecanismo de atenção) para que não precisem usar um estado oculto ou “lembrar” o que aconteceu anteriormente. Usando a mesma analogia do livro, um transformador é como um ser humano lendo a próxima palavra de um livro e depois olhando cada palavra anterior do livro para entender a nova palavra corretamente. Se a primeira frase de um livro contivesse a frase “Ele nasceu na França” e a última frase de um livro contivesse a frase “sua língua nativa”, o transformador seria capaz de deduzir que sua língua nativa é o francês. Uma RNN pode não ser capaz de fazer isso, uma vez que não é garantido que o estado oculto mantenha essas informações. Além disso, um RNN precisa ler cada palavra, uma de cada vez, e então atualizar seu estado oculto. Um transformador pode aplicar sua atenção em paralelo.

Transformadores vs. CNNs

As redes neurais convolucionais usam o contexto circundante de cada item em uma sequência para atribuir significado. Para uma palavra em uma página, as CNNs analisariam as palavras imediatamente ao seu redor para descobrir o significado da palavra. Não seria possível conectar a última e a primeira página de um livro. As CNNs são predominantemente usadas com imagens porque os pixels geralmente se relacionam com seus vizinhos muito mais do que as palavras. Dito isto, as CNNs também podem ser usadas para PNL.

Os transformadores diferem das CNNs porque olham para mais do que apenas os vizinhos imediatos de um item. Eles usam um mecanismo de atenção para comparar cada palavra com todas as outras palavras da entrada, proporcionando uma compreensão mais ampla e abrangente do contexto.

Como funcionam os modelos de transformadores?

Os transformadores têm camadas de blocos de atenção, redes neurais feedforward e incorporações. O modelo recebe uma entrada baseada em texto e retorna o texto de saída. Para fazer isso, siga estas etapas:

  1. Tokenização:transforma o texto em tokens (semelhante a dividir uma frase em palavras individuais).
  2. Incorporação:converte os tokens em vetores, incorporando incorporações posicionais para que o modelo entenda a localização do token na entrada.
  3. Mecanismo de atenção:processa os tokens usando autoatenção (para tokens de entrada) ou atenção cruzada (entre tokens de entrada e tokens gerados). Este mecanismo permite que o modelo avalie a importância de diferentes tokens ao gerar resultados.
  4. Rede neural feedforward:passa o resultado por uma rede neural feedforward, que permite ao modelo capturar padrões complexos introduzindo não linearidade.
  5. Repetição:as etapas 3 a 4 são repetidas várias vezes em várias camadas para refinar a saída.
  6. Distribuição de saída:Produz uma distribuição de probabilidade sobre todos os tokens possíveis.
  7. Seleção de token:escolhe o token com maior probabilidade.

Este processo constitui uma passagem direta pelo modelo do transformador. O modelo faz isso repetidamente até completar o texto de saída. Dentro de cada passagem, o processo de incorporação pode ser realizado em paralelo, assim como o mecanismo de atenção e o estágio de feedforward. Essencialmente, o transformador não precisa executar cada token, um de cada vez. Ele pode direcionar a atenção para todos os tokens ao mesmo tempo.

Podemos agora voltar à questão anterior: como o modelo sabe quais tokens atender? A resposta é simplesmente observar muitos dados de treinamento. A princípio, o modelo atenderá aos tokens errados e, portanto, gerará as saídas erradas. Usando a saída correta que vem com os dados de treinamento, o mecanismo de atenção pode ser modificado para gerar a resposta correta na próxima vez. Em bilhões (e até trilhões) de exemplos, o mecanismo de atenção pode escolher os tokens adequados quase o tempo todo.

Exemplos de modelos de transformadores

Os transformadores estão por toda parte. Embora tenham sido projetados inicialmente para tradução, os transformadores foram bem dimensionados para quase todas as tarefas de linguagem, visão e até mesmo de áudio.

Grandes modelos de linguagem

A arquitetura do transformador alimenta quase todos os grandes modelos de linguagem (LLMs): GPT, Claude, Gemini, Llama e muitos modelos menores de código aberto. Os LLMs podem lidar com várias tarefas de texto (e, cada vez mais, de imagem e áudio), como resposta a perguntas, classificação e geração de formato livre.

Isso é conseguido treinando o modelo do transformador em bilhões de exemplos de texto (geralmente extraídos da Internet). Em seguida, as empresas ajustam o modelo com base em exemplos de classificação para ensinar o modelo como realizar a classificação corretamente. Em suma, o modelo aprende uma ampla base de conhecimento e então aprende habilidades por meio de ajuste fino.

Transformadores de visão

Os transformadores de visão são transformadores padrão adaptados para trabalhar em imagens. A principal diferença é que o processo de tokenização deve funcionar com imagens em vez de texto. Uma vez que a entrada é transformada em tokens, ocorre o cálculo normal do transformador e, finalmente, os tokens de saída são usados ​​para classificar a imagem (por exemplo, a imagem de um gato). Os transformadores de visão são frequentemente mesclados com LLMs de texto para formar LLMs multimodais. Esses modelos multimodais podem captar uma imagem e raciocinar sobre ela, como aceitar um esboço da interface do usuário e recuperar o código necessário para criá-la.

CNNs também são populares para tarefas de imagem, mas os transformadores permitem que o modelo use todos os pixels da imagem em vez de apenas os pixels próximos. Por exemplo, se uma imagem contivesse um sinal de pare no lado esquerdo e um carro no lado direito, o modelo poderia determinar que o carro precisa parar. Uma CNN pode não conseguir conectar esses dois pontos de dados porque eles estão distantes um do outro na imagem.

Transformadores de áudio

Os transformadores de áudio, assim como os transformadores de visão, são transformadores padrão com um esquema de tokenização exclusivo feito sob medida para dados de áudio. Esses modelos podem processar texto e áudio bruto como entrada, gerando texto ou áudio. Um exemplo disso é o Whisper, um modelo de fala para texto que converte áudio bruto em uma transcrição. Ele consegue isso segmentando o áudio em pedaços, transformando esses pedaços em espectrogramas e codificando os espectrogramas em embeddings. Essas incorporações são então processadas pelo transformador, que gera os tokens de transcrição finais.

Além dos aplicativos de fala para texto, os transformadores de áudio têm vários outros casos de uso, incluindo geração de música, legendagem automática e conversão de voz. Além disso, as empresas estão integrando transformadores de áudio com LLMs para permitir interações baseadas em voz, permitindo aos usuários fazer perguntas e receber respostas por meio de comandos de voz.

Vantagens dos modelos de transformadores

Os transformadores tornaram-se onipresentes no campo do aprendizado de máquina devido à sua escalabilidade e desempenho excepcional em uma ampla gama de tarefas. Seu sucesso é atribuído a vários fatores-chave:

Contexto longo

O mecanismo de atenção pode comparar todos os tokens na sequência de entrada entre si. Assim, as informações de toda a entrada serão lembradas e utilizadas para gerar a saída. Em contraste, as RNNs esquecem informações mais antigas e as CNNs só podem usar informações próximas a cada token. É por isso que você pode fazer upload de centenas de páginas para um chatbot LLM, fazer uma pergunta sobre qualquer uma das páginas e obter uma resposta precisa. A falta de contexto longo em RNNs e CNNs é omaiormotivo pelo qual os transformadores os vencem nas tarefas.

Paralelização

O mecanismo de atenção nos transformadores pode ser executado em paralelo em todos os tokens na sequência de entrada. Isto contrasta com os RNNs, que processam tokens sequencialmente. Como resultado, os transformadores podem ser treinados e implantados mais rapidamente, proporcionando respostas mais rápidas aos usuários. Esta capacidade de processamento paralelo aumenta significativamente a eficiência dos transformadores em comparação com os RNNs.

Escalabilidade

Os pesquisadores têm aumentado continuamente o tamanho dos transformadores e a quantidade de dados usados ​​para treiná-los. Eles ainda não viram um limite para o quanto os transformadores podem aprender. Quanto maior o modelo do transformador, mais complexo e matizado é o texto que ele pode compreender e gerar (o GPT-3 tem 175 bilhões de parâmetros, enquanto o GPT-4 tem mais de 1 trilhão). Notavelmente, ampliar modelos de transformadores, como a criação de um modelo de 10 bilhões de parâmetros em comparação com um modelo de 1 bilhão de parâmetros, não requer muito mais tempo. Essa escalabilidade torna os transformadores ferramentas poderosas para diversas aplicações avançadas.

Desvantagens dos modelos de transformadores

A desvantagem dos modelos de transformadores é que eles exigem muitos recursos computacionais. O mecanismo de atenção é quadrático: cada token na entrada é comparado com todos os outros tokens. Dois tokens teriam 4 comparações, três tokens teriam 9, quatro tokens teriam 16 e assim por diante – essencialmente, o custo computacional é o quadrado da contagem de tokens. Este custo quadrático tem algumas implicações:

Hardware especializado

Os LLMs não podem ser executados facilmente em um computador comum. Devido ao seu tamanho, eles geralmente requerem dezenas de gigabytes de RAM para carregar os parâmetros do modelo. Além disso, as CPUs tradicionais não são otimizadas para computação paralela; em vez disso, é necessária uma GPU. Um LLM executado em uma CPU pode levar alguns minutos para gerar um único token. Infelizmente, as GPUs não são exatamente o hardware mais barato ou mais acessível.

Comprimento de entrada limitado

Os transformadores têm uma quantidade limitada de texto que podem processar (conhecida como comprimento do contexto). Originalmente, o GPT-3 só podia processar 2.048 tokens. Avanços nas implementações de atenção produziram modelos com comprimentos de contexto de até 1 milhão de tokens. Mesmo assim, é necessária uma pesquisa substancial para encontrar cada token extra de comprimento de contexto. Em contraste, as RNNs não possuem um comprimento máximo de contexto. A precisão deles cai muito à medida que a entrada aumenta, mas você poderia alimentar uma entrada de 2 milhões de tokens em uma agora.

Custo de energia

Os data centers que alimentam a computação dos transformadores requerem energia para funcionar e água para resfriá-los. Segundo uma estimativa, o GPT-3 exigiu 1.300 megawatts-hora de eletricidade para treinar: o equivalente a abastecer 130 residências nos EUA durante um ano inteiro. À medida que os modelos ficam maiores, a quantidade de energia necessária aumenta. Até 2027, a indústria da IA ​​poderá necessitar de tanta eletricidade todos os anos como a Holanda. Esforços significativos estão sendo feitos para reduzir a necessidade de transformadores de energia, mas este problema ainda não foi resolvido.