Com os recentes lançamentos do ChatGPT e GPT-4, os modelos GPT atraíram muito interesse da comunidade científica. As novas versões dos modelos GPT da OpenAI são tão poderosas e versáteis que pode levar muito tempo até que possamos explorar todo o seu potencial. Neste artigo vamos trazer um Guia de Introdução aos Modelos GPT.

Mesmo que sejam impressionantes, o que você talvez não saiba é que as principais ideias e algoritmos por trás dos modelos GPT estão longe de ser novos.

Seja você um Cientista de Dados ou Engenheiro de IA experiente, um profissional no início da carreira ou apenas alguém curioso sobre o GPT, saber como os modelos GPT evoluíram é particularmente esclarecedor sobre o impacto dos dados e o que esperar para os próximos anos.

Neste artigo, explicamos como os modelos GPT se tornaram o que são hoje. Vamos nos concentrar principalmente em como a OpenAI escalou os modelos GPT ao longo dos anos. Também daremos algumas dicas se você quiser começar a usar os modelos GPT.

Boa leitura.

Modelos de Linguagem Pré-Treinados Generativos

Os modelos GPT são modelos de linguagem. E os modelos de linguagem existem há mais de 50 anos.

A primeira geração de modelos de linguagem foi “baseada em n-gram”. Eles modelavam a probabilidade de uma palavra dada algumas palavras anteriores.

Por exemplo, se você tiver a frase: O gato dorme na cozinha.

Com n=3, você pode obter a partir de um modelo de linguagem de 3 gramas a probabilidade de ter “na” seguindo “gato dorme”.

Os modelos n-gram permaneceram úteis em muitas tarefas de linguagem natural e processamento de fala até o início da década de 2010. Mas eles sofrem de várias limitações. A complexidade computacional aumenta dramaticamente com um n maior. Portanto, esses modelos geralmente eram limitados a n = 5 ou menos.

Então, graças às redes neurais artificiais e ao uso de máquinas mais potentes, essa limitação principal foi aliviada e tornou-se possível calcular a probabilidade de n-gramas muito mais longos, por exemplo, para n=20 ou superior.

A geração de texto com esses modelos também era possível, mas seus resultados eram de qualidade tão baixa que raramente eram usados para esse fim.

Então, em 2018, a OpenAI propôs o primeiro modelo GPT.

GPT significa “Generative Pre-Trained Transformer”. “Pré-treinado” significa que o modelo foi simplesmente treinado em uma grande quantidade de texto para modelar probabilidades sem qualquer outro propósito além da modelagem de linguagem. Os modelos GPT podem então ser ajustados, ou seja, mais treinados, para executar tarefas mais específicas.

Por exemplo, você pode usar um pequeno conjunto de dados de resumos de notícias para obter um modelo GPT muito bom em resumos de notícias. Ou ajuste-o nas traduções francês-inglês para obter um sistema de tradução automática capaz de traduzir do francês para o inglês.

Nota: O termo “pré-treinamento” sugere que os modelos não estão totalmente treinados e que outra etapa é necessária. Com modelos recentes, a necessidade de ajuste fino tende a desaparecer. Os modelos pré-treinados agora são usados diretamente em aplicativos.

Os modelos GPT agora são muito bons em quase todas as tarefas de Processamento de Linguagem Natural. A escala do treinamento e a arquitetura da rede neural Transformer que eles exploram são as principais razões pelas quais eles podem gerar texto fluente.

Desde 2018 e o primeiro GPT, várias versões e subversões do GPT se seguiram.

Modelos GPT e GPT-2

O GPT-2 foi lançado apenas alguns meses após o anúncio do primeiro GPT. Nota: O termo “GPT” nunca foi mencionado no artigo científico que descreve o primeiro GPT. Indiscutivelmente, poderíamos dizer que “GPT-1” nunca existiu. 

Qual é a diferença entre GPT e GPT-2? A escala. GPT-2 é muito maior que GPT.

GPT foi treinado no BookCorpus que contém 7.000 livros. O modelo tem 120 milhões de parâmetros. E o que é um parâmetro?

Um parâmetro é uma variável aprendida durante o treinamento do modelo. Normalmente, um modelo com mais parâmetros é maior e melhor.

120 milhões foi um número enorme em 2018.

Com o GPT-2, a OpenAI propôs um modelo ainda maior contendo 1,5 bilhão de parâmetros.

