Processamento de linguagem natural (NLP) é uma subárea de linguística, ciência da computação, inteligência artificial e engenharia da informação que estuda as interações entre computadores e as línguas humanas (naturais), em especial como programar computadores para processar e analisar grandes volumes de dados de linguagem natural.
Parece interessante? E se a gente te disser que pedimos para um algoritmo chamado GPT-3 escrever todo este parágrafo e ele acertou de primeira? Não é brincadeira! Olha só…

GPT-3 em ação
Impressionante, né? Voltando ao NLP: ele permite que computadores processem a linguagem humana em texto ou voz e “entendam” seu significado completo, incluindo a intenção e o sentimento de quem escreveu ou falou. O NLP tem sido palco de algumas das descobertas e implementações mais empolgantes de IA da última década. Nos últimos anos, a tendência mais marcante nessa área são os grandes modelos de linguagem, categoria à qual o GPT-3 pertence.
Para alguns, o GPT-3 é visto como um primeiro passo na busca pela Inteligência Artificial Geral. Ele chamou mais atenção do que qualquer outro modelo de IA. Sua enorme flexibilidade para executar uma série de tarefas generalistas com eficiência e precisão quase humanas é o que o torna tão empolgante. Foi lançado na forma de uma API, com o objetivo de dar a cientistas de dados, desenvolvedores e profissionais de todas as áreas no mundo acesso sem precedentes a um dos modelos de linguagem mais poderosos já criados.
O modelo foi criado pela OpenAI, uma empresa na vanguarda de P&D em inteligência artificial. Desde o lançamento inicial, em julho de 2020, desenvolvedores no mundo todo já encontraram centenas de aplicações promissoras para o GPT-3, com potencial para elevar a forma como nos comunicamos, aprendemos e nos divertimos. Ele resolve com facilidade tarefas gerais baseadas em linguagem e transita entre diferentes estilos e propósitos de texto.
Antes do GPT-3, modelos de linguagem eram projetados para executar uma tarefa específica de NLP, como geração de texto, sumarização ou classificação. O GPT-3 é o primeiro modelo de linguagem realmente generalista na história do NLP, capaz de performar bem em uma variedade de tarefas. GPT-3 significa “Generative Pre-trained Transformer” e é a terceira iteração do modelo da OpenAI. Vamos destrinchar esses três termos:
- Generative (generativo): modelos generativos são um tipo de modelo estatístico usado para criar novos pontos de dados. Eles aprendem as relações subjacentes entre variáveis em um conjunto de dados para gerar novas amostras semelhantes às do conjunto original.
- Pre-trained (pré-treinado): modelos pré-treinados já foram treinados em um grande conjunto de dados. Isso permite usá-los em tarefas nas quais seria difícil treinar um modelo do zero. Um modelo pré-treinado pode não ser 100% preciso, mas evita que você reinvente a roda, economizando tempo e melhorando o desempenho.
- Transformer: transformer é uma famosa arquitetura de rede neural introduzida em 2017. É um modelo de deep learning projetado para lidar com dados sequenciais, como texto. Transformers são muito usados em tarefas como tradução automática e classificação de texto.
Na próxima seção, vamos ver o contexto mais amplo dos modelos de linguagem — o que são, como funcionam e para que servem. Você pode saber mais sobre o que já sabemos sobre o GPT-4 em um artigo separado, aprender mais sobre IA aqui ou conferir as últimas novidades da OpenAI, Google AI e o que isso significa para data science.
o que são grandes modelos de linguagem?
Nos últimos anos, houve um enorme interesse em construir grandes modelos de linguagem, ou LLMs. Treinados com grandes quantidades de texto, os LLMs podem ser usados em várias tarefas baseadas em linguagem, incluindo geração de texto, tradução automática e resposta a perguntas.
Modelagem de linguagem é a tarefa de usar probabilidade para entender como frases se formam em um idioma. Modelos simples olham para uma palavra e preveem a próxima (ou próximas) mais prováveis, com base na análise estatística de sequências de texto existentes. Por exemplo, a frase "I love walking my ..." tem mais chance de terminar com a palavra "dog" do que com "refrigerator". É fundamental treinar o modelo com muitos dados para que ele seja preciso ao prever sequências de palavras.
LLMs podem ser vistos como máquinas de previsão estatística: você fornece texto como entrada e recebe previsões como saída. Você provavelmente já viu isso no recurso de autocompletar do celular. Se você digita “good”, o autocompletar pode sugerir “morning” ou “luck”. Aplicativos de NLP como o autocompletar dependem fortemente de modelos de linguagem.
Embora modelos de linguagem existam há muito tempo, só recentemente eles passaram a ter tanto sucesso. Isso se deve a vários fatores, incluindo a disponibilidade de grandes volumes de dados de treinamento, o desenvolvimento de algoritmos melhores e o uso de GPUs para acelerar o treinamento. Com mais dados, os modelos aprendem mais sobre as relações entre palavras e o contexto em que são usadas. Isso permite compreender melhor o significado do texto e gerar previsões mais precisas.
O sucesso dos LLMs vem da capacidade de capturar as dependências entre palavras em um texto. Por exemplo, na frase "The cat sat on the mat", a palavra "cat" depende de "the", e "mat" depende de "on". Em um grande modelo de linguagem, essas dependências ficam registradas nos parâmetros do modelo. À medida que os LLMs evoluíram, o número de parâmetros explodiu, como mostra o gráfico a seguir, publicado pela Microsoft Research.

