Inteligência artificial
GPT-3: Aprendizado de Poucos Disparos para Modelo de Linguagem?

Nos últimos anos, a indústria de IA e ML testemunhou um aumento meteórico no desenvolvimento e aplicação de sistemas de NLP, pois os pesquisadores conseguiram implementar práticas de NLP de maneira altamente flexível e agnóstica de tarefas para tarefas de transferência downstream.
Inicialmente, eram usadas representações de camada única que usavam vetores de palavras e, em seguida, eram alimentadas com arquiteturas específicas de tarefas. Em seguida, foi a arquitetura RNN que usou representações de múltiplas camadas e estado contextual para formar melhores representações. E, mais recentemente, temos os modelos de linguagem de transferência ou modelos recorrentes pré-treinados que eliminaram completamente a necessidade de arquiteturas específicas de tarefas ao ajustar finamente essas redes.
Os modelos de linguagem de transferência provaram ser um ponto de inflexão importante na indústria de NLP, pois resultaram em um tremendo progresso em tarefas desafiadoras, como responder a perguntas, leitura de compreensão ou blocos de texto, inferência textual e muito mais.
No entanto, apesar de suas vantagens, os modelos de linguagem de transferência têm uma limitação importante, pois requerem ajuste fino específico de tarefa ou conjunto de dados específico de tarefa para alcançar o desempenho desejado em uma tarefa. Além disso, os modelos de linguagem de transferência também requerem que os desenvolvedores ajustem finamente os conjuntos de dados para centenas de milhares de exemplos específicos de uma tarefa.
Vai sem dizer que remover a necessidade de conjunto de dados específico de tarefa e ajuste fino específico de tarefa será altamente desejável e benéfico para a indústria de NLP por inúmeras razões.
Problemas com os Modelos de Linguagem de Transferência Pré-Treinados ou Modelos Recorrentes Existente
- Limitando a Praticidade e Aplicabilidade
Em primeiro lugar, a necessidade de um grande conjunto de dados com dados rotulados para cada tarefa limita a aplicabilidade e praticidade dos modelos de linguagem. Os modelos de linguagem encontram suas aplicações em uma ampla variedade de tarefas, desde gerar uma história curta até corrigir erros gramaticais, passando por gerar exemplos de um conceito. Às vezes, é uma tarefa desafiadora coletar um grande conjunto de dados supervisionados com dados rotulados, especialmente quando o processo precisa ser repetido para cada tarefa individual.
- Explorando Correlações Espúrias nos Dados de Treinamento
Limitações e estreiteza da distribuição de treinamento, juntamente com a expressividade do modelo, podem resultar em um crescimento fundamental no potencial de explorar correlações espúrias nos dados de treinamento. O potencial de explorar os dados de treinamento pode resultar em problemas durante o ajuste fino e pré-treinamento, pois os modelos de linguagem de transferência são projetados para absorver uma grande quantidade de informações durante o pré-treinamento.
Além disso, trabalhos em modelos anteriores indicaram que grandes modelos não resultam em melhor desempenho fora da distribuição a cada vez. Além disso, também foi indicado que a generalização alcançada sob esse paradigma pode resultar em um desempenho pobre, principalmente porque o modelo é altamente específico para os dados de treinamento e não pode se sair bem em situações além do escopo dos dados de treinamento.
- Comparaçãocom o Aprendizado Humano
Finalmente, quando comparado com os modelos de linguagem de transferência, os humanos não requerem um grande conjunto de dados de treinamento quando se trata de aprender a maioria das tarefas de linguagem. Na maioria das vezes, uma breve diretriz na linguagem natural de uma pessoa ou uma pequena demonstração da tarefa de linguagem é adequada para que um humano entenda e execute uma tarefa de linguagem com um certo nível de competitividade.
A capacidade dos humanos de se adaptar tem numerousas vantagens práticas, pois permite que eles mudem entre diferentes conjuntos de habilidades ou os misturem para se sair melhor durante um diálogo, algo que está além das capacidades dos atuais sistemas de NLP.
Abordando os Problemas com Aprendizado de Meta e GPT-3
Uma possível solução para os desafios acima é o uso do aprendizado de meta, um conceito na ML moderna que permite que um modelo desenvolva um conjunto mais amplo e amplo de habilidades e capacidade de reconhecer padrões durante o treinamento, e, em seguida, usa essas habilidades aprendidas durante a inferência para se adaptar rapidamente ou reconhecer a tarefa necessária.
O aprendizado de meta está sendo implementado na arquitetura do modelo de linguagem por meio de uma técnica chamada “aprendizado em contexto” que usa a entrada de texto de um modelo de linguagem pré-treinado como uma especificação de tarefa. No processo, o modelo é condicionado em uma instrução de linguagem natural e pode até usar algumas demonstrações, e o modelo é então esperado para completar o resto da tarefa, prevendo as próximas etapas.
O único grande problema com o aprendizado de meta é que, embora tenha mostrado um potencial positivo, ainda é inferior à abordagem de ajuste fino em arquiteturas de linguagem natural, e precisa de mais melhorias para se tornar um método prático para superar tarefas de linguagem.
Além do aprendizado de meta, outro método que está ganhando popularidade é o aumento da capacidade dos modelos de linguagem de transformador. Nos últimos anos, os modelos de transferência testemunharam um aumento significativo em sua capacidade, com o modelo RNSS18 com 100 milhões de parâmetros, o modelo DCLT18 com 300 milhões de parâmetros, o modelo RWC19 com 1,5 bilhão de parâmetros, o modelo SSP19 com 8 bilhões de parâmetros, o modelo RSR19 com 11 bilhões de parâmetros e o modelo TUR20 com 17 bilhões de parâmetros.
Aumentar a capacidade do modelo ou aumentar os parâmetros historicamente resultou em melhorias na síntese de texto, e há uma indicação de que a perda log também segue uma tendência suave de melhoria com a escala.
Isso nos leva ao modelo GPT-3, que tem mais de 175 bilhões de parâmetros, e, quando foi lançado, era o modelo de linguagem de transferência com a maior capacidade. Vamos falar agora sobre o modelo GPT-3.
Introdução ao Modelo GPT-3
O GPT-3 é um modelo de linguagem autoagressivo com mais de 175 bilhões de parâmetros que foi lançado pela OpenAI em 2020. O GPT-3 também é classificado como um modelo de linguagem grande que, assim como seu antecessor, o modelo GPT-2, é um modelo de transformador de decodificador apenas que usa arquitetura baseada em convolução para gerar dados textuais.
O modelo GPT-3 mede suas próprias habilidades de aprendizado de contexto e o modelo GPT-3 é avaliado em mais de duas dúzias de conjuntos de dados de NLP e múltiplas tarefas novas. Para cada tarefa individual, o modelo GPT-3 é avaliado em três condições,
- Aprendizado de Poucos Disparos ou Aprendizado em Contexto: No aprendizado de poucos disparos, o modelo GPT-3 permite quantas distribuições cabem bem no contexto do modelo.
- Aprendizado de Um Disparo: No aprendizado de um disparo, o modelo permite apenas uma demonstração.
- Aprendizado de Zero Disparos: No aprendizado de zero disparos, não há demonstrações e há apenas uma instrução em linguagem natural que é alimentada ao modelo.

