Capítulo 81 – Modelos de Linguagem Como Tarefas Não Supervisionadas (GPT-2)

Deep Learning Book

Vamos seguir estudando o modelo GPT, agora com a sua segunda versão. Estamos considerando que você leu o capítulo anterior.

Os desenvolvimentos no modelo GPT-2 foram principalmente em termos de usar um conjunto de dados maior e adicionar mais parâmetros ao modelo para aprender um modelo de linguagem ainda mais forte. Vejamos os desenvolvimentos significativos no modelo GPT-2 e os conceitos discutidos no artigo:

1- Objetivos e Conceitos de Aprendizagem

A seguir estão os dois conceitos importantes discutidos no artigo GPT-2 no contexto do PLN (Processamento de Linguagem Natural).

Condicionamento de Tarefas: vimos que o objetivo de treinamento do modelo de linguagem é formulado como P(saída | entrada). No entanto, o GPT-2 teve como objetivo aprender várias tarefas usando o mesmo modelo não supervisionado. Para isso, o objetivo de aprendizagem deve ser modificado para P(saída | entrada, tarefa). Esta modificação é conhecida como condicionamento de tarefa, em que se espera que o modelo produza saídas diferentes para a mesma entrada para tarefas diferentes. Alguns modelos implementam condicionamento de tarefa em um nível arquitetônico onde o modelo é alimentado com a entrada e a tarefa. Para modelos de linguagem, a saída, entrada e tarefa, todos são sequências de linguagem natural. Assim, o condicionamento de tarefas para modelos de linguagem é realizado fornecendo exemplos ou instruções de linguagem natural para o modelo realizar uma tarefa. O condicionamento de tarefas forma a base para a transferência de tarefas de tiro zero, que abordaremos a seguir.

Zero Shot Learning e Zero Short Task Transfer: uma capacidade interessante do GPT-2 é a transferência de tarefa zero shot. O aprendizado zero shot é um caso especial de transferência de tarefa zero shot onde nenhum exemplo é fornecido e o modelo entende a tarefa com base na instrução fornecida. Em vez de reorganizar as sequências, como foi feito para o GPT-1 para o ajuste fino, a entrada para o GPT-2 foi fornecida em um formato que esperava que o modelo entendesse a natureza da tarefa e fornecesse respostas. Isso foi feito para emular o comportamento de transferência de tarefa de tiro zero. Por exemplo. para a tarefa de tradução de inglês para francês, o modelo recebeu uma frase em inglês seguida da palavra francês e um prompt (:). O modelo deveria entender que se trata de uma tarefa de tradução e fornecer a contrapartida francesa da frase inglesa.

2. Conjunto de Dados

Para criar um conjunto de dados extenso e de boa qualidade, os autores usaram a plataforma do Reddit e extraíram dados de links externos de artigos com alta votação. O conjunto de dados resultante, denominado WebText, tinha 40 GB de dados de texto de mais de 8 milhões de documentos. Este conjunto de dados foi usado para treinar GPT-2 e era enorme em comparação com o conjunto de dados Book Corpus usado para treinar o modelo GPT-1. Todos os artigos da Wikipedia foram removidos do WebText, pois muitos conjuntos de teste contêm artigos da Wikipedia.

3. Arquitetura do Modelo e Detalhes de Implementação

GPT-2 tinha 1,5 bilhão de parâmetros. que era 10 vezes mais do que GPT-1 (117M parâmetros). As principais diferenças da GPT-1 foram:

  • GPT-2 tinha 48 camadas e usava 1600 vetores dimensionais para incorporação de palavras.
  • Um vocabulário maior de 50.257 tokens foi usado.
  • Tamanho de lote maior de 512 e janela de contexto maior de 1024 tokens foram usados.
  • A normalização da camada foi movida para a entrada de cada sub-bloco e uma normalização da camada adicional foi adicionada após o bloco final de autoatenção.
  • Na inicialização, o peso das camadas residuais foi dimensionado em 1 / √N, onde N era o número de camadas residuais.

Os autores treinaram quatro modelos de linguagem com 117M (igual ao GPT-1), 345M, 762M e 1.5B (GPT-2) parâmetros. Cada modelo subsequente teve menor perplexidade do que o anterior. Isso estabeleceu que a perplexidade dos modelos de linguagem no mesmo conjunto de dados diminui com o aumento do número de parâmetros. Além disso, o modelo com o maior número de parâmetros teve melhor desempenho em todas as tarefas downstream.

4. Desempenho e Resumo

O GPT-2 foi avaliado em vários conjuntos de dados de tarefas posteriores, como compreensão de leitura, resumo, tradução, resposta a perguntas, etc. Vejamos algumas dessas tarefas e o desempenho do GPT-2 nelas em detalhes:

GPT-2 melhorou o estado da arte então existente para 7 de 8 conjuntos de dados de modelagem de linguagem em configuração zero shot. O conjunto de dados de livros infantis avalia o desempenho em modelos de linguagem em categorias de palavras como substantivos, preposições, entidades nomeadas, etc.

O GPT-2 aumentou a precisão do estado da arte em aproximadamente 7% para substantivo comum e reconhecimento de entidade nomeada. O conjunto de dados avalia o desempenho dos modelos na identificação de dependências de longo alcance e na previsão da última palavra de uma frase. GPT-2 reduziu a perplexidade de 99,8 para 8,6 e melhorou a precisão significativamente.

GPT-2 superou 3 de 4 modelos de linha de base em tarefas de compreensão de leitura em configuração de tiro zero. Na tarefa de tradução do francês para o inglês, o GPT-2 teve um desempenho melhor do que a maioria dos modelos não supervisionados na configuração zero shot, mas não superou o modelo não supervisionado de última geração.

O GPT-2 não teve um bom desempenho na sumarização de texto e seu desempenho foi semelhante ou inferior aos modelos clássicos treinados para sumarização.

O GPT-2 conseguiu obter resultados de última geração em 7 dos 8 conjuntos de dados de modelagem de linguagem testados em zero-shot.

O GPT-2 mostrou que o treinamento em um conjunto de dados maior e com mais parâmetros melhorou a capacidade do modelo de linguagem de compreender tarefas e superar o estado da arte de muitas tarefas em configurações de tiro zero. A equipe afirmou que com o aumento da capacidade do modelo, o desempenho aumentou de forma log-linear. Além disso, a queda na perplexidade dos modelos de linguagem não mostrou saturação e continuou diminuindo com o aumento do número de parâmetros. Na verdade, o GPT-2 subjugou o conjunto de dados WebText e o treinamento por mais tempo poderia ter reduzido a perplexidade ainda mais. Isso mostrou que o tamanho do modelo de GPT-2 não era o limite e construir modelos de linguagem ainda maiores reduziria a perplexidade e tornaria os modelos de linguagem melhores no entendimento da linguagem natural.

E então, veio o GPT-3, assunto do próximo capítulo.

Referências: