Inteligência artificial
NLP Rise with Transformer Models | A Comprehensive Analysis of T5, BERT, and GPT

O Processamento de Linguagem Natural (NLP) experimentou alguns dos avanços mais impactantes nos últimos anos, principalmente devido à arquitetura do transformer. Esses avanços não apenas melhoraram as capacidades das máquinas para entender e gerar linguagem humana, mas também redefiniram o cenário de inúmeras aplicações, desde motores de busca até inteligência conversacional.
Para apreciar plenamente a importância dos transformers, devemos primeiro olhar para os precursores e blocos de construção que estabeleceram a base para essa arquitetura revolucionária.
Técnicas de NLP Iniciais: Os Fundamentos Antes dos Transformers
Embeddings de Palavras: De One-Hot para Word2Vec
Em abordagens tradicionais de NLP, a representação de palavras era frequentemente literal e carecia de qualquer forma de compreensão semântica ou sintática. O codificação one-hot é um exemplo principal dessa limitação.
A codificação one-hot é um processo pelo qual variáveis categóricas são convertidas em uma representação vetorial binária onde apenas um bit está “quente” (definido como 1) enquanto todos os outros estão “frios” (definidos como 0). No contexto do NLP, cada palavra em um vocabulário é representada por vetores one-hot onde cada vetor tem o tamanho do vocabulário, e cada palavra é representada por um vetor com todos 0s e um 1 no índice correspondente àquela palavra na lista do vocabulário.
Exemplo de Codificação One-Hot
Suponha que tenhamos um vocabulário minúsculo com apenas cinco palavras: [“king”, “queen”, “man”, “woman”, “child”]. Os vetores de codificação one-hot para cada palavra seriam assim:
- “king” -> [1, 0, 0, 0, 0]
- “queen” -> [0, 1, 0, 0, 0]
- “man” -> [0, 0, 1, 0, 0]
- “woman” -> [0, 0, 0, 1, 0]
- “child” -> [0, 0, 0, 0, 1]
Representação Matemática
Se denotarmos V como o tamanho do nosso vocabulário e wi como o vetor de representação one-hot da i-ésima palavra no vocabulário, a representação matemática de wi seria:
wi=[0,0,…,1,…,0,0] onde a posição i-ésima é 1 e todas as outras posições são 0.onde a posição i-ésima é 1 e todas as outras posições são 0.
A grande desvantagem da codificação one-hot é que ela trata cada palavra como uma entidade isolada, sem relação com outras palavras. Isso resulta em vetores esparsos e de alta dimensionalidade que não capturam nenhuma informação semântica ou sintática sobre as palavras.
A introdução de embeddings de palavras, mais notadamente Word2Vec, foi um momento pivotal em NLP. Desenvolvido por uma equipe do Google liderada por Tomas Mikolov em 2013, o Word2Vec representou palavras em um espaço de vetor denso, capturando relações sintáticas e semânticas entre palavras com base em seu contexto dentro de grandes corpora de texto.
Ao contrário da codificação one-hot, o Word2Vec produz vetores densos, tipicamente com centenas de dimensões. Palavras que aparecem em contextos semelhantes, como “king” e “queen”, terão representações de vetores que estão mais próximas uma da outra no espaço de vetor.
Para ilustrar, vamos supor que tenhamos treinado um modelo Word2Vec e agora representamos palavras em um espaço hipotético tridimensional. Os embeddings (que são usualmente mais de 3D, mas reduzidos aqui para simplicidade) poderiam parecer algo assim:
- “king” -> [0.2, 0.1, 0.9]
- “queen” -> [0.21, 0.13, 0.85]
- “man” -> [0.4, 0.3, 0.2]
- “woman” -> [0.41, 0.33, 0.27]
- “child” -> [0.5, 0.5, 0.1]
Embora esses números sejam fictícios, eles ilustram como palavras semelhantes têm vetores semelhantes.
Representação Matemática
Se representarmos o embedding do Word2Vec de uma palavra como vw, e nosso espaço de embedding tem d dimensões, então vw pode ser representado como:
vw=[v1,v2,…,vd] onde cada vi é um número de ponto flutuante que representa uma característica da palavra no espaço de embedding.
Relações Semânticas
O Word2Vec pode até capturar relações complexas, como analogias. Por exemplo, a relação famosa capturada pelos embeddings do Word2Vec é:
vetor(“king”) – vetor(“man”) + vetor(“woman”)≈vetor(“queen”)vetor(“king”) – vetor(“man”) + vetor(“woman”)≈vetor(“queen”)
Isso é possível porque o Word2Vec ajusta os vetores de palavras durante o treinamento para que as palavras que compartilham contextos comuns no corpus estejam posicionadas próximas no espaço de vetor.
O Word2Vec usa duas arquiteturas principais para produzir uma representação distribuída de palavras: Continuous Bag-of-Words (CBOW) e Skip-Gram. O CBOW prevê uma palavra-alvo a partir de suas palavras de contexto circundantes, enquanto o Skip-Gram faz o inverso, prevendo palavras de contexto a partir de uma palavra-alvo. Isso permitiu que as máquinas começassem a entender o uso e o significado das palavras de uma maneira mais sutil.
Modelagem de Sequência: RNNs e LSTMs
À medida que o campo progredia, o foco mudou para entender sequências de texto, o que era crucial para tarefas como tradução de máquina, resumo de texto e análise de sentimento. Redes Neurais Recorrentes (RNNs) se tornaram a pedra angular para essas aplicações devido à sua capacidade de lidar com dados sequenciais mantendo uma forma de memória.
No entanto, as RNNs não estavam sem limitações. Elas lutavam com dependências de longo prazo devido ao problema do gradiente desaparecido, onde a informação se perde ao longo de sequências longas, tornando difícil aprender correlações entre eventos distantes.
Redes de Memória de Curto Prazo Longo (LSTMs), introduzidas por Sepp Hochreiter e Jürgen Schmidhuber em 1997, abordaram esse problema com uma arquitetura mais sofisticada. As LSTMs têm portas que controlam o fluxo de informações: a porta de entrada, a porta de esquecimento e a porta de saída. Essas portas determinam quais informações são armazenadas, atualizadas ou descartadas, permitindo que a rede preserve dependências de longo prazo e melhore significativamente o desempenho em uma ampla gama de tarefas de NLP.
A Arquitetura do Transformer
A paisagem do NLP passou por uma transformação dramática com a introdução do modelo transformer no artigo seminal “Attention is All You Need” por Vaswani et al. em 2017. A arquitetura do transformer se afasta do processamento sequencial das RNNs e LSTMs e, em vez disso, utiliza um mecanismo chamado ‘autoatenção’ para pesar a influência de diferentes partes dos dados de entrada.
A ideia central do transformer é que ele pode processar todos os dados de entrada de uma vez, em vez de sequencialmente. Isso permite uma maior paralelização e, como resultado, aumentos significativos na velocidade de treinamento. O mecanismo de autoatenção permite que o modelo se concentre em diferentes partes do texto à medida que o processa, o que é crucial para entender o contexto e as relações entre as palavras, independentemente de sua posição no texto.
Encoder e Decoder nos Transformers:
No modelo Transformer original, como descrito no artigo “Attention is All You Need” por Vaswani et al., a arquitetura é dividida em duas partes principais: o encoder e o decoder. Ambas as partes são compostas por camadas que têm a mesma estrutura geral, mas servem a propósitos diferentes.
Encoder:
- Papel: O papel do encoder é processar os dados de entrada e criar uma representação que capture as relações entre os elementos (como palavras em uma sentença). Essa parte do transformer não gera nenhum conteúdo novo; ele simplesmente transforma a entrada em um estado que o decoder pode usar.
- Funcionalidade: Cada camada do encoder tem mecanismos de autoatenção e redes neurais feed-forward. O mecanismo de autoatenção permite que cada posição no encoder atenda a todas as posições na camada anterior do encoder — assim, ele pode aprender o contexto em torno de cada palavra.
- Embeddings Contextuais: A saída do encoder é uma série de vetores que representam a sequência de entrada em um espaço de alta dimensionalidade. Esses vetores são frequentemente referidos como embeddings contextuais porque codificam não apenas as palavras individuais, mas também seu contexto dentro da sentença.
Decoder:
- Papel: O papel do decoder é gerar dados de saída sequencialmente, um de cada vez, com base na entrada que ele recebe do encoder e no que ele gerou até o momento. Ele é projetado para tarefas como geração de texto, onde a ordem de geração é crucial.
- Funcionalidade: As camadas do decoder também contêm mecanismos de autoatenção, mas são mascarados para evitar que as posições atendam a posições subsequentes. Isso garante que a previsão para uma posição particular possa depender apenas de saídas conhecidas em posições anteriores. Além disso, as camadas do decoder incluem um segundo mecanismo de atenção que atende à saída do encoder, integrando o contexto da entrada no processo de geração.
- Capacidades de Geração Sequencial: Isso se refere à capacidade do decoder de gerar uma sequência um elemento de cada vez, construindo sobre o que ele já produziu. Por exemplo, ao gerar texto, o decoder prevê a próxima palavra com base no contexto fornecido pelo encoder e na sequência de palavras que ele já gerou.
Cada uma dessas subcamadas dentro do encoder e do decoder é crucial para a capacidade do modelo de lidar com tarefas de NLP complexas. O mecanismo de atenção multi-cabeça, em particular, permite que o modelo se concentre seletivamente em diferentes partes da sequência, fornecendo uma compreensão rica do contexto.
Modelos Populares que Utilizam Transformers
Após o sucesso inicial do modelo transformer, houve uma explosão de novos modelos construídos sobre sua arquitetura, cada um com suas próprias inovações e otimizações para diferentes tarefas:
BERT (Representações Bidirecionais de Encoder do Transformer): Introduzido pelo Google em 2018, o BERT revolucionou a forma como a informação contextual é integrada às representações de linguagem. Ao pré-treinar em um grande corpus de texto com um modelo de linguagem mascarada e previsão de sentença subsequente, o BERT captura contextos bidirecionais ricos e alcançou resultados de estado da arte em uma ampla gama de tarefas de NLP.
T5 (Transformer de Transferência de Texto para Texto): Introduzido pelo Google em 2020, o T5 reframes todas as tarefas de NLP como um problema de texto para texto, usando um formato de texto unificado. Essa abordagem simplifica o processo de aplicar o modelo a uma variedade de tarefas, incluindo tradução, resumo e resposta a perguntas.
GPT (Transformer Gerador Pre-treinado): Desenvolvido pela OpenAI, a linha de modelos GPT começou com o GPT-1 e alcançou o GPT-4 em 2023. Esses modelos são pré-treinados usando aprendizado não supervisionado em vastos conjuntos de dados de texto e ajustados para várias tarefas. Sua capacidade de gerar texto coerente e contextualmente relevante os tornou altamente influentes em aplicações de IA tanto acadêmicas quanto comerciais.
Aqui está uma comparação mais aprofundada dos modelos T5, BERT e GPT em várias dimensões:
1. Tokenização e Vocabulário
- BERT: Usa a tokenização WordPiece com um tamanho de vocabulário de cerca de 30.000 tokens.
- GPT: Emprega a codificação de pares de bytes (BPE) com um tamanho de vocabulário grande (por exemplo, o GPT-3 tem um tamanho de vocabulário de 175.000).
- T5: Utiliza a tokenização SentencePiece, que trata o texto como bruto e não requer palavras pré-segmentadas.
2. Objetivos de Pré-treinamento
- BERT: Modelagem de linguagem mascarada (MLM) e previsão de sentença subsequente (NSP).
- GPT: Modelagem de linguagem causal (CLM), onde cada token prevê o próximo token na sequência.
- T5: Usa um objetivo de desruído onde spans aleatórios de texto são substituídos por um token sentinel e o modelo aprende a reconstruir o texto original.
3. Representação de Entrada
- BERT: As embeddings de token, segmento e posição são combinadas para representar a entrada.
- GPT: As embeddings de token e posição são combinadas (sem embeddings de segmento, pois não é projetado para tarefas de par de sentenças).
- T5: Apenas embeddings de token com codificações de posição relativa adicionadas durante as operações de atenção.
4. Mecanismo de Atenção
- BERT: Usa codificações de posição absoluta e permite que cada posição atenda a todas as posições — assim, pode aprender o contexto ao redor de cada palavra.
- GPT: Também usa codificações de posição absoluta, mas restringe a atenção a tokens anteriores apenas (atenção unidirecional).
- T5: Implementa uma variante do transformer que usa vieses de posição relativa em vez de embeddings de posição.
5. Arquitetura do Modelo
- BERT: Arquitetura apenas de encoder com múltiplas camadas de blocos de transformer.
- GPT: Arquitetura apenas de decoder, também com múltiplas camadas, mas projetada para tarefas gerativas.
- T5: Arquitetura encoder-decoder, onde tanto o encoder quanto o decoder são compostos por camadas de transformer.
6. Abordagem de Ajuste
- BERT: Adaptar os estados ocultos finais do modelo pré-treinado para tarefas downstream com camadas de saída adicionais conforme necessário.
- GPT: Adicionar uma camada linear sobre o transformer e ajustar no objetivo de modelagem de linguagem causal para a tarefa downstream.
- T5: Converter todas as tarefas em um formato de texto para texto, onde o modelo é ajustado para gerar a sequência de saída a partir da sequência de entrada.
7. Dados de Treinamento e Escala
- BERT: Treinado em BooksCorpus e Wikipedia em inglês.
- GPT: O GPT-2 e o GPT-3 foram treinados em conjuntos de dados diversificados extraídos da internet, com o GPT-3 sendo treinado em um corpus ainda maior chamado Common Crawl.
- T5: Treinado no “Colossal Clean Crawled Corpus”, que é uma versão grande e limpa do Common Crawl.
8. Tratamento de Contexto e Bidirecionalidade
- BERT: Projetado para entender o contexto em ambas as direções simultaneamente.
- GPT: Treinado para entender o contexto em uma direção (da esquerda para a direita).
- T5: Pode modelar contexto bidirecional no encoder e unidirecional no decoder, apropriado para tarefas de sequência para sequência.
9. Adaptabilidade para Tarefas Downstream
- BERT: Requer camadas de cabeça específicas de tarefa e ajuste para cada tarefa downstream.
- GPT: É gerativo por natureza e pode ser estimulado a realizar tarefas com alterações mínimas em sua estrutura.
- T5: Trata todas as tarefas como um problema de “texto para texto”, tornando-o intrinsicamente flexível e adaptável a novas tarefas.
10. Interpretabilidade e Explicabilidade
- BERT: A natureza bidirecional fornece embeddings contextuais ricos, mas pode ser mais difícil de interpretar.
- GPT: A atenção unidirecional pode ser mais direta para seguir, mas carece da profundidade do contexto bidirecional.
- T5: A estrutura encoder-decoder fornece uma clara separação de etapas de processamento, mas pode ser complexa para analisar devido à sua natureza gerativa.
O Impacto dos Transformers no NLP
Os transformers revolucionaram o campo do NLP, permitindo que os modelos processem sequências de dados em paralelo, o que aumentou dramaticamente a velocidade e a eficiência do treinamento de redes neurais grandes. Eles introduziram o mecanismo de autoatenção, permitindo que os modelos pesem a importância de cada parte dos dados de entrada, independentemente da distância dentro da sequência. Isso levou a melhorias sem precedentes em uma ampla gama de tarefas de NLP, incluindo, mas não limitado a, tradução, resposta a perguntas e resumo de texto.
A pesquisa continua a empurrar os limites do que os modelos baseados em transformers podem alcançar. O GPT-4 e seus contemporâneos não são apenas maiores em escala, mas também mais eficientes e capazes devido a avanços na arquitetura e nos métodos de treinamento. Técnicas como o aprendizado de poucos exemplos, onde os modelos realizam tarefas com exemplos mínimos, e métodos para um aprendizado de transferência mais eficaz estão na vanguarda da pesquisa atual.
Os modelos de linguagem, como os baseados em transformers, aprendem com dados que podem conter vieses. Pesquisadores e praticantes estão ativamente trabalhando para identificar, entender e mitigar esses vieses. Técnicas variam desde conjuntos de dados de treinamento curados até ajustes pós-treinamento visando equidade e neutralidade.













