Este é um ensaio com algumas reflexões de fim de semana sobre o estado atual da tecnologia de aprendizado de máquina, com foco particular nos LLMs, também conhecidos como IA, e nosso ponto atual na história.
Antes de entrarmos nessa emocionante singularidade, gostaria de mencionar que, como um ensaio, esta é uma escrita mais pessoal e menos formal, compartilhando minha perspectiva sobre a evolução da Compreensão da Linguagem Natural e destacando algumas ideias que parecem importantes nesse contexto . Este não é um relatório abrangente do setor nem deveria ser, mas espero que seja uma leitura interessante para engenheiros de aprendizado de máquina e para um público mais amplo interessado no atual surgimento da IA.
Há três partes na história:
A parte da história nos lembra brevemente como chegamos ao nosso estado AGI atual de um perceptron multicamadas em apenas doze anos.
A seção atual concentra-se nas últimas conquistas dos LLMs e nas tendências atuais do setor. Se você está aprofundado no contexto e procurando novas ideias, pule para essa parte.
A parte misteriosa apresenta algumas ideias sobre o que poderia seguir o estágio atual da AGI.
Portanto, em primeiro lugar, o aprendizado de máquina já existe há algum tempo, cerca de uma década ou duodecenal, dependendo se você conta com a publicação word2vec de Tomas Mikolov ou com o curso de aprendizado de máquina de Andrew Ng no Coursera. O Kaggle foi lançado em 2010 e Fei-Fei Li reuniu o Imagenet em 2009. Não faz muito tempo, você provavelmente concordaria se tivesse mais de 30 anos.
Algumas pessoas argumentariam que o aprendizado de máquina existe há muito mais tempo, mas agora estou falando sobre a adoção da indústria de algoritmos de aprendizado profundo, também conhecido como momento da tecnologia, não sobre pesquisa pura. E aqui não estamos tocando em coisas como algoritmos clássicos de ML cobertos no scikitlearn, toda a regressão, agrupamento e tipos de previsões de séries temporais. Eles estão silenciosamente fazendo seu importante trabalho, mas as pessoas não os chamam de IA, sem exageros, você sabe.
Por que essa primavera de IA aconteceu há 12 anos? O aprendizado profundo (treinamento de uma rede neural de múltiplas camadas com retropropagação de erros) finalmente se tornou viável em uma GPU média. Em 2010, a arquitetura de rede neural mais simples, um perceptron multicamada, superou outros algoritmos no reconhecimento de dígitos manuscritos (famoso conjunto de dados MNIST), um resultado alcançado por Juergen Schmidhuber et al.
Desde então, por volta de 2010, a tecnologia tornou-se cada vez mais robusta. Houve alguns momentos de mudança de jogo - disse o lançamento do modelo word2vec que trouxe a compreensão semântica ao mundo do Processamento de Linguagem Natural (NLP), o lançamento público das estruturas de aprendizagem profunda Tensorflow e Keras um pouco mais tarde e, claro, a invenção de Transformer em 2017, que ainda é uma arquitetura de rede neural SOTA, tendo se expandido além do mundo do NLP. Por que é que? Porque o Transformer tem atenção e é capaz de lidar com sequências como textos com complexidade O(n2) que é habilitada pela abordagem de multiplicação de matrizes que nos permite olhar para toda a sequência de entrada. A segunda razão para o sucesso do Transformer, na minha opinião, é a arquitetura flexível do Codificador-Decodificador que nos permite treinar e usar modelos em conjunto e separadamente (sequência a sequência ou sequência a vetor).
Os modelos da família OpenAI GPT (o Transformer Decoder) fizeram algum barulho indo além da indústria de tecnologia, uma vez que o GPT-3 já podia produzir textos bastante semelhantes aos humanos e era capaz de aprender alguns tiros e alguns tiros zero. A última parte é mais importante, o documento GPT-3 é chamado de “Modelos de linguagem são poucos aprendizes” - essa capacidade de modelos de linguagem grandes de aprender rapidamente com exemplos foi declarada pela primeira vez pela OpenAI em 2020.
Mas bang!
O lançamento do ChatGPT veio com um hype que nunca vimos antes, finalmente atraindo grande atenção do público. E agora, o GPT-4 vai além disso.
Por que é que? Nos últimos 7 anos, desde que as redes neurais começaram a mostrar resultados decentes, o que chamamos de IA era na verdade uma inteligência artificial estreita - nossos modelos foram treinados para resolver um conjunto específico de tarefas - reconhecer objetos, realizar classificação ou prever os seguintes tokens na sequência. E as pessoas sonham apenas com a AGI - uma inteligência artificial geral, capaz de concluir várias tarefas em nível humano.
Na verdade, o que aconteceu com o ajuste de LLMs baseado em instruções, ou, como eles chamam no OpenAI, aprendizado por reforço a partir de feedback humano -
Os modelos GPT-3.5+ finalmente aprenderam a capacidade de raciocinar sobre as informações fornecidas. E isso muda as coisas - antes, os LLMs estavam mais próximos de um papagaio estatístico razoavelmente bom, mas ainda muito útil para muitos aplicativos, como incorporação de texto, pesquisa vetorial, chatbots etc. .
O que exatamente é raciocínio?
A capacidade de usar as informações fornecidas para obter conclusões por meio de algumas operações lógicas. Digamos que A está conectado a B e B está conectado a C, então A está conectado a C? O GPT-4 apresenta um exemplo de raciocínio muito mais complexo em sua página oficial do produto. A capacidade de raciocínio do modelo é tão forte e flexível que pode produzir uma sequência estruturada de instruções ou operações lógicas a serem seguidas para atingir um determinado objetivo usando “conhecimento comum” ou “senso comum” ao longo do caminho, não apenas as informações fornecidas no prompt.
Antes dos LLMs com tais habilidades de raciocínio, a outra ferramenta bem projetada para o raciocínio era um grafo de conhecimento , com nós contendo entidades e arestas como predicados ou relações de entidades. Esta é uma forma de armazenamento de informações que fornece habilidades de raciocínio explícito. Em algum momento, eu estava envolvido na construção de um sistema de resposta a perguntas que, entre outras coisas, usava um gráfico de conhecimento para encontrar as informações solicitadas — bastava detectar a intenção, ver se tínhamos esse tipo de relação no gráfico, verificar as entidades particulares mencionadas e, se existirem, consultar este subgráfico. Na verdade, esse pipeline forneceu uma tradução da consulta em linguagem natural para uma consulta SPARQL.
Agora você pode fornecer essas informações factuais ao modelo em texto simples como a parte de contexto do seu prompt e ele irá “aprender” rapidamente e será capaz de raciocinar sobre isso. Uau, certo?
E você não está limitado ao número de entidades e tipos de relação contidos no gráfico. Além disso, você tem aquele “senso comum”, a compreensão geral dos conceitos de nosso mundo e suas relações, que foi a parte mais complicada de separar os modelos de aprendizado de máquina da cognição humana. Nem percebemos como nos tornamos capazes de dar instruções em linguagem natural e elas começaram a funcionar corretamente sem explicações muito explícitas.
Raciocínio mais conhecimento são os dois componentes cruciais da inteligência. Nos últimos 20 anos, colocamos quase todo o conhecimento humano na Internet na forma de Wikipedia, publicações científicas, descrições de serviços, blogs, bilhões de linhas de código e respostas Stackoverflow e bilhões de opiniões nas mídias sociais.
Agora podemos raciocinar com esse conhecimento.
Essas habilidades de raciocínio são bem demonstradas no relatório técnico oficial da OpenAI sobre GPT4 :
O GPT-4 exibe desempenho de nível humano na maioria desses exames profissionais e acadêmicos. Notavelmente, ele passa em uma versão simulada do Uniform Bar Examination com uma pontuação entre os 10% melhores dos candidatos.
De acordo com os resultados do GPT-4 em vários testes humanos, estamos em algum lugar em torno do AGI - OpenAI até usa essas palavras em sua página da Web e um documento recente da Microsoft com mais de 150 páginas com um estudo aprofundado dos recursos do GPT-4 em diferentes domínios denominados “Sparks of Artificial General Intelligence: Early experiment with GPT-4” cuidadosamente, mas explicitamente afirma que a AGI está aqui:
Dada a amplitude e profundidade das capacidades do GPT-4, acreditamos que ele poderia ser razoavelmente visto como uma versão inicial (ainda incompleta) de um sistema de inteligência artificial geral (AGI).
e depois:
A combinação da generalidade dos recursos do GPT-4, com inúmeras habilidades abrangendo uma ampla faixa de domínios e seu desempenho em um amplo espectro de tarefas no nível humano ou além dele, nos deixa à vontade para dizer que o GPT-4 é um passo significativo em direção à AGI.
A razão para tal afirmação é:
Apesar de ser puramente um modelo de linguagem, esta versão inicial do GPT-4 demonstra capacidades notáveis em uma variedade de domínios e tarefas, incluindo abstração, compreensão, visão, codificação, matemática, medicina, direito, compreensão das motivações e emoções humanas e mais.
E para acertar:
Mesmo como um primeiro passo, no entanto, o GPT-4 desafia um número considerável de suposições amplamente aceitas sobre inteligência de máquina e exibe comportamentos e capacidades emergentes cujas fontes e mecanismos são, neste momento, difíceis de discernir com precisão <…>. Nosso principal objetivo ao redigir este documento é compartilhar nossa exploração dos recursos e limitações do GPT-4 para apoiar nossa avaliação de que um salto tecnológico foi alcançado. Acreditamos que a inteligência do GPT-4 sinaliza uma verdadeira mudança de paradigma no campo da ciência da computação e além.
Eu recomendo que você gaste algum tempo com este estudo, pois por trás dessas afirmações altas, há uma análise muito interessante de como esses modelos funcionam e uma extensa comparação dos resultados do GPT-4 com o ChatGPT em uma variedade de tarefas não triviais de diferentes domínios.
Se precisarmos aplicar as habilidades de raciocínio do LLM para tirar conclusões sobre algumas informações específicas que não se espera que sejam aprendidas pelo modelo durante o treinamento, podemos usar qualquer tipo de pesquisa - recuperação mais mecanismo de classificação, independentemente de você armazenar seus dados como incorporações de vetores em algum índice ANN como Faiss ou em um índice de texto completo da velha escola como Elastic - e então alimente esses resultados de pesquisa para um LLM como um contexto, injetando-o em um prompt. Isso é o que as pesquisas do Bing 2.0 e do Bard (agora com tecnologia PaLM2 ) fazem agora.
Implementei este sistema de busca + chamada LLM com uma arquitetura DPR , onde o ChatGPT substituiu o modelo Reader, e com a busca full-text Elastic, em ambos os casos, a qualidade geral do sistema depende da qualidade dos dados que você tem em seu índice — se for específico e completo, você pode contar com respostas melhores do que o vanilla ChatGPT fornece.
Alguns até conseguiram criar uma biblioteca de canivetes suíços em torno do GPT, chamar de banco de dados de vetores e levantar uma boa rodada sobre isso - tiro meu chapéu!
Mas, devido à interface textual dos modelos GPT, você pode criar qualquer coisa em torno dele com qualquer ferramenta com a qual esteja familiarizado, sem a necessidade de adaptadores.
Uma das perguntas que podem dar uma pista para os avanços do modelo é como esses grandes modelos realmente aprendem e onde essas impressionantes habilidades de raciocínio são armazenadas nos pesos do modelo .
Esta semana, a OpenAI lançou um artigo “Modelos de linguagem podem explicar neurônios em modelos de linguagem” e um projeto de código aberto com o objetivo de responder a essas perguntas removendo as camadas dos LLMs. A maneira como funciona - eles observam a atividade de alguma parte da rede neural do modelo freqüentemente ativada em algum domínio do conhecimento, então um modelo GPT-4 mais poderoso escreve suas explicações sobre o que é essa parte específica ou um neurônio do LLM que está sendo estudado responsável por e, em seguida, eles tentam prever a saída do LLM original em uma série de sequências de texto relevantes com GPT-4, o que resulta em uma pontuação sendo atribuída a cada uma de suas explicações.
No entanto, esta técnica tem algumas desvantagens. Primeiro, como afirmam os autores, seu método deu boas explicações apenas para 1.000 neurônios de cerca de 300.000 neurônios estudados.
Aqui está a citação do papel:
No entanto, descobrimos que as explicações baseadas em GPT-4 e empreiteiros humanos ainda pontuam mal em termos absolutos. Ao olhar para os neurônios, também descobrimos que o neurônio típico parecia bastante polissemântico. Isso sugere que devemos mudar o que estamos explicando.
O segundo ponto é que esta técnica atualmente não fornece insights sobre como o processo de treinamento poderia ser melhorado. Mas é um bom esforço em termos de estudo de interpretabilidade do modelo.
Talvez se os neurônios estudados fossem unidos em alguns clusters com base em suas interdependências e esses clusters demonstrassem alguns padrões comportamentais que poderiam ser alterados devido a diferentes procedimentos de treinamento, isso nos daria alguma compreensão de como certas capacidades do modelo estão correlacionadas aos dados de treinamento e política de treinamento. De alguma forma, esse agrupamento e diferenciação podem parecer a segmentação do cérebro em diferentes áreas responsáveis por habilidades específicas. Isso pode nos fornecer informações sobre como ajustar com eficiência um LLM para que ele adquira alguma nova habilidade específica.
Outra ideia de tendência é criar um agente autônomo com um LLM em loop - o Twitter está cheio de experimentos como AutoGPT, AgentGPT, BabyAGI e outros. A ideia é definir uma meta para tal agente e fornecer algumas ferramentas externas, como APIs de outros serviços, para que ele possa entregar o resultado desejado por meio de um loop de iterações ou modelos de encadeamento.
Na semana passada, o Huggingface lançou Agents em sua famosa biblioteca Transformers para:
“crie facilmente aplicativos GenerativeAI e agentes autônomos usando LLMs como OpenAssistant, StarCoder, OpenAI e muito mais”. (c) Philip Schmid
A biblioteca fornece uma interface para encadear modelos e APIs capazes de responder a consultas complexas em linguagem natural e suportar dados multimodais (texto, imagens, vídeo, áudio). O prompt neste caso inclui a descrição do agente, um conjunto de ferramentas (principalmente algumas outras redes neurais de caso restrito), alguns exemplos e uma tarefa. Os agentes facilitariam o uso do modelo para não engenheiros, mas também são um bom começo para construir um sistema mais complexo sobre os LLMs. E, a propósito, aqui está a Natural Language API, um tipo de Internet diferente do que você conhece.
Aliás, o Twitter está ficando muito louco hoje em dia em torno da IA, todo mundo está construindo algo em cima dos modelos LLM e mostrando ao mundo - nunca vi tanto entusiasmo na indústria. Se você quiser investigar o que está acontecendo - eu recomendo começar o mergulho na toca do coelho com o tweet recente de Andrew Karpathy.
Codex , alimentando o copiloto do Github já existe há algum tempo e, alguns dias atrás, como assinante do Colab Pro, recebi uma carta do Google, dizendo que em junho eles iriam (citando a carta)
comece gradativamente adicionando recursos de programação AI ao Colab Entre os primeiros a aparecer:
- dicas de uma ou várias linhas para conclusão de código;
- geração de código de linguagem natural, que permite enviar solicitações de geração de código para modelos do Google e colá-lo em um notebook.
A propósito, na semana passada o Google anunciou a família de modelos PaLM 2 , entre os quais está o Codey, modelo especializado do Google para codificação e depuração, que provavelmente estaria alimentando esses recursos anunciados.
Para concluir esta seção, gostaria de dizer que minha escolha pessoal de PNL em vez de CV por volta de 2016 foi feita devido ao fato de que a linguagem é a maneira universal e definitiva de as pessoas transferirem informações . Nós até pensamos com os conceitos de nossa linguagem, então o sistema é complexo o suficiente para definir a nós mesmos e ao mundo ao nosso redor. E isso traz a possibilidade de criar um sistema orientado para a linguagem com habilidades de raciocínio e consciência semelhantes às humanas ou mesmo superiores a esse nível. Acabamos de arranhar a superfície desse verdadeiro raciocínio há cerca de meio ano. Imagine onde estamos e o que se seguirá .
Se por algum motivo você não estiver familiarizado com Tim Urban, o autor do blog waitbutwhy , leia sua postagem no AGI , datada de 2015 - confira como isso parecia no passado, apenas 7 anos atrás, quando NÃO havia LLMs por perto e nenhum Transformer modelos também. Vou citar algumas linhas de seu post aqui, só para lembrar onde estávamos há 7 anos.
Fazer uma IA capaz de vencer qualquer humano no xadrez? Feito. Fazer um que possa ler um parágrafo do livro ilustrado de uma criança de seis anos e não apenas reconhecer as palavras, mas entender o significado delas? Atualmente, o Google está gastando bilhões de dólares tentando fazer isso.
Mas depois de atingirmos o AGI, as coisas começariam a se mover em um ritmo muito mais rápido, ele promete. Isso se deve à lei dos retornos acelerados formulada por Ray Kurzweil:
Ray Kurzweil chama de Lei dos Retornos Acelerados da história humana. Isso acontece porque as sociedades mais avançadas têm a capacidade de progredir em um ritmo mais rápido do que as sociedades menos avançadas – porque são mais avançadas.
Aplicando essa lei aos LLMs atuais, é fácil ir além e dizer que a capacidade de aprender e raciocinar sobre todos os dados salvos na Internet traria essa memória sobre-humana ao raciocínio de nível humano e logo as pessoas mais inteligentes seriam superadas pelo máquina da mesma forma que o campeão de xadrez Kasparov foi derrotado pelo computador Deep Blue em 1997.
Isso nos levaria à Super Inteligência Artificial (ASI), mas ainda não sabemos como ela se parece. Talvez precisássemos de outro loop de feedback para treiná-lo, pois o aprendizado de feedback humano GPT-4 fornece apenas raciocínio em nível humano. É altamente possível que os melhores modelos ensinem os mais fracos e isso seria um processo iterativo. **Apenas especulando - veremos.
O que Tim realmente descreve na segunda parte de seu post sobre AGI é que, devido a essa lei de retornos acelerados, podemos nem perceber o ponto em que nossos sistemas superam o AGI e que as coisas estariam um pouco fora de nossa compreensão.
Por enquanto, apenas uma pequena porcentagem de pessoas que trabalham com tecnologia entendem o ritmo real do progresso e o potencial surpreendente que o ajuste de LLMs baseado em instrução traz. Geoffrey Hinton é um deles, falando publicamente sobre riscos como pressão do mercado de trabalho, produção de conteúdo falso e uso malicioso. O que acho ainda mais importante é que ele aponta que os sistemas atuais capazes de aprender habilidades complexas de tiro zero podem ter um algoritmo de aprendizado melhor do que os humanos .
A preocupação com os LLMs modernos vem do fato de que, embora forneçam uma enorme alavancagem em muitas tarefas, as habilidades para trabalhar com esses modelos - pré-treinar, ajustar, fazer solicitações significativas ou incorporá-los em produtos digitais - é obviamente desiguais na sociedade, tanto em termos de custos de treinamento/uso quanto de habilidades. Algumas pessoas do twitter ou da comunidade huggingface argumentariam que agora temos LLMs de código aberto bastante capazes como uma alternativa à hegemonia do OpenAI, mas ainda assim, eles estão seguindo a tendência e são menos poderosos, além de exigirem certas habilidades para lidar. E embora os modelos OpenAI sejam um sucesso, a Microsoft e o Google investiriam ainda mais nessa pesquisa, para tentar detê-los. Oh, Meta também, se eles finalmente deixarem o Metaverso ir.
Uma das habilidades mais exigidas hoje em dia é escrever código – a engenharia de software dominou o cenário tecnológico e os salários nos últimos 20 anos. Com o estado atual dos co-pilotos de codificação, parece que um bom pedaço do código clichê logo seria gerado ou obtido e adaptado com eficiência, o que teria a mesma aparência para um usuário, economizando muito tempo dos desenvolvedores e talvez levando algum oportunidades de trabalho fora do mercado.
Há outra ideia naquele post muito bom sobre AGI e, além disso, parece que a AGI seria capaz de autoaperfeiçoamento autônomo . Por enquanto, os LLMs vanilla ainda não são agentes autônomos e de forma alguma incorporam qualquer força de vontade - as duas ideias que assustam as pessoas. Apenas no caso de. Não confunda o processo de treinamento do modelo envolvendo aprendizado por reforço com feedback humano, onde o algoritmo RL usado é Proximal Policy Optimization do OpenAI, com o modelo final sendo apenas uma parte do Decoder das sequências de token de previsão do Transformer.
Provavelmente você notou que alguns artigos que citei foram lançados na semana passada — tenho certeza que as semanas seguintes trariam novos lançamentos e ideias que eu gostaria de ter abordado neste post, mas esse é o sinal da hora.
Parece que estamos entrando rapidamente na nova era do software e demos alguns passos em direção ao ponto de singularidade , pois as inovações na indústria de aprendizado de máquina já estão acontecendo em um ritmo sem precedentes - como várias por mês, enquanto no ano passado vimos apenas alguns grandes lançamentos. Aproveite o passeio!
PS A próxima explosão seria quando Musk nos conectasse aos LLMs por meio do Neuralink.
PPS . Nem uma única chamada da API OpenAI foi feita para escrever este texto. Eu aposto.