Em termos gerais, o modelo GPT-3 alcança um desempenho desejado em configurações de zero disparos e um disparo, e na configuração de poucos disparos, supera os modelos de transferência de estado da arte na maioria das vezes. Além disso, o modelo GPT-3 se sai bem em configurações de um disparo e zero disparos em tarefas de linguagem natural projetadas para testar o raciocínio no momento, ou que exigem atenção rápida, como usar palavras novas após uma sentença, ou desembaralhar palavras, ou realizar operações aritméticas.

Abordagem do Modelo GPT-3
O modelo GPT-3 usa uma abordagem de pré-treinamento convencional que compreende modelo, dados e treinamento, e se assemelha ao processo de pré-treinamento seguido pelo modelo de transferência RWC-19. O modelo GPT-3 dimensiona o tamanho do modelo, o tamanho do conjunto de dados, a diversidade do conjunto de dados e aumenta o comprimento do período de treinamento.
O modelo também usa uma abordagem de aprendizado em contexto que, mais uma vez, se assemelha à abordagem do modelo RWC-19, mas ajusta as coisas um pouco, explorando sistematicamente diferentes configurações para aprender padrões dentro do contexto do conjunto de dados.
Então, vamos começar explorando essas configurações e avaliar como o modelo GPT-3 se sai em diferentes configurações.
Ajuste Fino
Ajustar finamente o modelo tem sido a abordagem convencional nos modelos de linguagem de transferência, e essa abordagem envolve atualizar os pesos de um modelo pré-treinado, treinando o modelo em um conjunto de dados supervisionados específico da tarefa desejada, e centenas de milhares de exemplos rotulados são usados durante o processo.
A abordagem de ajuste fino é benéfica porque retorna um desempenho forte em vários benchmarks. Por outro lado, a principal limitação da abordagem de ajuste fino é que requer um novo e grande conjunto de dados para cada tarefa individual, tem o potencial de explorar recursos espúrios do conjunto de dados de treinamento, pode potencialmente resultar em comparações injustas com o desempenho humano e uma generalização pobre para fora da distribuição.
O escopo atual do modelo GPT-3 não implementa a abordagem de ajuste fino devido ao seu desempenho agnóstico de tarefa, embora o ajuste fino possa ser aplicado ao modelo GPT-3 no futuro.
Poucos Disparos
Poucos disparos é um termo que se refere à configuração em que o modelo GPT-3 é dado algumas demonstrações da tarefa durante a interferência como condicionamento, mas os pesos do modelo não são atualizados. Na configuração de poucos disparos, o conjunto de dados normalmente tem um exemplo com um contexto e uma conclusão desejada (por exemplo, uma sentença em francês e sua tradução para o inglês). A configuração de poucos disparos fornece ao modelo K exemplos de contexto e conclusão, e, em seguida, fornece ao modelo um contexto final e espera que o modelo forneça a conclusão.
A principal vantagem de usar a configuração de poucos disparos é que reduz significativamente a necessidade de dados específicos de tarefa e também reduz o potencial de aprender uma distribuição estreita de um grande conjunto de dados ajustado finamente. Por outro lado, a principal desvantagem de usar o aprendizado de poucos disparos é que os resultados entregues na configuração de poucos disparos não são tão bons quanto os dos modelos de estado da arte que são ajustados finamente.
Um Disparo
Na configuração de um disparo, o modelo é fornecido com apenas uma demonstração, e o resto é semelhante à configuração de poucos disparos. A razão pela qual a configuração de um disparo é relevante nos modelos de linguagem de transferência é que, de todas as três configurações, um disparo é a que mais se assemelha à forma como as tarefas são comunicadas aos humanos. É porque, na maioria das tarefas, é comum dar uma demonstração da tarefa, caso contrário, pode ser difícil entender o contexto da tarefa.
Zero Disparos
Na configuração de zero disparos, não há demonstrações, e o modelo é fornecido com uma instrução de linguagem natural que descreve a tarefa. A configuração de zero disparos é a que oferece a maior conveniência, é robusta e também evita correlações espúrias, mas também é a mais desafiadora de todas as três configurações. É porque, em alguns casos, é difícil até para os humanos descobrir o contexto de uma tarefa sem ver uma demonstração primeiro.
Independentemente disso, para algumas tarefas, a configuração de zero disparos é a que mais se assemelha à forma como os humanos realizam tarefas de linguagem natural.

