Modelos e plataformas de IA
Ascensão da PNL com Modelos de Transformadores | Uma Análise Abrangente do T5, BERT e GPT
O Processamento de Linguagem Natural (PNL) experimentou alguns dos avanços mais impactantes nos últimos anos, principalmente devido à arquitetura de transformadores. 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 numerousas aplicações, desde motores de busca até IA conversacional.
Para apreciar plenamente a importância dos transformadores, devemos primeiro olhar para os precursores e blocos de construção que estabeleceram as bases para essa arquitetura revolucionária.
Técnicas de PNL Iniciais: As Fundações Antes dos Transformadores
Embeddings de Palavras: De One-Hot para Word2Vec
Em abordagens tradicionais de PNL, a representação de palavras era frequentemente literal e carecia de qualquer forma de compreensão semântica ou sintática. A 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 da PNL, 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: [“rei”, “rainha”, “homem”, “mulher”, “criança”]. Os vetores de codificação one-hot para cada palavra seriam assim:
- “rei” -> [1, 0, 0, 0, 0]
- “rainha” -> [0, 1, 0, 0, 0]
- “homem” -> [0, 0, 1, 0, 0]
- “mulher” -> [0, 0, 0, 1, 0]
- “criança” -> [0, 0, 0, 0, 1]
Representação Matemática
Se denotarmos como o tamanho do nosso vocabulário e como o vetor de representação one-hot do i-ésimo palavra no vocabulário, a representação matemática de seria:
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 crucial na PNL. Desenvolvido por uma equipe do Google (GOOGL ) liderada por Tomas Mikolov em 2013, o Word2Vec representou palavras em um espaço vetorial 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, geralmente com centenas de dimensões. Palavras que aparecem em contextos semelhantes, como “rei” e “rainha”, terão representações vetoriais que estão mais próximas uma da outra no espaço vetorial.
Para ilustrar, vamos supor que treinamos um modelo Word2Vec e agora representamos palavras em um espaço hipotético tridimensional. Os embeddings (que normalmente são mais de 3D, mas reduzidos aqui para simplicidade) poderiam parecer algo assim:
- “rei” -> [0.2, 0.1, 0.9]
- “rainha” -> [0.21, 0.13, 0.85]
- “homem” -> [0.4, 0.3, 0.2]
- “mulher” -> [0.41, 0.33, 0.27]
- “criança” -> [0.5, 0.5, 0.1]
Embora esses números sejam fictícios, eles ilustram como palavras semelhantes têm vetores semelhantes.
Relações Semânticas
O Word2Vec pode até capturar relações complexas, como analogias. Por exemplo, a famosa relação capturada pelos embeddings do Word2Vec é:
vetor(“rei”) – vetor(“homem”) + vetor(“mulher”)≈vetor(“rainha”)
Isso é possível porque o Word2Vec ajusta os vetores de palavras durante o treinamento para que palavras que compartilham contextos comuns no corpus estejam posicionadas próximas no espaço vetorial.
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, enquanto o Skip-Gram faz o oposto, 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ências: RNNs e LSTMs
À medida que o campo avançou, o foco mudou para entender sequências de texto, o que era crucial para tarefas como tradução automática, resumo de texto e análise de sentimento. As 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.
As Redes de Memória de Curto e Longo Prazo (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ção: a porta de entrada, a porta de esquecimento e a porta de saída. Essas portas determinam o que é armazenado, atualizado ou descartado, permitindo que a rede preserve dependências de longo prazo e melhore significativamente o desempenho em uma ampla gama de tarefas de PNL.
A Arquitetura do Transformador
O cenário da PNL passou por uma transformação dramática com a introdução do modelo de transformador no artigo seminal “Attention is All You Need” por Vaswani et al. em 2017. A arquitetura do transformador se afasta do processamento sequencial das RNNs e LSTMs e utiliza um mecanismo chamado ‘auto-atenção’ para ponderar a influência de diferentes partes dos dados de entrada.
A ideia central do transformador é 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 auto-atençã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 Transformadores:
No modelo de Transformador 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 transformador não gera novo conteúdo; ela simplesmente transforma a entrada em um estado que o decoder pode usar.
- Funcionalidade: Cada camada do encoder tem mecanismos de auto-atenção e redes neurais feedforward. O mecanismo de auto-atençã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 eles 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 já gerou. 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 auto-atenção, mas são mascarados para evitar que 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 já foi produzido. 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 PNL complexas. O mecanismo de auto-atenção multi-cabeça, em particular, permite que o modelo se concentre seletivamente em diferentes partes da sequência, proporcionando uma compreensão rica do contexto.
Modelos Populares que Utilizam Transformadores
Após o sucesso inicial do modelo de transformador, 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 Transformadores): Introduzido pelo Google em 2018, o BERT revolucionou a forma como a informação contextual é integrada às representações linguísticas. 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 PNL.
T5 (Transformador de Transferência de Texto): Introduzido pelo Google em 2020, o T5 reformula todas as tarefas de PNL 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 (Transformador Gerativo Pré-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 vastas quantidades 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 sentinela e o modelo aprende a reconstruir o texto original.
3. Representação de Entrada
- BERT: Embeddings de Token, Segmento e Posicionais são combinados para representar a entrada.
- GPT: Embeddings de Token e Posicionais são combinados (sem embeddings de segmento, pois não é projetado para tarefas de par de sentenças).
- T5: Apenas Embeddings de Token com Codificações Posicionais Relativas adicionadas durante as operações de atenção.
4. Mecanismo de Atenção
- BERT: Usa codificações posicionais absolutas e permite que cada token atenda a todos os tokens à esquerda e à direita (atenção bidirecional).
- GPT: Também usa codificações posicionais absolutas, mas restringe a atenção a tokens anteriores apenas (atenção unidirecional).
- T5: Implementa uma variante do transformador que usa vieses de posição relativa em vez de embeddings posicionais.
5. Arquitetura do Modelo
- BERT: Arquitetura apenas de encoder com múltiplas camadas de blocos de transformador.
- 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 transformador.
6. Abordagem de Ajuste
- BERT: Ajusta os estados ocultos finais do modelo pré-treinado para tarefas downstream com camadas de saída adicionais conforme necessário.
- GPT: Adiciona uma camada linear no topo do transformador e ajusta no modelo de tarefa downstream usando o mesmo objetivo de modelagem de linguagem causal.
- T5: Converte todas as tarefas em um formato 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 no BooksCorpus e na 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. Manejo de Contexto e Bidirecionalidade
- BERT: Projetado para entender contexto em ambas as direções simultaneamente.
- GPT: Treinado para entender contexto em uma direção (esquerda para direita).
- T5: Pode modelar contexto bidirecional no encoder e unidirecional no decoder, apropriado para tarefas de sequência para sequência.
9. Adaptabilidade a Tarefas Downstream
- BERT: Requer camadas de cabeça de tarefa específicas 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 inerentemente 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: O contexto unidirecional pode ser mais direto para seguir, mas carece da profundidade do contexto bidirecional.
- T5: A estrutura encoder-decoder fornece uma separação clara de etapas de processamento, mas pode ser complexo para analisar devido à sua natureza gerativa.
O Impacto dos Transformadores na PNL
Os transformadores revolucionaram o campo da PNL, 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 auto-atenção, permitindo que os modelos ponderem 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 PNL, 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 transformadores 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 métodos de treinamento. Técnicas como aprendizado de poucos exemplos, onde os modelos realizam tarefas com exemplos mínimos, e métodos para transferência de aprendizado mais eficaz estão na vanguarda da pesquisa atual.
Os modelos de linguagem, como os baseados em transformadores, aprendem a partir de 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.