Tendência do tamanho dos modelos de NLP de ponta ao longo do tempo, em escala logarítmica
Fonte: post no blog da Microsoft Research sobre treinar o Megatron-Turing NLG 530B, 11 de out. de 2021
Pré-treinar grandes modelos de linguagem exige muita computação, o que consome muita energia. A demanda crescente por esses modelos requer cada vez mais recursos computacionais. Isso traz custos ambientais significativos, como uso insustentável de energia e emissões de carbono.
Em um estudo de 2019, pesquisadores da Universidade de Massachusetts estimaram que treinar um grande modelo de deep learning produz 626.000 libras de dióxido de carbono, o equivalente às emissões ao longo da vida útil de cinco carros. À medida que os modelos crescem, suas necessidades de computação superam as melhorias de eficiência do hardware. Um estudo de 2021 estima que o treinamento do GPT-3 gerou cerca de 552 toneladas métricas de CO2 — algo como o que 120 carros emitem em um ano de uso.
Mesmo assim, o artigo Green AI (2019) destaca “que a tendência de liberar modelos pré-treinados publicamente é um sucesso verde”, e os autores encorajam as organizações “a continuar liberando seus modelos para poupar outros dos custos de retreiná-los”. Empresas como a OpenAI, que disponibilizam grandes modelos de linguagem pré-treinados, seguem pesquisando e desenvolvendo técnicas para reduzir a pegada de carbono do treinamento.
O GPT-3 é altamente preciso em várias tarefas de NLP por causa do enorme conjunto de dados usado em seu treinamento e da sua arquitetura robusta, com 175 bilhões de parâmetros, que permite entender relações lógicas nesses dados. O GPT-3 foi pré-treinado em um corpus formado por cinco grandes conjuntos: Common Crawl, WebText2, Books1, Books2 e Wikipedia. No total, esse corpus reúne quase um trilhão de palavras, permitindo ao GPT-3 executar com sucesso um número surpreendente de tarefas de NLP em modo zero-shot, ou seja, sem fornecer exemplos prévios.
Na próxima seção, vamos explorar os transformers, a arquitetura famosa que revolucionou a modelagem de linguagem e redefiniu o que é possível em NLP.
o que são modelos transformer?
O transformer é um tipo de arquitetura de rede neural especialmente adequada para tarefas de modelagem de linguagem. Foi apresentado no artigo "Attention is All You Need", de 2017. O trabalho descreve transformers como uma arquitetura projetada para executar com eficiência tarefas de sequência para sequência, lidando com dependências de longo alcance com facilidade. Transformers rapidamente se tornaram a arquitetura padrão para NLP, dominando esse espaço.
Sequence-to-Sequence é o mecanismo que sustenta os transformers. Também conhecido como Seq2Seq, ele transforma uma sequência de elementos, como palavras de uma frase, em outra sequência, como a mesma frase em outro idioma — por isso é tão adequado a tradução. O Google Tradutor passou a usar uma arquitetura semelhante em produção no fim de 2016.

