toco GPT-3: Pouco aprendizado para modelo de linguagem? - Unir.AI
Entre em contato

Inteligência artificial

GPT-3: Pouco aprendizado para modelo de linguagem?

mm

Publicado

 on

Nos últimos anos, a indústria de IA e ML testemunhou um aumento meteórico no desenvolvimento e aplicação de sistemas de PNL, à medida que os pesquisadores foram capazes de implementar práticas de PNL de maneiras altamente flexíveis e independentes de tarefas para transferência de tarefas downstream. 

Inicialmente, eram as representações de camada única que usavam vetores de palavras e depois alimentavam a arquitetura específica da tarefa. Em seguida, foi a arquitetura RNN que usou representações multicamadas 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 totalmente a necessidade de arquiteturas específicas para tarefas, ajustando essas redes. 

Os modelos de linguagem de transferência provaram ser um grande ponto de viragem na indústria da PNL, pois resultaram num enorme progresso em tarefas desafiantes, como responder a perguntas, compreensão de leitura ou blocos de texto, implicação textual e muito mais. 

No entanto, apesar de suas vantagens, os modelos de linguagem de transferência têm uma grande limitação, pois exigem ajuste fino específico da tarefa ou conjunto de dados específico da tarefa para atingir o desempenho desejado em uma tarefa. Além disso, os modelos de linguagem de transferência também exigem que os desenvolvedores ajustem os conjuntos de dados para centenas de milhares de exemplos específicos para uma tarefa específica. 

Nem é preciso dizer que remover a exigência de conjunto de dados específicos de tarefas e de ajuste fino específico de tarefas será altamente desejável e benéfico para a indústria de PNL por vários motivos. 

Problemas com modelos de linguagem de transferência pré-treinados existentes ou modelos recorrentes

  • Limitando a praticidade e aplicabilidade

Em primeiro lugar, a exigência 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 a geração de um conto até a correção de erros gramaticais e a geração de exemplos sobre 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 em 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 exploração de correlações espúrias em dados de treinamento. O potencial de exploração dos dados de treinamento pode resultar em problemas durante o paradigma de ajuste fino e pré-treinamento porque os modelos de linguagem de transferência são projetados de forma a absorver uma grande quantidade de informações durante o pré-treinamento. 

Além disso, trabalhos em modelos anteriores indicaram que modelos grandes não resultam sempre em melhores resultados de distribuição. Além disso, também foi indicado que a generalização conseguida sob tal paradigma pode resultar num fraco desempenho, principalmente porque o modelo é altamente específico para os dados de treino e não pode ter um bom desempenho em situações para além do âmbito dos dados de treino. 

  • Comparação com a aprendizagem humana

Finalmente, quando comparados aos modelos de transferência de linguagem, os humanos não necessitam de um grande conjunto de dados de treinamento quando se trata de aprender a maioria das tarefas linguísticas. Na maioria das vezes, uma breve diretriz na linguagem natural de uma pessoa ou uma pequena demonstração da tarefa linguística é adequada para que um ser humano compreenda e execute uma tarefa linguística com um certo nível de competitividade. 

A capacidade de adaptação do ser humano tem inúmeras vantagens práticas, pois permite alternar entre diferentes conjuntos de habilidades ou combiná-los para obter um melhor desempenho durante um dialeto, algo que está além das capacidades dos sistemas atuais de PNL. 

Resolvendo os problemas com Meta Learning e GPT-3

Uma possível solução para os desafios acima é o uso de meta-aprendizado, um conceito no ML moderno que permite que um modelo desenvolva um conjunto maior e mais amplo de habilidades e capacidade de reconhecer padrões durante o treinamento e, em seguida, usar essas habilidades aprendidas durante a interferência para se adaptar. rapidamente ou reconhecer a tarefa necessária. 

Meta Learning está sendo implementado na arquitetura de modelos de linguagem por meio de uma técnica chamada “aprendizagem no contexto”que usa entrada de texto de um modelo de linguagem pré-treinado como especificação de tarefa. No processo, o modelo condiciona uma instrução de linguagem natural e pode até usar algumas demonstrações, e espera-se que o modelo complete o resto da tarefa prevendo as próximas etapas. 