A figura acima compara as configurações de poucos disparos, um disparo e zero disparos ao realizar uma tarefa de linguagem natural de traduzir uma sentença em inglês para o francês.
Arquitetura do Modelo GPT-3
O modelo GPT-3 usa a mesma arquitetura usada no modelo GPT-2 e inclui pré-normalização, inicialização modificada e técnicas de tokenização reversível, como foram usadas no modelo GPT, com a exceção de usar uma estratégia alternativa para padrões de atenção localmente banda e camadas densas alternadas nas camadas de transformador, semelhante ao Sparse Transformer.
Para estudar a dependência do desempenho do modelo em relação ao tamanho do modelo, os desenvolvedores treinaram 8 diferentes tamanhos de modelo que variam por três ordens de magnitude, de 125 milhões a mais de 175 bilhões de parâmetros, o último deles sendo chamado de modelo GPT-3. Trabalhos anteriores relacionados a modelos LLM indicaram que a escalabilidade da perda de validação com uma quantidade suficiente de dados de treinamento deve ser uma lei de potência suave como uma função de tamanho. Treinar modelos de diferentes tamanhos permite que os desenvolvedores testem a hipótese tanto para tarefas de linguagem downstream quanto para perda de validação.

A figura acima compara o tamanho e a arquitetura dos 8 diferentes modelos usados para o desenvolvimento do GPT-3. Aqui, n(params) define o número total de padrões treináveis, n(layers) define o número total de camadas no modelo, d(model) define o número de unidades em cada camada do gargalo e d(head) define as dimensões de cada cabeça de atenção. A janela de contexto para cada modelo é a mesma, com 2048 tokens.
Além disso, para minimizar a transferência de dados entre os nós, o modelo é particionado em GPUs ao longo da profundidade e da largura das dimensões. Os parâmetros arquitetônicos para cada modelo foram escolhidos com base na eficiência computacional e no equilíbrio de carga para maximizar a precisão no layout dos modelos em GPUs.
Conjuntos de Dados de Treinamento
Normalmente, os grandes modelos de linguagem usam conjuntos de dados que expandiram significativamente com os desenvolvimentos recentes e culminam no conjunto de dados Common Crawl, que consiste em mais de um trilhão de palavras diferentes. O tamanho do conjunto de dados é suficiente para treinar o modelo GPT-3 sem atualizar no mesmo sequência múltiplas vezes. No entanto, estudos e análises de desempenho indicam que versões levemente filtradas ou não filtradas do conjunto de dados Common Crawl têm baixa qualidade em comparação com conjuntos de dados mais curados.
Para lidar com o problema da qualidade média do conjunto de dados, os desenvolvedores tomaram 3 etapas para melhorar a qualidade do conjunto de dados.
- Os desenvolvedores baixaram e filtraram uma versão do conjunto de dados Common Crawl com base em um intervalo semelhante a corpora de referência de alta qualidade.
- Os desenvolvedores realizaram duplicação difusa no nível do documento em todo o conjunto de dados em uma tentativa de preservar a integridade do conjunto de validação mantido, como uma medida eficaz de superajuste, e também para evitar redundância.
- Os desenvolvedores também adicionaram corpora de referência de alta qualidade aos dados de treinamento para complementar o conjunto de dados Common Crawl e aumentar ainda mais a diversidade do conjunto de dados.
A figura a seguir mostra a proporção final ou mistura dos conjuntos de dados usados para treinar o modelo GPT-3. Os dados do Common Crawl consistiam em mais de 45 TB de texto simples antes da filtragem, que foi reduzido para 570 GB de dados após a filtragem, um equivalente aproximado a mais de 400 bilhões de tokens de par de bytes. É importante notar que os conjuntos de dados considerados de alta qualidade são amostrados com mais frequência em vez de amostrados proporcionalmente ao seu tamanho. Como resultado, conjuntos de dados como Books2 e Common Crawl são amostrados menos de uma vez durante o treinamento, enquanto os outros conjuntos de dados são amostrados várias vezes. Isso permite que o modelo aceite uma pequena quantidade de superajuste em troca de treinar em dados de treinamento de alta qualidade.