Fonte: post "The Illustrated Transformer" no blog de Jay Alammar
Modelos Seq2Seq têm duas partes: um codificador (encoder) e um decodificador (decoder). Eles podem ser comparados a tradutores humanos que dominam apenas dois idiomas. Cada um tem uma língua materna diferente; no nosso exemplo, o encoder é nativo em chinês e o decoder é nativo em inglês. Os dois compartilham um segundo idioma; digamos japonês. Para traduzir do chinês para o inglês, o encoder converte a frase chinesa para o japonês. Essa frase em japonês, chamada de contexto, é passada ao decoder. Como o decoder entende japonês, ele pode traduzir do japonês para o inglês.
Outro componente essencial da arquitetura transformer é o mecanismo de “atenção”. É uma técnica que imita a atenção cognitiva — como nosso cérebro foca nas partes mais importantes de uma frase para entender o sentido geral. Por exemplo, enquanto você lê esta frase, seu foco está na palavra atual, mas, ao mesmo tempo, sua memória mantém as palavras-chave para dar contexto.
O mecanismo de atenção analisa a sequência de entrada em partes e decide, a cada passo, quais outras partes são importantes. Isso ajuda o transformer a filtrar ruído e focar no que é relevante, conectando palavras relacionadas que, isoladamente, não trazem marcadores óbvios de relação.
Transformers se beneficiam de arquiteturas maiores e de mais dados. Isso os torna melhores do que qualquer outro tipo de rede neural para entender o contexto das palavras em uma frase, explicando seu grande impacto no machine learning. À medida que evoluem, a tendência é terem um impacto ainda maior — e você pode começar a experimentar com LLMs em poucos passos.
primeiros passos com o GPT-3
navegando pela API da OpenAI
Embora o GPT-3 seja um dos modelos de linguagem mais sofisticados e complexos do mundo, seus recursos ficam acessíveis por uma interface simples de “texto de entrada e texto de saída”. A primeira coisa para começar é obter acesso à API da OpenAI. Você pode solicitar aqui e, em poucos minutos, sua conta estará pronta.
Depois de acessar a conta de desenvolvedor da OpenAI, vamos explorar o Playground, um ambiente sandbox privado na web para experimentar a API e entender como seus componentes funcionam em conjunto.

Componentes da API da OpenAI
Veja uma visão geral dos diferentes componentes da API e suas funcionalidades:
- Execution Engine (mecanismo de execução): define qual modelo de linguagem será usado. Escolher o mecanismo certo é fundamental para determinar as capacidades do seu modelo e, consequentemente, a qualidade da saída.
- Response Length (tamanho da resposta): limita quanto texto a API inclui na conclusão. Como a OpenAI cobra pelo comprimento do texto gerado por chamada, o tamanho da resposta é um parâmetro crucial para quem tem orçamento apertado. Quanto maior, mais caro.
- Temperature (temperatura): controla a aleatoriedade da resposta, numa faixa de 0 a 1. Valores mais baixos fazem a API responder com a primeira opção “óbvia”; valores mais altos fazem o modelo considerar outras possibilidades que se encaixem no contexto antes de gerar o resultado.
- Top P: controla quantos resultados aleatórios o modelo deve considerar para a conclusão, conforme indicado pela temperatura, determinando a amplitude da criatividade. Varia de 0 a 1: valores baixos limitam a criatividade; valores altos ampliam o leque.
- Frequency e Presence Penalty (penalidades): a penalidade de frequência reduz a chance de o modelo repetir a mesma linha literalmente, “punindo” repetições. A penalidade de presença aumenta a chance de introduzir novos tópicos.
- Best of: permite especificar o número de conclusões (n) a serem geradas no servidor e retorna a melhor entre “n”.
- Stop Sequence (sequência de parada): é um conjunto de caracteres que sinaliza à API que deve parar de gerar texto.
- Inject Start & Restart Text: permitem inserir texto no início ou no fim da conclusão, respectivamente.
- Show Probabilities (mostrar probabilidades): exibe a probabilidade dos tokens que o modelo pode gerar para uma dada entrada, ajudando a depurar o prompt.
A API da OpenAI oferece quatro mecanismos de execução que variam no número de parâmetros, desempenho e preço. Em ordem crescente de capacidade e tamanho: Ada (em homenagem a Ada Lovelace), Babbage (Charles Babbage), Curie (Marie Curie) e Davinci (Leonardo da Vinci).
A partir desses quatro modelos principais, a OpenAI lançou uma série de modelos aprimorados, chamados InstructGPT, melhores em entender e seguir instruções para produzir o resultado específico que você precisa. Basta dizer ao modelo o que você quer que ele faça e ele vai se esforçar para cumprir. O processo de fornecer instruções ao GPT-3 é chamado de prompt engineering.
prompt engineering
O GPT-3 foi projetado para ser agnóstico à tarefa. Isso significa que ele pode executar inúmeras tarefas, desde que receba o prompt de treinamento adequado. Criar soluções de IA nunca foi trivial, mas com o GPT-3 tudo o que você precisa é de um prompt bem pensado em inglês simples.