O único grande problema com o Meta Learning é que, embora tenha demonstrado potencial positivo, ainda é inferior à abordagem de ajuste fino na arquitetura de linguagem natural e precisa de mais melhorias para se tornar um método prático para superar tarefas de linguagem. 

Além do meta-aprendizado, outro método que está ganhando popularidade é aumentar a capacidade dos modelos de linguagem transformadora. Nos últimos anos, os modelos de transferência testemunharam um aumento substancial na sua capacidade com o RNSS18 modelo com 100 milhões de parâmetros, o DCLT18 modelo com 300 milhões de parâmetros, o RWC19 modelo com 1.5 bilhão de parâmetros, o PES19 modelo com 8 bilhão de parâmetros, o RSR19 modelo com 11 bilhões de parâmetros, e o TUR20 modelo com 17 bilhões de parâmetros. 

Aumentar a capacidade do modelo ou aumentar os parâmetros resultou historicamente em melhorias na síntese de texto, e há uma indicação de que a perda de log, que se correlaciona com tarefas posteriores, também segue uma tendência suave de melhoria com a escala. 

Isso nos leva ao modelo GPT-3 que possui mais de 175 bilhões de parâmetros e, quando foi lançado, era o modelo de linguagem de transferência com maior capacidade. Vamos agora falar sobre o modelo GPT-3. 

Uma introdução ao modelo GPT-3

O GPT-3 é um modelo de linguagem autoagressivo com mais de 175 bilhões de parâmetros lançado pela OpenAI em 2020. GPT-3 também é classificado como modelo de linguagem grande que, assim como seu antecessor, o modelo GPT-2 é um modelo de transformador de aprendizado profundo somente decodificador que usa arquitetura baseada em convolução para gerar dados textuais. 

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

  • Aprendizagem de poucos tiros ou aprendizagem em contexto: No aprendizado de poucas etapas, o modelo GPT-3 permite tantas distribuições que podem se ajustar bem à janela de contexto do modelo. 
  • Aprendizagem única: No aprendizado único, o modelo permite apenas uma demonstração. 
  • Aprendizagem de tiro zero: No aprendizado zero shot, não há demonstrações e há apenas uma instrução em linguagem natural que é fornecida ao modelo. 

Em termos gerais, o modelo GPT-3 atinge o desempenho desejado nas configurações de disparo zero e de disparo único e, na configuração de poucos disparos, supera os modelos de transferência de última geração na maioria das vezes. Além disso, o modelo GPT-3 tem um bom desempenho em configurações de disparo único e disparo zero em tarefas de linguagem natural projetadas para testar o raciocínio em tempo real ou requer atenção rápida, como usar palavras novas após uma frase, ou desembaralhar palavras, ou realizar aritmética operações. Por outro lado, quando operado num cenário 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 convencional de pré-treinamento que compreende modelo, dados e treinamento, e se assemelha ao processo de pré-treinamento seguido pelo modelo de linguagem 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 a duração do período de treinamento. 

O modelo também usa uma abordagem de aprendizagem no contexto que mais uma vez se assemelha à abordagem do modelo RWC-19, mas ajusta um pouco as coisas ao explorar sistematicamente diferentes configurações para padrões de aprendizagem dentro do contexto do conjunto de dados. 

Então, vamos começar explorando essas configurações e avaliar o desempenho do modelo GTP-3 em diferentes configurações. 

Afinação

O ajuste fino do modelo tem sido a abordagem convencional em transferência modelos de linguagem, e essa abordagem envolve a atualização dos pesos de um modelo pré-treinado, treinando o modelo em um conjunto de dados supervisionado específico para a 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 forte desempenho em vários benchmarks. Por outro lado, a principal limitação do uso da abordagem de ajuste fino é que ela requer um novo e grande conjunto de dados para cada tarefa individual, tem o potencial de explorar características espúrias do conjunto de dados de treinamento e pode resultar potencialmente em uma comparação injusta com o desempenho humano. e generalização deficiente para fora de distribuição. 

O escopo atual do modelo GPT-3 não implementa a abordagem de ajuste fino devido ao seu desempenho independente de tarefas, embora o ajuste fino possa ser aplicado ao modelo GPT-3 no futuro. 