Uma preocupação significativa com os grandes modelos de linguagem pré-treinados em uma grande quantidade de dados da Internet com a capacidade de memorizar e aprender uma grande quantidade de conteúdo é o potencial de contaminação de tarefas downstream, tendo seus conjuntos de desenvolvimento ou teste vistos durante o pré-treinamento. Para reduzir essa contaminação potencial, os desenvolvedores procuraram qualquer sobreposição com os conjuntos de teste e desenvolvimento dos benchmarks estudados para o GPT-3 e tentaram remover essas sobreposições.

A imagem acima mostra o cômputo total usado durante o treinamento do modelo GPT-3. O modelo usa Leis de Escala para Modelos de Linguagem Neural para treinar modelos muito maiores em menos tokens do que o típico. Como resultado, tanto o GPT-3 quanto o modelo RoBERTa-Large, que é 10x menor que o GPT-3, levaram quase 50 petaflops/dia de cômputo durante o pré-treinamento.
Avaliação
Para o aprendizado de poucos disparos, o modelo avalia cada exemplo presente no conjunto de dados de avaliação, desenhando K exemplos aleatoriamente do conjunto de dados de treinamento da tarefa como condicionamento e delimitando-o por 1 ou 2 novas linhas, dependendo da tarefa. Para Storycloze e LAMBADA, o modelo desenha exemplos de condicionamento do conjunto de desenvolvimento e avalia no conjunto de teste, devido à indisponibilidade de um conjunto de dados de treinamento supervisionado.
K pode ser qualquer valor, variando de 0 ao máximo permitido pela janela de contexto do modelo, que é next = 2048 para todos os modelos, e normalmente cabe de 10 a 100 exemplos. Valores maiores de K geralmente resultam em melhores resultados, mas nem sempre, o que é por que, quando o modelo tem um conjunto de teste e um conjunto de desenvolvimento separado disponível, o modelo experimenta alguns valores de K no conjunto de desenvolvimento e, com base nos resultados, executa o melhor valor no conjunto de teste.
Além disso, nas tarefas que exigem selecionar a conclusão correta entre várias opções, os desenvolvedores fornecem K exemplos de conclusão mais contexto e seguem com um exemplo de contexto apenas, e as tarefas são então comparadas com base na probabilidade do modelo de linguagem de cada conclusão.
Para as tarefas que exigem conclusão de forma livre, o modelo usa uma busca em feixe com parâmetros idênticos aos usados no framework RSR, com um feixe de comprimento 4 e uma penalidade de 0,6. O modelo é então pontuado usando a pontuação de similaridade F1, correspondência exata ou BLEU, dependendo do padrão para o conjunto de dados.
Resultados