Fonte: tweet de Andrej Karpathy em 18 de junho de 2020
O primeiro ponto ao criar um aplicativo com GPT-3 é o design e o conteúdo do prompt de treinamento. O design do prompt é o processo mais importante para preparar o GPT-3 a responder de forma favorável e com contexto.
O prompt é o texto de entrada que você fornece ao modelo para que ele gere a saída desejada. Projetar um bom prompt é dar contexto suficiente sobre a tarefa no texto de entrada. O GPT-3 analisa a entrada e tenta responder com o texto que melhor completa aquela instrução.
De certa forma, criar prompts é como jogar imagem e ação!
O segredo para escrever bons prompts é entender o que o GPT-3 sabe sobre o mundo e como levar o modelo a usar esse conhecimento para gerar resultados úteis. Em um jogo de imagem e ação, nosso objetivo é dar pistas suficientes para que os jogadores descubram a palavra certa usando a inteligência deles. Do mesmo jeito, precisamos dar ao GPT-3 contexto suficiente no prompt para que ele identifique padrões e execute a tarefa. Não queremos interromper o fluxo “natural” de inteligência do modelo com excesso de informação, mas dar contexto de menos pode gerar resultados imprecisos.
Como regra geral, ao projetar o prompt, tente obter uma resposta zero-shot do modelo. Se não for possível, avance com poucos exemplos, em vez de oferecer um corpus inteiro. O fluxo padrão de design do prompt deve ser:
Zero-shot → Few-shots → Corpus-based priming
Se, no seu texto de entrada, o modelo vê a letra “Q” e uma pergunta, ele vai tentar escrever uma resposta — mas não necessariamente a que você espera. Sem contexto suficiente, ele pode supor, por exemplo, que você está listando perguntas e respostas erradas. Para obter a melhor resposta, deixe claro que tipo de resposta você quer que o GPT-3 forneça.
Em vez de pedir para o GPT-3 completar esta entrada:
Q:
A:
Na qual a primeira conclusão que tivemos foi:
Q:
A:
Q:
A:
Você melhora bastante o resultado para perguntas usando um prompt assim (ou alguma variação, dependendo do tipo de pergunta que deseja gerar):
Write a few trivia questions.
Q:
A:
Onde obtivemos a seguinte conclusão já na primeira tentativa:
What is the name of the longest river in Africa?
The Nile
What are the top 5 most spoken languages in the world?
Mandarin, Spanish, English, Hindi, Arabic
Instruções simples como as acima já bastam para o GPT-3 entender que precisa dar respostas mais alinhadas ao que você procura; neste caso, várias perguntas de trivia. Você também pode usar a expressão “Factual answer:” em vez de “A:” para melhorar o resultado.
Write a few trivia questions.
Question:
Factual answer:
Para essa entrada, recebemos a seguinte conclusão:
1. What is the world’s largest desert?
The Sahara desert.
2. What is the world’s deepest Ocean?
The Pacific Ocean.