Poucos tiros

Few Shot é um termo que se refere ao cenário onde o modelo GPT-3 recebe algumas demonstrações da tarefa durante a interferência como condicionamento, mas os pesos do modelo não são atualizados. Nas configurações de poucas tomadas, o conjunto de dados normalmente tem um exemplo com um contexto e uma conclusão desejada (por exemplo, uma frase em francês e sua tradução em inglês). A configuração de poucas fotos dá 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 ela 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 de forma restrita. Por outro lado, a principal desvantagem de usar o aprendizado de poucas tacadas é que os resultados entregues na configuração de poucas tacadas não são adequados e são significativamente ruins quando comparados com outros modelos de última geração que são ajustados. 

One Shot

Na configuração de uma tomada, o modelo recebe apenas uma demonstração, e o restante é semelhante à configuração de poucas tomadas. A razão pela qual a configuração de uma cena é relevante em modelos de linguagem de transferência é porque, de todas as três configurações, uma cena é aquela que melhor se assemelha à maneira como as tarefas são comunicadas aos humanos. É porque na maioria das tarefas é comum fazer uma demonstração da tarefa, caso contrário pode ser difícil entender o contexto da tarefa. 

tiro zero

Na configuração zero shot, não há demonstrações e o modelo recebe instruções em linguagem natural que descreve a tarefa. O método zero shot é aquele que oferece máxima comodidade, é robusto e também evita correlações espúrias, mas também é o mais desafiador de todas as três configurações. É porque, em alguns casos, é difícil até mesmo para nós, humanos, descobrir o contexto de uma tarefa sem primeiro ver uma demonstração. 

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

A figura acima compara as configurações de poucos tiros, um tiro e tiro zero ao realizar uma tarefa de linguagem natural de pegar uma frase em inglês e traduzi-la para o francês. 

GPT-3: Arquitetura do Modelo

O modelo GPT-3 usa a mesma arquitetura usada no modelo GPT-2 e inclui técnicas de pré-normalização, inicialização modificada e tokenização reversível conforme usadas no modelo GPT, com exceção do uso de um modelo alternativo estratégia para padrões de atenção esparsos em bandas locais e camadas densas alternadas nas camadas do transformador, semelhante ao Sparse Transformer. 

Para estudar a dependência do desempenho do modelo no tamanho do modelo, os desenvolvedores treinaram 8 tamanhos de modelo diferentes que variam em três ordens de grandeza diferentes, de 125 milhões a mais de 175 bilhões de parâmetros, sendo o último deles chamado de modelo GPT-3. . Trabalhos anteriores relacionados aos modelos LLM indicaram que o escalonamento da perda de validação com uma quantidade suficiente de dados de treinamento deveria ser uma lei de potência suave aproximada em função do tamanho. Modelos de treinamento de tamanhos variados permitem que os desenvolvedores testem a hipótese tanto para tarefas de linguagem posteriores quanto para perda de validação. 

A figura acima compara o tamanho e a arquitetura dos 8 modelos diferentes 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 pelas GPUs ao longo da profundidade e largura das dimensões. Os parâmetros arquitetônicos de cada modelo foram escolhidos com base na eficiência computacional e no balanceamento de carga para maximizar a precisão no layout dos modelos nas GPUs. 

Conjuntos de dados de treinamento

Normalmente, os grandes modelos de linguagem usam conjuntos de dados que se expandiram significativamente com 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 na mesma sequência várias vezes. No entanto, estudos e análises de desempenho indicam que versões levemente filtradas ou não filtradas do conjunto de dados de rastreamento comum têm baixa qualidade quando comparadas a conjuntos de dados mais selecionados. 

Para resolver o problema da qualidade média do conjunto de dados, os desenvolvedores seguiram três etapas para aumentar a qualidade do conjunto de dados. 

  1. Os desenvolvedores baixaram e filtraram uma versão do conjunto de dados de rastreamento comum com base em um intervalo 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, na tentativa de preservar a integridade de seu conjunto de validação retido como uma medida eficaz de sobreajuste e também para evitar redundância. 
  3. Os desenvolvedores também adicionaram corpora de referência de alta qualidade aos dados de treinamento para aumentar o conjunto de dados de rastreamento comum e aumentar ainda mais a diversidade do conjunto de dados. 