Foi treinado em um corpus não divulgado chamado WebText. Este corpus é 10 vezes maior que o BookCorpus (de acordo com o artigo que descreve o GPT-2).

A OpenAI lançou gradualmente 4 versões do GPT-2:

  • pequeno: 124 milhões de parâmetros
  • médio: 355 milhões de parâmetros
  • grande: 774 milhões de parâmetros
  • xl: 1,5 bilhão de parâmetros

Eles estão todos disponíveis publicamente e podem ser usados em produtos comerciais.

Embora o GPT-2-XL se destaque na geração de texto fluente em estado original, ou seja, sem nenhuma instrução específica ou ajuste fino, ele permanece muito menos poderoso do que os modelos GPT mais recentes para tarefas específicas.

O lançamento do GPT-2-XL foi o último lançamento aberto de um modelo GPT da OpenAI. GPT-3 e GPT-4 só podem ser usados por meio da API da OpenAI.

Modelo GPT-3

O GPT-3 foi anunciado em 2020. Com seus 175 bilhões de parâmetros, foi um salto ainda maior do GPT-2 do que o GPT-2 do primeiro GPT.

Foi com o GPT-3 que a OpenAI parou de divulgar informações precisas de treinamento sobre os modelos GPT.

Hoje, existem 7 modelos GPT-3 disponíveis por meio da API da OpenAI, mas pouco sabemos sobre eles.

Com o GPT-3, a OpenAI demonstrou que os modelos GPT podem ser extremamente bons para tarefas específicas de geração de linguagem se os usuários fornecerem alguns exemplos da tarefa que desejam que o modelo realize.

Modelo GPT-3.5

Com os modelos GPT-3 em execução via API e atraindo cada vez mais usuários, a OpenAI pode coletar um conjunto de dados muito grande de entradas do usuário. Eles exploraram essas entradas para melhorar ainda mais seus modelos.

Eles usaram uma técnica chamada aprendizado por reforço com feedback humano (RLHF). Mas detalhes sobre isso em um outro artigo que será publicado em breve aqui no Blog da DSA.

Resumindo, graças ao RLHF, o GPT-3.5 é muito melhor em seguir as instruções do usuário do que o GPT-3. OpenAI chama esta classe de modelos GPT como “instructGPT”.

Com GPT-3.5, você pode “solicitar” o modelo para executar uma tarefa específica sem a necessidade de fornecer exemplos da tarefa. Você só precisa escrever o prompt “certo” para obter o melhor resultado. É aqui que a “engenharia de prompt” se torna importante e porque engenheiros qualificados estão recebendo ofertas de trabalho incríveis.

GPT-3.5 é o modelo atual usado para alimentar o ChatGPT.

Modelo GPT-4

O GPT-4 foi lançado em março de 2023. Não sabemos quase nada sobre seu treinamento.

A principal diferença com o GPT-3/GPT-3.5 é que o GPT-4 é bimodal: pode receber como entrada imagens e texto.

Ele pode gerar texto, mas não gera imagens diretamente. Nota: GPT-4 pode gerar o código que pode gerar uma imagem ou recuperar uma da Web.

No momento de publicação deste artigo, o GPT-4 ainda está em um “beta limitado”.

ChatGPT

ChatGPT é apenas uma interface de usuário com funcionalidades de chat. Quando você escreve algo com ChatGPT, é um modelo GPT-3.5 que gera a resposta.

Uma particularidade do ChatGPT é que ele não está apenas tomando como entrada a consulta atual do usuário como faria um modelo GPT pronto para uso. Para funcionar corretamente como um mecanismo de bate-papo, o ChatGPT pode acompanhar a conversa: o que foi dito, qual é o objetivo do usuário, etc.

A OpenAI não revelou como faz isso. Dado que os modelos GPT só podem aceitar um prompt de comprimento limitado (explicaremos isso mais tarde), o ChatGPT não pode simplesmente concatenar todos os diálogos para colocá-los no mesmo prompt. Esse tipo de prompt pode ser muito grande para ser tratado pelo GPT-3.5.

Como Usar os Modelos GPT?

Você pode obter modelos GPT-2 online e usá-los em seu computador. Ensinamos sobre isso em alguns projetos da Formação Engenheiro de IA.

Para GPT-3 e GPT-3.5, não temos outra escolha a não ser usar a API da OpenAI. Você primeiro precisará criar uma conta na OpenAI.