A figura acima exibe as curvas de treinamento para os 8 modelos usados na arquitetura do modelo GPT-3, como descrito nas seções anteriores. Semelhante aos resultados do modelo de linguagem KMH, o desempenho do modelo GPT-3 segue uma lei adequada quando usando o cômputo de treinamento de forma eficaz. Há uma ligeira diferença da lei apenas quando a tendência é estendida por mais duas ordens de magnitude. Pode parecer que as melhorias na perda de entropia cruzada sejam resultado de modelar detalhes espúrios do corpus de treinamento. No entanto, as melhorias na perda de entropia cruzada levam a ganhos consistentes no desempenho geral em uma ampla gama de tarefas de NLP.
Antes de avaliar os 8 diferentes modelos em uma ampla gama de dados de treinamento, os conjuntos de dados são agrupados em 8 categorias diferentes que representam tarefas semelhantes. Essas categorias são
- Avaliação em tarefas de modelagem de linguagem tradicionais e tarefas que se assemelham à modelagem de linguagem, como tarefas de Cloze ou conclusão de sentenças/parágrafos.
- Avaliação em tarefas de resposta de perguntas “fechadas”.
- Avaliando a capacidade do modelo de traduzir entre idiomas (especialmente em um disparo e poucos disparos)
- Avaliando o desempenho do modelo em tarefas semelhantes ao Esquema de Winograd.
- Avaliando no conjunto de dados que envolve raciocínio de senso comum ou resposta de perguntas.
- Avaliando em tarefas de compreensão de leitura.
- Avaliando no conjunto de benchmarks SuperGLUE.
- Explorando NLI.
Modelagem de Linguagem, Conclusão e Tarefas de Cloze
Nesta seção, o desempenho do modelo GPT-3 é avaliado em tarefas de modelagem de linguagem tradicionais, bem como tarefas que exigem a previsão de uma única palavra de interesse, ou concluir um parágrafo ou sentença, ou concluir um pedaço de texto. Vamos discutir em breve detalhe.
Modelagem de Linguagem
O modelo GPT-3 calcula a perplexidade de zero disparos no conjunto de dados PTB ou Penn Tree Bank. O modelo omite tarefas relacionadas ao Wikipedia porque já está incluído nos dados de treinamento do modelo e o benchmark de um bilhão de palavras também é omitido porque causa uma quantidade significativa de fricção do conjunto de dados sendo nos dados de treinamento. No entanto, o conjunto de dados PTB aborda essas questões porque pode preceder a Internet moderna. O maior modelo na arquitetura do GPT-3 define um novo estado da arte no conjunto de dados PTB por uma margem notável de 15 pontos e alcança uma perplexidade de 20,50.
LAMBADA
O conjunto de dados LAMBADA é usado para testar a modelagem do modelo em dependências de longo alcance em parágrafos ou textos. Isso significa que o modelo é solicitado a prever a última palavra de uma sentença após ler o parágrafo para o contexto. Além disso, a escalabilidade contínua dos modelos de linguagem resulta em retornos decrescentes no benchmark.