A figura a seguir mostra a proporção ou mistura final 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 codificados em pares de bytes. É importante notar que os conjuntos de dados no treinamento que são vistos como de maior qualidade são amostrados com mais frequência, em vez de amostrar o conjunto de dados 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. Ele permite que o modelo aceite uma pequena quantidade de overfitting em troca de treinamento em dados de treinamento com maior qualidade. 

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

A imagem acima mostra a computação total usada durante o treinamento do modelo GPT-3. O modelo usa Leis de Escala para Modelos de Linguagem Neural para treinar modelos muito maiores com menos tokens do que o normal. Como resultado, tanto o modelo GPT-3 quanto o RoBERTa-Large, que é 10x menor que o modelo GPT-3, consumiram quase 50 petaflops/dia de computação durante o processo de pré-treinamento. 

Avaliação

Para o aprendizado de poucas tentativas, o modelo avalia cada exemplo presente no conjunto de dados de avaliação desenhando K exemplos aleatoriamente do conjunto de dados de treinamento daquela tarefa como condicionamento e delimita-o por 1 ou 2 novas linhas, dependendo da tarefa. Para Storycloze e LAMBADA, o modelo extrai exemplos de condicionamento do conjunto de desenvolvimento e os avalia no conjunto de teste devido à indisponibilidade de um conjunto de treinamento supervisionado. Para Winograd, existe apenas um conjunto de dados e, portanto, as amostras de condicionamento são extraídas diretamente dele. 

K pode ser qualquer valor variando de 0 até o valor máximo permitido pela janela de contexto do modelo que é next = 2048 para todos os modelos e normalmente cabe cerca de 10 a 100 exemplos. Valores maiores de K geralmente resultam em melhores resultados, mas nem sempre é por isso 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 , ele executa o melhor valor no conjunto de testes. 

Além disso, nas tarefas que exigem a seleção de uma conclusão correta entre múltiplas opções, os desenvolvedores fornecem K exemplos de correção mais conclusão de contexto e seguem fornecendo um exemplo apenas de contexto, e as tarefas são então comparadas com base na probabilidade LM de cada conclusão. Para tarefas que exigem classificação binária, os modelos geralmente fornecem opções mais semanticamente e com nomes mais significativos e, em seguida, tratam a tarefa como de múltipla escolha e, às vezes, também enquadram a tarefa de forma semelhante ao que é feito pelo modelo e arquitetura RSR. 

Para as tarefas que requerem conclusão de forma livre, o modelo utiliza busca de feixe com parâmetros idênticos aos utilizados na estrutura RSR, com feixe de comprimento 4 e 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 do conjunto de dados. 

Resultados

A figura acima mostra as curvas de treinamento para os 8 modelos utilizados na arquitetura do modelo GPT-3, conforme descrito nas seções anteriores. Semelhante aos resultados do modelo de linguagem KMH, o desempenho do modelo GPT-3 segue uma lei adequada ao usar a computação de treinamento de forma eficaz. Há uma ligeira diferença em relação à lei apenas quando a tendência é ampliada em mais duas ordens de grandeza. Pode ocorrer às pessoas que as melhorias na perda de entropia cruzada podem ser resultado da modelagem de detalhes espúrios do corpus de treinamento. No entanto, as melhorias na perda de entropia cruzada levam a ganhos consistentes no desempenho geral em um amplo espectro de diversas tarefas de PNL. 

Antes de avaliar os 8 modelos diferentes 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

  1. Avaliação em tarefas de modelagem de linguagem tradicional e tarefas que se assemelham à modelagem de linguagem, como tarefas Cloze ou tarefas de conclusão de frases/parágrafos. 
  2. Avaliação em tarefas de resposta a perguntas “livro fechado”. 
  3. Avaliar a capacidade do modelo de traduzir entre idiomas (especialmente one-shot e poucos-shot)
  4. Avaliando o desempenho do modelo em tarefas semelhantes ao esquema Winograd. 
  5. Avaliação em conjuntos de dados que envolvem raciocínio de bom senso ou resposta a perguntas. 
  6. Avaliação em tarefas de compreensão de leitura. 
  7. Avaliando no conjunto de benchmark SuperGLUE. 
  8. Explorando o NLI. 

