Inteligência artificial

GPT-3: Aprendizado de Poucos Disparos para Modelos de Linguagem

mm

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 forma flexível e independente 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 na arquitetura específica da tarefa. 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 pré-treinados 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 grande progresso em tarefas desafiadoras, como responder a perguntas, compreender textos 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 exigem ajuste fino específico da tarefa ou conjunto de dados específico da tarefa para alcançar o desempenho desejado em uma tarefa. Além disso, os modelos de linguagem de transferência também exigem que os desenvolvedores ajustem finamente os conjuntos de dados para centenas de milhares de exemplos específicos de uma tarefa particular.

Não é necessário dizer que remover a necessidade de um conjunto de dados específico da tarefa e ajuste fino específico da tarefa seria altamente desejável e benéfico para a indústria de NLP por várias 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 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 supervisionado com dados rotulados, especialmente quando o processo precisa ser repetido para cada tarefa individual.

  • Explorando Correlações Espúrias nos Dados de Treinamento

As limitações e a 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 paradigma de 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, o trabalho em modelos anteriores indicou que grandes modelos não resultam necessariamente em melhores resultados 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 ruim, principalmente porque o modelo é altamente específico dos dados de treinamento e não pode se sair bem em situações além do escopo dos dados de treinamento.

  • Comparação com o Aprendizado Humano

Finalmente, quando comparados com os modelos de linguagem de transferência, os humanos não exigem um grande conjunto de dados de treinamento quando se trata de aprender a maioria das tarefas de linguagem. Muitas vezes, uma breve diretriz na linguagem natural de uma pessoa ou uma pequena demonstração da tarefa de linguagem é suficiente 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 várias vantagens práticas, pois permite que eles mudem entre diferentes conjuntos de habilidades ou os misture para se sair melhor durante um dialeto, 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 de habilidades e capacidade de reconhecer padrões durante o treinamento e, em seguida, usa essas habilidades aprendidas durante a interferência para se adaptar rapidamente ou reconhecer a tarefa necessária.

O aprendizado de meta está sendo implementado na arquitetura de modelos de linguagem por meio de uma técnica chamada “aprendizado de contexto” que usa a entrada de texto de um modelo de linguagem pré-treinado como especificação da tarefa. Nesse processo, o modelo é condicionado a uma instrução em linguagem natural e pode 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 substancial 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, que está relacionada às tarefas downstream, 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 aprendizado profundo que usa arquitetura baseada em convolução para gerar dados textuais.

O modelo GPT-3 mede suas próprias capacidades de aprendizado de contexto e o modelo GPT-3 é avaliado em mais de duas dúzias de conjuntos de dados de NLP e tarefas novas. Para cada tarefa individual, o modelo GPT-3 é avaliado sob três condições,

  • Aprendizado de Poucos Disparos ou Aprendizado de Contexto: No aprendizado de poucos disparos, o modelo GPT-3 permite tantas distribuições que podem se encaixar bem na janela de 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 no modelo.

Em termos gerais, o modelo GPT-3 alcança o 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 a maior parte do tempo. 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 na hora ou exigem atenção rápida, como usar palavras novas após uma sentença, desembaralhar palavras ou realizar operações aritméticas. Por outro lado, quando operado em uma configuração de poucos disparos, o modelo GPT-3 gera artigos de notícias sintéticos que se assemelham à escrita humana quando passados por avaliadores humanos.

Modelo GPT-3: Abordagem

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 aumenta 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 de 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 supervisionado específico da tarefa desejada e usando centenas de milhares de exemplos rotulados durante o processo.

A abordagem de ajuste fino é benéfica porque retorna um desempenho forte em várias referências. Por outro lado, a principal limitação do uso da abordagem de ajuste fino é que exige 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 uma comparação injusta com o desempenho humano e uma generalização ruim para fora da distribuição.

O escopo atual do modelo GPT-3 não implementa a abordagem de ajuste fino devido ao seu desempenho independente da 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.

A principal vantagem de usar a configuração de poucos disparos é que reduz significativamente a necessidade de dados específicos da tarefa e também reduz o potencial de aprender uma distribuição estreita a partir de um grande conjunto de dados que é 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 e significativamente piores em comparação com os modelos de estado da arte que são ajustados finamente.