O modelo GPT-3 alcança 76% de precisão no LAMBADA e tem um ganho de mais de 8% sobre os melhores modelos anteriores. Além disso, o modelo LAMBADA demonstra a flexibilidade do aprendizado de poucos disparos, pois abordou o problema de uma maneira que ocorre classicamente com o conjunto de dados. A conclusão de uma sentença no LAMBADA é normalmente a última palavra da sentença, mas como um modelo de linguagem não pode saber disso, ele atribui uma probabilidade não apenas à conclusão correta, mas também a outras continuidades no parágrafo.
Além disso, quando os exemplos alimentados ao modelo GPT-3 são modificados de alguma forma, o modelo retorna uma precisão de mais de 86%, um aumento de mais de 18% sobre os modelos anteriores. Além disso, os resultados também indicaram que o desempenho do modelo em uma configuração de poucos disparos aumenta proporcionalmente ao aumento do tamanho do modelo. Embora essa estratégia reduza o menor modelo na arquitetura do GPT-3 em 20%, melhora a precisão do modelo GPT-3 principal com 175 bilhões de parâmetros em 10%.
Resposta de Perguntas Fechadas
A resposta de perguntas fechada é uma tentativa de medir a capacidade do modelo GPT-3 de responder a perguntas com base em conhecimento factual amplo. Como essas perguntas normalmente têm uma grande quantidade de consultas possíveis, a tarefa é normalmente realizada usando um sistema de recuperação de informações que permite que o modelo encontre texto relevante em combinação com o modelo que aprende a gerar uma resposta a uma pergunta dada o texto recuperado e a pergunta.

A imagem acima compara o resultado para o modelo GPT-3 em comparação com diferentes modelos e executando em diferentes conjuntos de dados. No conjunto de dados TriviaQA, o modelo alcança uma pontuação de precisão de 64,3% na configuração de zero disparos, enquanto alcança uma pontuação de precisão de 68% e 71,2% nas configurações de um disparo e poucos disparos, respectivamente.
Pode ser claramente visto que o modelo GPT-3 na configuração de zero disparos supera o modelo T5-11B ajustado finamente por mais de 14%.

A figura acima mostra que o desempenho do modelo GPT-3 aumenta suavemente com o aumento do tamanho do modelo. O desempenho sugere que os modelos de linguagem continuam a aprender com o conjunto de dados à medida que sua capacidade aumenta.
Pensamentos Finais
Pode ser seguro dizer que o GPT-3 foi uma fase revolucionária na indústria de LLM, pois o GPT-3 ajudou a empurrar os limites do que um modelo de linguagem poderia fazer. Foi o desenvolvimento feito e os obstáculos superados pelo GPT-3 que pavimentaram o caminho para o modelo de linguagem grande mais avançado e preciso até hoje, o GPT-4.