Depois de ter uma conta, você pode começar a brincar com os modelos dentro do “playground” que a OpenAI propõe para experimentar os modelos. Você pode acessá-lo apenas quando estiver logado.

Se você quiser usar os modelos diretamente em seu aplicativo, a OpenAI e a comunidade de código aberto oferecem bibliotecas em várias linguagens, como Python, Node.js e PHP, para chamar os modelos usando a API OpenAI.

Você pode criar e obter sua chave de API OpenAI em sua conta OpenAI. Observação: mantenha essa chave em segredo. Quem o tiver pode consumir seus créditos OpenAI.

Cada modelo tem configurações diferentes que você pode ajustar. Esteja ciente de que os modelos GPT não são determinísticos. Se você solicitar a um modelo duas vezes com o mesmo prompt, há uma grande chance de obter duas respostas próximas, mas diferentes.

Nota: Se você deseja reduzir as variações entre as respostas dadas ao mesmo prompt, pode definir como zero o parâmetro “temperatura” do modelo. Como efeito colateral, também diminuirá significativamente a diversidade das respostas, ou seja, o texto gerado poderá ser mais redundante.

Você também terá que se preocupar com o “comprimento máximo do conteúdo”. Este é o comprimento do seu prompt, além do comprimento da resposta gerada pelo GPT. Por exemplo, GPT-3.5-turbo tem um “comprimento máximo de conteúdo” de 4.096 tokens.

Um token não é uma palavra.

Um token é a unidade mínima de texto usada pelos modelos GPT para gerar texto. Sim, os modelos GPT não são exatamente geradores de palavras, mas geradores de tokens. Um token pode ser um caractere, um pedaço de palavra, uma palavra ou até mesmo uma sequência de palavras para alguns idiomas.

OpenAI dá um exemplo na documentação da API.

“ChatGPT é ótimo!” é codificado em seis tokens: [“Chat”, “G”, “PT”, “é”, “ótimo”, “!”].

Como regra geral, conte que 750 palavras em inglês rendem 1.000 tokens.

Gerenciar o “comprimento máximo do conteúdo” é a parte mais tediosa de trabalhar com a API OpenAI. Primeiro, não há uma maneira direta de saber quantos tokens seu prompt contém. Então, você não pode saber antecipadamente quantos tokens estarão na resposta do modelo.

Você tem que adivinhar. E você só pode adivinhar se tiver alguma experiência com os modelos. Eu recomendo experimentar muitos exemplos com eles para avaliar melhor quanto tempo podem durar as respostas dadas às suas solicitações. Se o seu prompt for muito longo, a resposta será cortada.

Limitações dos Modelos GPT

Os modelos GPT são apenas geradores de token treinados na Web. Eles são influenciados pelo conteúdo sobre o qual foram treinados e, portanto, não podem ser considerados totalmente seguros.

Desde o GPT-3.5, a OpenAI treinou seu modelo para evitar responder a conteúdo prejudicial. Para conseguir isso, eles usaram técnicas de aprendizado de máquina e, consequentemente, essa “automoderação” do modelo não pode ser 100% confiável.

Essa automoderação pode funcionar para um determinado prompt, mas pode falhar completamente depois de alterar apenas uma palavra nesse prompt.

Recomendo também a leitura dos Termos de Uso dos produtos OpenAI. Neste documento, as limitações dos modelos GPT aparecem mais claramente. A OpenAI também publicou uma lista de políticas de uso apontando todos os usos proibidos dos modelos.

Conclusão

Os modelos GPT são modelos muito simples e sua arquitetura não evoluiu muito desde 2018. Mas quando você treina um modelo simples em grande escala com os dados certos e com os hiperparâmetros certos, você pode obter modelos AI extremamente poderosos, como GPT-3 e GPT-4.

Eles são tão poderosos que nem de longe exploramos todo o seu potencial.

Embora os modelos GPT recentes não sejam de código aberto, eles permanecem fáceis de usar com a API da OpenAI. Você também pode usá-los através do ChatGPT. Versões open-source desses modelos já estão sendo lançadas por pesquisadores e voluntários ao redor do mundo, mas isso é o tem de um próximo artigo.

Equipe DSA

Referências:

A Gentle Introduction to GPT Models

Deep Learning Book Brasil

Curso Gratuito Fundamentos de Linguagem Python Para Análise de Dados e Data Science (Com ChatGPT)