Um Disparo

Na configuração de um disparo, o modelo é fornecido apenas com 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 é porque, 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 em linguagem natural que descreve a tarefa. O método de zero disparos é o que oferece a máxima conveniência, é robusto e também evita correlações espúrias, mas é também o mais desafiador de todos os três.

Independentemente disso, para algumas tarefas, a configuração de zero disparos é a que mais se assemelha à forma como os humanos executam tarefas de linguagem natural.

A figura acima compara as configurações de poucos disparos, um disparo e zero disparos ao executar uma tarefa de linguagem natural de traduzir uma sentença em inglês para o francês.

GPT-3: Arquitetura do Modelo

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 escala 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 do tamanho. Treinar modelos de diferentes tamanhos permite que os desenvolvedores testem a hipótese para tarefas de linguagem downstream e 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 balanceamento 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 é adequado o 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 a questão da qualidade média do conjunto de dados, os desenvolvedores tomaram 3 etapas para aumentar a qualidade do conjunto de dados.

  1. Os desenvolvedores baixaram e filtraram uma versão do conjunto de dados Common Crawl com base em uma faixa semelhante a corpora de referência de alta qualidade.
  2. 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.
  3. Os desenvolvedores também adicionaram corpora de referência de alta qualidade ao conjunto de dados de treinamento para aumentar 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 Common Crawl consistiam em mais de 45 TB de texto simples antes do filtro, que foi reduzido para 570 GB de dados após o filtro, um equivalente aproximado a mais de 400 bilhões de tokens codificados por par de bytes. É importante notar que os conjuntos de dados no treinamento que são vistos como de alta qualidade são amostrados com mais frequência em vez de amostrados de acordo com o 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 por terem seus conjuntos de desenvolvimento ou teste vistos durante o processo de pré-treinamento. Para reduzir essa contaminação potencial, os desenvolvedores procuraram por 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álculo 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 é 10 vezes menor que o GPT-3, usaram quase 50 petaflops/dia de cálculo durante o processo de 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 número máximo permitido pela janela de contexto do modelo, que é n = 2048 para todos os modelos e normalmente cabe de 10 a 100 exemplos. Valores maiores de K muitas vezes 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 uma 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 de verossimilhança do modelo de linguagem de cada conclusão. Para tarefas que exigem classificação binária, os modelos frequentemente dão opções mais semanticamente e com nomes mais significativos e tratam a tarefa como uma escolha múltipla e, às vezes, também estruturam a tarefa de forma semelhante à do modelo RSR e arquitetura.

Para as tarefas que exigem conclusão em forma livre, o modelo usa uma busca em largura com parâmetros idênticos usados no framework RSR, com uma largura de 4 e uma penalidade de 0,6. O modelo é então pontuado usando a pontuação de semelhança F1, correspondência exata ou BLEU, dependendo do padrão para o conjunto de dados.

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 atrito do conjunto de dados sendo dentro dos 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 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 escala contínua dos modelos de linguagem produz 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 forma clássica 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 no modelo GPT-3 são modificados de certa 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 GPT-3 por 20%, ela melhora a precisão do modelo GPT-3 principal com 175 bilhões de parâmetros por 10%.

Resposta de Perguntas de Livro Fechado

Resposta de perguntas de livro fechado é uma tentativa de medir a capacidade do modelo GPT-3 de responder a perguntas com base no conhecimento factual amplo. Como essas perguntas muitas vezes 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 executados 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 pontuações 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-se dizer com segurança que o GPT-3 foi uma fase revolucionária na indústria de LLM, pois o GPT-3 ajudou a impulsionar os limites do que um modelo de linguagem poderia fazer. Foram os desenvolvimentos feitos e os obstáculos superados pelo GPT-3 que pavimentaram o caminho para o modelo de linguagem grande mais avançado e preciso até o momento, o GPT-4.

Um engenheiro por profissão, um escritor por coração. Kunal é um escritor técnico com um amor e compreensão profundos de AI e ML, dedicado a simplificar conceitos complexos nestes campos por meio de sua documentação envolvente e informativa.