What is ChatGPT doing… and why does it work?
Autor: Stephen Wolfram
Ideias centrais:
1. O ChatGPT é capaz de fazer o que se pensava que fosse uma exclusividade humana: gerar uma linguagem humana significativa.
2. A primeira coisa que o chatbot faz é tentar produzir uma “continuação razoável” de qualquer texto já escrito até hoje em bilhões de páginas na web.
3. As redes neurais são a abordagem atual mais popular e bem-sucedida para a criação de modelos para tarefas como reconhecimento de imagens. Elas capturam, de alguma forma, uma maneira semelhante à humana para fazer as coisas.
4. A rede neural do ChatGPT corresponde a uma função matemática com bilhões de termos.
5. Quando pensamos que, agora, uma rede neural pode escrever um ensaio, isso significa que essa tarefa é um problema superficial computacionalmente do que pensávamos.
6. Além do trabalho de mostrar ao ChatGPT uma grande quantidade de textos já existentes na Web, há outra parte importante no treinamento da rede: a interação com humanos.
7. O ChatGPT é capaz de aprender com sucesso o tipo de estrutura sintática existente em todas as línguas humanas.
8. Além da linguagem humana, há a linguagem computacional. O ChatGPT já começou a aprender a Wolfram Language, desenvolvida pelo autor, que pretende ser uma linguagem na qual humanos e computadores possam “pensar computacionalmente”.
9. Nem sempre o ChatGPT é capaz de dar respostas precisas. Por isso, o autor afirma que o chatbot precisa aprender a Wolfram Language e deve se conectar ao sistema Wolfram|Alpha – também desenvolvido por ele – para usar seus conhecimentos computacionais no fornecimento de respostas precisas.
Sobre o autor:
Stephen Wolfram é cientista da computação, físico, empresário, fundador e CEO da Wolfram Research e criador dos programas Mathematica, Wolfram|Alpha e Wolfram Language. Escreveu A New Kind of Science, entre outros livros. Trabalha no desenvolvimento e aplicação do pensamento computacional. Foi responsável por descobertas, invenções e inovações em ciência, tecnologia e negócios.
Prefácio:
No livro, Wolfram explica como e por que o ChatGPT funciona, em uma história que inclui tecnologia, ciência e filosofia. Além disso, fala sobre a expectativa de que o programa use ferramentas computacionais para ir além do que os humanos podem fazer, sendo capaz de aproveitar os “superpoderes” de conhecimento computacional do sistema Wolfram|Alpha, desenvolvido pelo autor.
“ChatGPT é baseado no conceito de redes neurais, originalmente inventado na década de 1940 como uma idealização do funcionamento do cérebro. Eu mesmo programei uma rede neural pela primeira vez em 1983 e ela não fez nada de interessante. Mas 40 anos depois, com computadores que são efetivamente um milhão de vezes mais rápidos, com milhares de milhões de páginas de texto na web e depois de toda uma série de inovações de engenharia, a situação é bem diferente.”
A rede neural de hoje é capaz de fazer o que se pensava que fosse uma exclusividade humana: gerar uma linguagem humana significativa.
O que o ChatGPT faz e por que isso funciona?
É apenas adicionar uma palavra de cada vez
Como o ChatGPT gera automaticamente algo que se parece, “mesmo que superficialmente”, com um texto escrito por um humano? Como isso acontece? Por que ele tem um desempenho tão bom nisso?
A primeira coisa que o chatbot faz é tentar produzir uma “continuação razoável” de qualquer texto já escrito até hoje em bilhões de páginas na web. Faz isso procurando coisas que em certo sentido “combinam em significado”, perguntando repetidamente “dado o texto até agora, qual deve ser a próxima palavra?”.
A partir das páginas encontradas na web, o programa cria uma lista de palavras com probabilidades, mas qual delas deveria usar em um artigo, por exemplo?
Poderíamos pensar que deveria ser a palavra ‘com melhor classificação’, ou seja, aquela à qual foi atribuída a ‘probabilidade’ mais alta. Mas é aqui que um pouco de vodu começa a se infiltrar. Porque por alguma razão – que talvez um dia tenhamos uma explicação científica – se sempre escolhermos a palavra com classificação mais alta, obteremos um artigo ‘raso’, que não parece demonstrar qualquer ‘criatividade’ e às vezes até se repete palavra por palavra. Mas se às vezes, de forma aleatória, escolhermos palavras de classificação inferior, obteremos um artigo ‘mais interessante’.
De onde vêm as probabilidades?
A grande ideia é criar um modelo que permita estimar as probabilidades com que as sequências devem ocorrer – mesmo que nunca tenhamos visto explicitamente essas sequências no corpo de texto que analisamos. E no centro do ChatGPT está precisamente o chamado ‘modelo de linguagem de grande escala’ (Large Language Model, ou LLM) que foi construído para fazer um bom trabalho de estimativa dessas probabilidades.
O que é um modelo?
Modelos são construídos a partir de outros modelos. Qualquer modelo que você usa tem alguma estrutura subjacente específica – então um certo conjunto de ‘botões que você pode girar’ (ou seja, parâmetros que você pode definir) para ajustar seus dados. O ChatGPT usa 175 bilhões deles.
Mas o que é notável é que a estrutura subjacente do ChatGPT – com ‘apenas’ esse número de parâmetros – é suficiente para criar um modelo que calcule as probabilidades da próxima palavra ‘bem o suficiente’ para nos fornecer textos com tamanho razoável.
Modelos para tarefas semelhantes às humanas
Como seria um modelo para criar um modelo de texto em linguagem humana do tipo produzido por um cérebro humano, uma vez que não existe um modelo matemático simples para isso?
Antes de falar em linguagem, uma outra tarefa humana é a de reconhecer imagens, como dígitos. Um bom modelo seria aquele que concorda com o que um humano diria vendo uma lista de dígitos, mesmo que estivessem escritos de diferentes maneiras ou até borrados.
Redes neurais
As redes neurais são a abordagem atual mais popular e bem-sucedida para a criação de modelos para tarefas como reconhecimento de imagens. Inventadas – numa forma notavelmente próxima de sua utilização hoje – na década de 1940, as redes neurais podem ser consideradas simples idealizações de como os cérebros parecem funcionar.
O cérebro humano tem milhões de neurônios, que produzem pulsos elétricos e estão conectados em uma rede complexa, com galhos parecidos com os das árvores. Numa aproximação grosseira, se um determinado neurônio produz um pulso elétrico em um determinado momento depende de quais pulsos ele recebeu de outros neurônios – com diferentes conexões contribuindo com diferentes ‘pesos’.
Para cada tarefa a ser executada pela rede neural há opções diferentes de pesos. Em última análise, cada rede neural corresponde apenas a alguma função matemática geral – embora possa ser complicado escrevê-la. A rede neural do ChatGPT corresponde a uma função matemática com bilhões de termos.
Uma das principais razões pelas quais as redes neurais são úteis: elas capturam, de alguma forma, uma maneira ‘semelhante à humana’ de fazer as coisas.
Aprendizagem de máquina e o treinamento das redes neurais
As redes neurais podem ser treinadas para realizar tarefas. O reconhecimento de gatos e cachorros, por exemplo, pode ser feito pela exibição de várias imagens diferentes destes animais. A rede treinada ‘generaliza’ a partir dos exemplos particulares que são mostrados.
Para treinar as redes neurais, o que se faz é tentar encontrar pesos que façam com que a rede reproduza com sucesso os exemplos dados. E então contamos com ela para ‘interpolar’ (ou ‘generalizar’) ‘entre’ esses exemplos de uma forma ‘razoável’.
O que se descobriu com o passar do tempo é que é mais fácil resolver problemas mais complicados com as redes neurais do que os mais simples. A razão aproximada para isso parece ser que, quando se tem muitas variáveis de peso, se tem um espaço de alta dimensão com muitas dimensões diferentes que podem levar ao mínimo – enquanto com menos variáveis é mais fácil acabar ficando preso em um mínimo local (um lago entre montanhas, por exemplo) do qual não há ‘direção para sair’.
A prática e a tradição do treinamento de redes neurais
Houve muitos avanços no treinamento das redes neurais na última década. Este trabalho pode ser considerado uma arte, uma vez que muitas das descobertas foram feitas na base da tentativa e erro, com a adição de ideias e truques. Isso construiu uma tradição de como trabalhar.
Há várias partes importantes, como a escolha da arquitetura da rede neural usada para uma tarefa específica, como obter os dados para treiná-la, como uma nova rede pode incorporar outra já treinada ou como pode usá-la para gerar mais exemplos de treinamento para si mesma.
Acho que isso é um reflexo do fato de que as tarefas que nós tentamos, tipicamente, fazer com as redes neurais são do ‘tipo humano’ e elas podem capturar esse processo.
No final, todo o processo de treinamento pode ser caracterizado por ver como as perdas (erros) diminuem progressivamente. Quando a perda é suficientemente pequena, pode-se considerar que o treinamento foi bem-sucedido. Se não, é melhor mudar a arquitetura da rede. Em geral, o trabalho é difícil e demanda um grande esforço computacional.
“Certamente uma rede grande o suficiente pode fazer qualquer coisa”
A capacidade de programas como o ChatGPT faz pensar se redes neurais cada vez maiores serão capazes de fazer “qualquer coisa”. Mas a lição das últimas centenas de anos de ciência é que há coisas que podem ser descobertas por processos formais, mas que não são facilmente acessíveis ao pensamento humano imediato.
Alguns exemplos são a matemática não trivial, a computação e, ultimamente, o fenômeno da irredutibilidade computacional. Há alguns cálculos que se poderia pensar que exigiriam muitos passos, mas que podem de fato ser reduzidos a algo bastante imediato. Mas a descoberta de irredutibilidade computacional implica que isso nem sempre funciona.
Ao contrário, há processos em que descobrir o que acontece requer rastrear cada etapa. Isso é impossível para o cérebro humano. Portanto, nunca podemos garantir que o inesperado nunca acontecerá. Se quisermos resolver coisas que estão no âmbito da ciência matemática ou computacional, a rede neural não será capaz de fazê-lo – a menos que efetivamente use como ferramenta um sistema computacional ‘comum’.
Quando pensamos que, agora, uma rede neural pode escrever um ensaio significa que essa tarefa é um problema mais superficial computacionalmente do que pensávamos. Isso nos deixa mais próximos de ter uma teoria sobre como os humanos conseguem escrever textos ou lidar com a linguagem.
O conceito de incorporações
Redes neurais são baseadas em números, ou seja, se vamos usá-las para trabalhar com textos temos que encontrar uma forma de representar textos em números. Há, no entanto, uma ideia que vai além disso, que é a das “incorporações”. As atuais, usadas pelo ChatGPT, tendem a envolver grandes listas de números.
As palavras “jacaré” e “crocodilo”, por exemplo, costumam aparecer em sentenças similares, portanto ficarão próximas em uma incorporação. Já “nabo” e “águia” ficarão distantes. O mesmo pode ser feito com imagens, como dígitos escritos à mão.
A questão é que, na medida em que esse comportamento se alinha com a forma como nós, humanos, percebemos e interpretamos as imagens, isso acabará sendo uma incorporação que parece certa para nós e é útil na prática na realização de tarefas semelhantes ao julgamento humano.
Dentro do ChatGPT
Afinal, o que está dentro do ChatGPT? Em última análise, é uma rede neural gigante, atualmente uma versão da chamada rede GPT-3 com 175 milhões de pesos. Em muitos aspectos, esta é uma rede neural muito parecida com as outras que discutimos. Mas é uma rede neural especialmente configurada para lidar com a linguagem. E sua característica mais notável é uma peça de arquitetura de rede neural chamada ‘transformador’.
A ideia dos transformadores é fazer algo similar à sequência de tokens para criar um texto, mas ao invés de apenas definir uma região na sequência onde pode haver conexões, os transformadores introduzem a noção de “atenção” a algumas partes da sequência mais do que a outras.
Há três etapas básicas:
– Primeiro, ele pega a sequência de tokens que corresponde ao texto até o momento e encontra uma incorporação (ou seja, uma matriz de números) que os representa;
– Em seguida, ele opera nessa incorporação – de uma forma de rede neural padrão, com valores ‘ondulando através’ de camadas sucessivas em uma rede – para produzir uma nova incorporação (ou seja, uma nova matriz de números);
– Depois, ele pega a última parte dessa matriz e gera a partir dela uma matriz de cerca de 50.000 valores que se transformam em probabilidades para diferentes possíveis próximos tokens.
Todo esse trabalho mostra que, de alguma forma, uma rede neural com o ChatGPT captura a essência do que o cérebro humano faz na geração da linguagem.
O treinamento do ChatGPT
Como o ChatGPT chegou até aqui? Ele é o resultado de um treinamento em grande escala, baseado em uma enorme quantidade de textos escritos por humanos, mais especificamente, algumas centenas de bilhões de palavras.
A próxima pergunta é: quão eficiente será uma rede neural na implementação de um modelo baseado nesse conteúdo algorítmico? Não sabemos, mas o ChatGPT sugere que é extremamente eficiente.
Além do treinamento básico
Além do trabalho de mostrar ao ChatGPT uma grande quantidade de textos já existentes na web, há outra parte importante no treinamento da rede: a interação com humanos.
O primeiro passo é apenas fazer com que humanos avaliem os resultados da rede neural. Mas então é construído outro modelo de rede neural que tenta prever essas classificações. Agora este modelo de previsão pode ser executado essencialmente como uma função de perda na rede original, permitindo, na verdade, que essa rede seja ajustada pelo feedback humano que foi dado. E os resultados na prática parecem ter um grande efeito no sucesso do sistema na produção de resultados semelhantes aos humanos.
Esta é uma pista para entender o que o ChatGPT faz e como isso se relaciona com a estrutura da linguagem e do pensamento humano.
O que realmente faz o ChatGPT funcionar?
O processo de linguagem humano sempre pareceu muito complexo, mas o que se sabe hoje com o ChatGPT é que uma rede neural artificial com mais ou menos a mesma quantidade de conexões do cérebro (que tem cerca de 100 bilhões de neurônios e 100 trilhões de conexões) é capaz de fazer, surpreendentemente, um bom trabalho na geração da linguagem humana. Isso mostra que ela, em um nível fundamental, pode ser mais simples do que parece.
O sucesso do ChatGPT é nos dar evidências de uma parte importante e fundamental da ciência: sugere que podemos esperar descobrir novas ‘leis da linguagem’ e efetivamente ‘leis do pensamento’. No ChatGPT – construído como uma rede neural – essas leis estão na melhor das hipóteses implícitas. Mas se pudermos de alguma maneira tornar as leis explícitas, há um potencial para fazer o que o ChatGPT faz de forma muito mais direta, eficiente e transparente.
Uma dessas leis da linguagem é a sintaxe – ou seja, o conjunto de regras que regem a construção de uma frase. O ChatGPT não tem nenhum conhecimento explícito sobre esse tipo de lei, mas em seu treinamento, o programa “descobre”, de alguma forma, como elas funcionam e parece ser bom em segui-las. Em um quadro geral, não é claro como isso acontece.
O ponto principal é que o fato de haver uma estrutura sintática geral na linguagem, com toda a regularidade que isso implica, de certa forma limita ‘quanto’ a rede neural tem que aprender. Uma observação chave da ciência natural é que a arquitetura do transformador de redes neurais como a do ChatGPT parece ser capaz de aprender com sucesso o tipo de estrutura sintática semelhante aos galhos de uma árvore que parece existir, pelo menos em alguma aproximação, em todas as línguas humanas.
No entanto, ainda não estamos prontos para decodificar empiricamente a partir de seu comportamento interno o que o ChatGPT descobriu sobre como a linguagem humana é montada.
Gramática semântica e o poder da linguagem computacional
A gramática sintática fornece regras sobre como palavras correspondentes a coisas podem ser reunidas na linguagem humana. Já para propósitos da semântica, precisamos de gradações mais finas. A gramática semântica corresponde a uma espécie de “odelo do mundo, algo que serve como um ‘esqueleto’ sobre o qual a linguagem feita de palavras pode ser colocada em camadas.
Hoje, além da linguagem humana, há a linguagem computacional. O autor trabalha nisso por décadas, tendo desenvolvido a Wolfram Language, uma representação simbólica precisa que pode falar tão amplamente quanto possível sobre coisas no mundo, assim como sobre coisas abstratas. Há, por exemplo, representações simbólicas de cidades, moléculas, imagens e redes neurais.
Está tudo ligado à ideia de gramática semântica e ao objetivo de ter um kit de construção simbólico genérico para conceitos, que nos daria regras para o que poderia se encaixar com isso e, portanto, para o fluxo do que poderíamos transformar em linguagem humana.
O que aconteceria se aplicássemos o ChatGPT à linguagem computacional subjacente? Isso significa que o programa terá acesso imediato e fundamental ao que equivale a ferramentas definitivas para fazer uso de computações potencialmente irredutíveis. Isso o torna um sistema que pode não apenas gerar texto razoável, mas também pode esperar resolver tudo o que pode ser resolvido sobre se esse texto realmente faz declarações corretas sobre o mundo – ou sobre o que deveria estar falando.
Wolfram|Alpha como forma de trazer superpoderes de conhecimento computacional ao ChatGPT
Como um profissional que rastreia as tecnologias de redes neurais há mais de 40 anos, o autor considera a performance do ChatGPT completamente notável em automatizar a realização de grandes coisas semelhantes às humanas. No entanto, ele considera que nem tudo que é útil é tão “humano”. Há coisas mais formais e estruturadas, como a matemática, as ciências e a computação.
O sistema Wolfram|Alpha, desenvolvido por ele, faz algo bem diferente do ChatGPT de forma bem diferente também, mas ambos têm uma interface comum, que é a linguagem natural. Isso significa que eles podem conversar e, juntos, combinar os poderes da linguagem à aplicação do conhecimento computacional.
Exemplos de perguntas feitas ao ChatGPT mostram que ele nem sempre traz respostas corretas. Ele erra, por exemplo, a distância entre Chicago e Tóquio. A mesma pergunta feitas ao Wolfram|Alpha traz a resposta exata, uma vez que este sistema faz cálculos precisos baseados em seu conhecimento estruturado. Outros exemplos mostram que o ChatGPT tem dificuldade com matemática, assim como os humanos.
A ideia fundamental de um sistema de IA baseado em linguagem generativa, com o ChatGPT, simplesmente não é adequada em situações em que há coisas computacionais estruturadas para fazer. Dito de outra forma, seria necessário consertar um número quase infinito de bugs para conseguir o que até mesmo um canto quase infinitesimal do Wolfram|Alpha pode alcançar em sua forma estruturada.
O caminho a seguir
Em resumo, nem sempre o ChatGPT será capaz de dar uma resposta precisa, mas existe uma ótima forma de resolver este problema: conectar o chatbot com o Wolfram|Alpha e todos os seus conhecimentos superpoderosos.
Dentro do Wolfram|Alpha, tudo é transformado em linguagem computacional, e em código preciso da Wolfram Language, que em alguma medida precisa ser perfeito para ser útil de forma confiável. O ponto crucial é que o ChatGPT não precisa gerar isso. Ele pode produzir sua linguagem natural, e então o Wolfram|Alpha pode usar sua capacidade de entender a linguagem natural e traduzi-la para a precisa Wolfram Language.
O ChatGPT já começou a aprender a Wolfram Language – que pretende ser uma linguagem na qual humanos e computadores possam pensar “computacionalmente”.
Há muitos tipos de possibilidades interessantes, de repente abertas pelo inesperado sucesso do ChatGPT. Por agora há a oportunidade imediata de dar ao sistema os superpoderes de conhecimento computacional do Wolfram|Alpha. Isso pode não apenas produzir resultados plausíveis semelhantes aos humanos, mas também resultados que aproveitam toda a torre de computação e conhecimento encapsulada no Wolfram|Alpha e na Wolfram Language.
Ficha técnica:
- Título original: What is ChatGPT doing… and why does it work? [ainda sem edição em português]
- Autor: Stephen Wolfram
- Editora: Wolfram Media
- Resumo: Fernanda Nogueira
- Edição: Monica Miglio Pedrosa
- Aumentar
- Diminuir
- Compartilhar