Tarefas de modelagem, conclusão e cloze de linguagem

Nesta seção, o desempenho do modelo GPT-3 é avaliado nas tarefas de modelagem de linguagem tradicional, bem como nas tarefas que requerem a previsão de uma única palavra de interesse, ou o preenchimento de um parágrafo ou frase, ou o preenchimento de um trecho de um texto. Vamos discuti-los em breve detalhe. 

Modelagem de linguagem

O modelo GPT-3 calcula a perplexidade de tiro zero no PTB ou no conjunto de dados do Penn Tree Bank. O modelo omite tarefas relacionadas à Wikipédia 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 um atrito significativo no fato de o conjunto de dados estar dentro dos dados de treinamento. No entanto, o conjunto de dados do PTB aborda estas questões porque pode ser anterior à Internet moderna. O maior modelo na arquitetura do modelo GPT-3 estabelece um novo SOTA no conjunto de dados PTB por uma margem notável de 15 pontos e atinge 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 frase após a leitura do parágrafo para o contexto. Além disso, o escalonamento contínuo dos modelos linguísticos produz retornos decrescentes no benchmark. 

O modelo GPT-3 atinge 76% de precisão no LAMBADA e tem um ganho de mais de 8% em relação aos melhores modelos anteriores. Além disso, o modelo LAMBADA demonstra a flexibilidade do aprendizado de poucas tentativas, pois abordou o problema de uma forma que ocorre classicamente com o conjunto de dados. A conclusão de uma frase em LAMBADA geralmente é a última palavra da frase, mas como um modelo de linguagem não pode saber disso, ele atribui uma probabilidade não apenas ao final correto, mas também a outras continuações no parágrafo. 

Além disso, quando os exemplos alimentados no modelo GPT-3 são modificados de uma certa forma, o modelo retorna uma precisão superior a 86%, um aumento de mais de 18% em relação aos modelos anteriores. Além disso, os resultados também indicaram que o desempenho do modelo em configuração de poucos disparos aumenta proporcionalmente com o aumento do tamanho do modelo. Embora esta estratégia reduza o menor modelo na arquitetura GPT-3 em 20%, ela aumenta a precisão do modelo primário GPT-3 com 175 bilhões de parâmetros em 10%. 

Resposta a perguntas de livro fechado

O Closed Book Question Answering é uma tentativa de medir a capacidade do modelo GPT-3 de responder perguntas com base em amplo conhecimento factual. Como essas questões geralmente têm uma grande quantidade de consultas possíveis, a tarefa normalmente é realizada usando um sistema de recuperação de informações que permite ao modelo encontrar texto relevante em combinação com o modelo que aprende a gerar uma resposta para uma resposta dado o texto recuperado, e a questão. 

A imagem acima compara o resultado do modelo GPT-3 em comparação com diferentes modelos e executado em diferentes conjuntos de dados. No conjunto de dados TriviaQA, o modelo atinge uma pontuação de precisão de 64.3% na configuração de disparo zero, enquanto atinge uma pontuação de precisão de 68% e 71.2% nas configurações de disparo único e de poucos disparos, respectivamente. 

Evidentemente, pode-se observar que o modelo GPT-3 na configuração zero-shot supera o modelo T5-11B ajustado em mais de 14%. 

A figura acima mostra que o desempenho do modelo GPT-3 cresce 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 a sua capacidade aumenta. 

Considerações Finais

Seria seguro dizer que o GPT-3 foi uma fase revolucionária na indústria de LLM, já que o GPT-3 ajudou a ultrapassar os limites do que um modelo de linguagem poderia fazer. Foram os desenvolvimentos feitos e os obstáculos superados pelo GPT-3 que abriram caminho para o modelo de linguagem grande mais avançado e preciso até hoje, o GPT-4. 

"Engenheiro de profissão, escritor de coração". Kunal é um escritor técnico com profundo amor e compreensão de IA e ML, dedicado a simplificar conceitos complexos nesses campos por meio de sua documentação envolvente e informativa.