gpt-3 sandbox — usando a API da OpenAI com Python
Nesta seção, vamos apresentar o GPT-3 Sandbox, uma ferramenta open source para tirar ideias do papel com poucas linhas de código em Python. Vamos mostrar como usar e personalizar para sua aplicação específica. O objetivo é capacitar você a criar web apps legais, independentemente do seu background técnico.
Siga esta série de vídeos interativa para um passo a passo de criação e deploy de um app com GPT-3. Você vai precisar do seguinte stack técnico:
- Python 3.7+
- Uma IDE, como o VS Code
Clone o código deste repositório abrindo um novo terminal na sua IDE e usando o comando:
git clone https://github.com/Shubhamsaboo/kairos_gpt3
Tudo o que você precisa para criar e publicar um web app já está no código. Basta ajustar alguns arquivos para personalizar o sandbox para seu caso de uso. Agora, crie um ambiente virtual em Python para começar. Depois de criar o ambiente, instale as dependências com o comando:
pip install -r requirements.txt
Agora você pode personalizar o código do sandbox. O primeiro arquivo a abrir é o training_data.py. Substitua o prompt padrão pelo prompt de treinamento que deseja usar. Você pode usar o Playground do GPT-3 para experimentar diferentes prompts (veja o capítulo 2 do livro e este vídeo para saber mais sobre como personalizar o sandbox).
Agora é hora de ajustar os parâmetros da API (Maximum tokens, Execution Engine, Temperature, Top-p, Frequency Penalty, Stop Sequence). Recomendamos experimentar diferentes valores no Playground para o seu prompt, identificar o que funciona melhor e, então, alterar os valores no arquivo training_service.py.
Pronto! Seu web app baseado em GPT-3 está no ar. Você pode executá-lo localmente com:
streamlit run gpt_app.py
Você pode usar o Streamlit sharing para publicar o app e compartilhá-lo com um público maior. Siga este vídeo para ver o passo a passo completo do deploy.
o que dá para construir com o GPT-3?
Antes do GPT-3, a maior parte das interações das pessoas com IA se limitava a tarefas específicas, como pedir para a Alexa tocar uma música ou usar o Google Tradutor para conversar em outros idiomas. Com o avanço dos LLMs, estamos diante de uma mudança de paradigma. Eles mostraram que, ao aumentar o tamanho dos modelos, aplicações de IA conseguem executar tarefas criativas e complexas de forma semelhante aos humanos.
O GPT-3 está impulsionando a próxima leva de startups ao combinar a imaginação de empreendedores criativos com a tecnologia certa. Logo após a OpenAI liberar a API, surgiram empresas usando-a para resolver problemas reais. Vamos explorar esse ecossistema vendo algumas das startups de destaque que usam o GPT-3 no núcleo do produto em áreas como artes criativas, análise de dados, chatbots, copywriting e ferramentas para desenvolvedores.
1. aplicações criativas com GPT-3: Fable Studio
Uma das capacidades mais empolgantes do GPT-3 é contar histórias. Você pode dar um tema ao modelo e pedir para escrever uma história em modo zero-shot. As possibilidades estão expandindo a imaginação de escritores e rendendo trabalhos extraordinários. Por exemplo, a peça AI, dirigida por Jennifer Tang e desenvolvida com Chinonyerem Odimba e Nina Segal, mostra uma colaboração única entre mentes humanas e computacionais com a ajuda do GPT-3.
A Fable Studio aproveita essas capacidades criativas de storytelling. Eles adaptaram o livro infantil Wolves in the Walls, de Neil Gaiman e Dave McKean, em uma experiência de filme em VR vencedora do Emmy. Lucy, a protagonista, consegue conversar naturalmente com as pessoas graças a diálogos gerados pelo GPT-3. A empresa acredita que, com futuras iterações do modelo, será possível desenvolver um contador de histórias em IA tão habilidoso e criativo quanto os melhores escritores humanos.
2. aplicações de análise de dados com GPT-3: Viable
Viable é uma ferramenta de agregação de feedback que identifica temas, emoções e sentimentos em pesquisas, tickets de help desk, logs de chat e avaliações de clientes. Em seguida, entrega um resumo dos resultados em segundos. Por exemplo, à pergunta “O que está frustrando nossos clientes na experiência de checkout?”, a Viable pode responder: “Os clientes estão frustrados com o fluxo de checkout porque demora para carregar. Eles também querem uma forma de editar o endereço no checkout e salvar vários métodos de pagamento.”
Como se espera de especialistas em feedback, a Viable tem botões de like e dislike ao lado de cada resposta gerada. Esse retorno é usado no retreinamento. Há humanos no processo também: a Viable tem uma equipe de anotação responsável por construir conjuntos de dados de treinamento, tanto para modelos internos quanto para fine-tuning do GPT-3. Eles usam a iteração atual desse modelo ajustado para gerar saídas, que são avaliadas por humanos. Se a saída não fizer sentido ou não for precisa, eles reescrevem. Quando têm uma lista de resultados satisfatórios, alimentam essa lista na próxima iteração do dataset de treinamento.
3. aplicações de chatbot com GPT-3: Quickchat
Emerson AI é a persona de chatbot da Quickchat, conhecida por seu conhecimento geral de mundo, suporte a vários idiomas e habilidade de manter uma conversa. O Emerson AI demonstra o potencial de chatbots com GPT-3 e incentiva empresas a implementarem uma persona semelhante com a Quickchat. A oferta da Quickchat é uma IA conversacional de uso geral que pode falar sobre qualquer assunto. Os clientes podem personalizar o chatbot adicionando informações específicas do seu produto. As aplicações são diversas: automação de suporte ao cliente e uma persona de IA que ajuda a pesquisar bases de conhecimento internas, por exemplo.
Diferente de provedores típicos de chatbot, a Quickchat não constrói árvores de conversa nem roteiros rígidos, e tampouco precisa “ensinar” o chatbot a responder de um jeito específico. Em vez disso, os clientes seguem um processo simples: copiar e colar o texto com todas as informações que desejam que a IA use, clicar em “retrain” (retreinar) — o que leva alguns segundos para absorver o conhecimento — e pronto. Treinado com seus dados, o chatbot já está pronto para um teste de conversa.
4. aplicações de marketing com GPT-3: Copysmith
Uma das aplicações mais populares do GPT-3 é gerar conteúdo criativo sob demanda. A Copysmith é um exemplo de plataforma de geração de conteúdo. Ela usa o GPT-3 para gerar prompts que se transformam em copies para e-commerce. O GPT-3 brilha no marketing: ajuda a criar, colaborar e lançar conteúdo de qualidade em alta velocidade. Graças ao modelo, pequenos e médios negócios online escrevem melhores chamadas para ação e descrições de produto e elevam o nível do marketing para ganhar tração.
5. aplicações de código com GPT-3: Stenography
Bram Adams, OpenAI Community Ambassador, criou a Stenography, um programa que usa GPT-3 e Codex para automatizar a documentação de código.
A Stenography foi um sucesso instantâneo, lançando como o produto nº 1 no ProductHunt. Adams vê documentação como uma forma de falar com outras pessoas do time, com seu “eu do futuro” ou com curiosos que encontram um projeto no GitHub. O objetivo da Stenography é tornar um projeto compreensível para os outros.
Para conhecer mais sobre o ecossistema em torno do GPT-3, confira o capítulo 4 (GPT-3 como trampolim para startups de próxima geração) e o capítulo 5 (GPT-3 para corporações) do nosso próximo livro da O’Reilly.
conclusão
- O GPT-3 marca um marco importante na história da IA. Ele também faz parte de uma tendência maior de LLMs que deve continuar crescendo. O passo revolucionário de oferecer acesso via API inaugurou o modelo de negócios “model-as-a-service”.
- As capacidades gerais do GPT-3 em linguagem abrem portas para construir produtos inovadores. Ele é especialmente bom em tarefas como geração de texto, sumarização, classificação e conversação.
- Há várias empresas bem-sucedidas construídas em grande parte — ou totalmente — com o GPT-3. Nossos casos favoritos incluem storytelling criativo, análise de dados, chatbots, copywriting de marketing e ferramentas para desenvolvedores.

Shubham Saboo desempenhou várias funções, desde cientista de dados até evangelista de IA em empresas renomadas em todo o mundo. Seu trabalho como evangelista de IA o levou a criar comunidades e a alcançar um público mais amplo para promover a troca de ideias e pensamentos no campo crescente da inteligência artificial. Como parte de sua paixão por aprender coisas novas e compartilhar conhecimento com a comunidade, ele escreve blogs técnicos sobre os avanços da IA e suas implicações econômicas. Ele é coautor de GPT-3: Criação de produtos inovadores de PNL usando grandes modelos de linguagem.
Sandra é autora, evangelista, criadora de comunidades e palestrante ativa sobre assuntos de IA, em particular GPT-3, no code e mídia sintética. Ela administra um canal no YouTube, onde entrevista as partes interessadas do ecossistema e discute as tendências inovadoras de IA. Você pode conferir o livro dela, GPT-3: Criação de produtos de PNL com grandes modelos de linguagem.





