O ChatGPT pode prever o futuro? Treinando IA para descobrir o que acontece em seguida

O ChatGPT pode prever o futuro? Treinando Inteligência Artificial para descobrir antecipadamente o que ocorrerá em seguida

nyu-2023-llmtime-predicting-time-series-diagram

O programa LLMtime da NYU encontra o próximo evento provável em uma sequência de eventos, representados em sequências de dígitos numéricos.

Os programas de inteligência artificial generativa de hoje em dia, como o ChatGPT, estão no caminho de produzir muitos outros tipos de resultados além de texto, como a ENBLE explorou em profundidade.

Uma das “modalidades” mais importantes é o que chamamos de dados de séries temporais – dados que medem as mesmas variáveis em diferentes pontos no tempo para identificar tendências. Dados em formato de séries temporais podem ser importantes para coisas como rastrear o histórico médico do paciente ao longo do tempo com as anotações feitas pelo médico em uma tabela. Fazer o que chamamos de previsão de séries temporais significa pegar os dados históricos e prever o que vai acontecer a seguir; por exemplo: “Este paciente vai melhorar?”

Também: O ChatGPT parece estar confuso sobre quando seu conhecimento acaba

Abordagens tradicionais para dados de séries temporais envolvem software especialmente projetado para esse tipo de dado. Mas agora, a IA generativa está adquirindo uma nova habilidade para lidar com dados de séries temporais da mesma forma que lida com perguntas de redação, geração de imagens, codificação de software e várias outras tarefas em que o ChatGPT e programas similares têm se destacado.

Em um novo estudo publicado neste mês por Nate Gruver da Universidade de Nova York e colegas da NYU e Carnegie Mellon, o programa GPT-3 da OpenAI é treinado para prever o próximo evento em uma série temporal, semelhante a prever a próxima palavra em uma frase.

“Como os modelos de linguagem são construídos para representar distribuições de probabilidade complexas em sequências, eles são teoricamente adequados para modelagem de séries temporais”, escrevem Gruver e sua equipe em seu artigo, “Large Language Models Are Zero-Shot Time Series Forecasters”, publicado no servidor de pré-impressão arXiv. “Dados de séries temporais normalmente têm o mesmo formato que dados de modelagem de linguagem, como uma coleção de sequências.”

O programa que eles criaram, LLMTime, é “extremamente simples”, escrevem Gruver e sua equipe, e capaz de “superar ou igualar métodos específicos para séries temporais em uma variedade de problemas diferentes, de maneira zero-shot, ou seja, o LLMTime pode ser usado sem nenhum ajuste fino nos dados usados por outros modelos.”

Também: A IA generativa vai superar em muito o que o ChatGPT pode fazer. Aqui está tudo sobre como essa tecnologia evolui

A chave para construir o LLMTime foi para Gruver e sua equipe repensarem o que é chamado de “tokenização”, a forma como um grande modelo de linguagem representa os dados com os quais está trabalhando.

Programas como o GPT-3 têm uma maneira específica de inserir palavras e caracteres, dividindo-os em pedaços que podem ser ingeridos um de cada vez. Dados de séries temporais são representados como sequências de números, como “123”; a série temporal é apenas o padrão em que essas sequências ocorrem.

Dado isso, a tokenização do GPT-3 é problemática porque muitas vezes divide essas sequências em agrupamentos estranhos. “Por exemplo, o número 42235630 é tokenizado como [422, 35, 630] pelo tokenizador do GPT-3, e mudanças mesmo em um único dígito podem resultar em uma tokenização totalmente diferente”, relatam Gruver e sua equipe. 

Para evitar esses agrupamentos desconfortáveis, Gruver e sua equipe desenvolveram um código para inserir espaços em branco ao redor de cada dígito de uma sequência numérica, de modo que cada dígito seja codificado separadamente.

Também: 3 maneiras pelas quais a IA está revolucionando a forma como as organizações de saúde atendem aos pacientes. LLMs como o ChatGPT podem ajudar?

Então eles começaram a treinar o GPT-3 para prever a próxima sequência numérica em exemplos do mundo real de séries temporais.

Qualquer série temporal é uma sequência de eventos que ocorrem um após o outro, como por exemplo: “O cachorro pulou do sofá e correu até a porta”, onde há um evento e depois outro. Um exemplo de um conjunto de dados reais sobre os quais as pessoas desejam fazer previsões seria prever saques em caixas eletrônicos com base em saques históricos. Um banco teria muito interesse em prever coisas assim.

Fazer a previsão de saques em caixas eletrônicos é, na verdade, um dos desafios de uma competição de séries temporais em tempo real, como a Competição de Previsão com Redes Neurais Artificiais e Inteligência Computacional, organizada pela Universidade de Lancaster, no Reino Unido. Esse conjunto de dados consiste simplesmente em sequências de números, neste formato:

T1: 1996-03-18 00-00-00 : 13.4070294784581, 14.7250566893424, etc.

A primeira parte é obviamente a data e a hora marcadas por “T1”, representando o primeiro momento no tempo, e o que segue são os valores (separados por pontos, não por vírgulas, como no caso da notação europeia). O desafio para uma rede neural é prever, dadas milhares ou até mesmo milhões de desses valores, o que acontecerá no próximo momento no tempo após o último exemplo da sequência – quanto será sacado pelos clientes amanhã.

Também: Essa nova tecnologia pode superar o GPT-4 e tudo o que existe parecido com ele

Os autores afirmam que “o LLMTime não só é capaz de gerar completamentos plausíveis de séries temporais reais e sintéticas, ele alcança maior probabilidade […] na avaliação zero-shot do que os modelos dedicados a séries temporais […]” que foram criados décadas atrás.

O programa LLMtime encontra onde um número está em uma distribuição, um padrão distinto de recorrência de números, para concluir se uma sequência representa um dos padrões comuns, como “exponencial” ou “gaussiano”.

No entanto, uma das limitações dos modelos de linguagem grandes, conforme apontado por Gruver e sua equipe, é que eles só podem processar uma quantidade limitada de dados por vez, conhecida como “janela de contexto”. Para lidar com séries temporais cada vez maiores, os programas precisarão expandir essa janela de contexto para um número maior de tokens. Isso é um projeto que está sendo explorado por várias partes, como a equipe Hyena da Universidade de Stanford e o Instituto MILA de IA do Canadá e a Microsoft, entre outros.

Também: Microsoft e TikTok dão à IA generativa uma espécie de memória

A pergunta óbvia é por que um modelo de linguagem grande seria bom em prever números. Conforme os autores observam, para qualquer sequência de números, como os saques em caixas eletrônicos, existem “inúmeras regras de geração que são consistentes com a entrada”. Tradução: Existem tantos motivos pelos quais essas sequências particulares de números podem aparecer, que seria difícil adivinhar qual é a regra subjacente que as explica.

A resposta é que o GPT-3 e os modelos semelhantes encontram as regras mais simples entre todas as regras possíveis. “Os LLMs podem prever de forma eficaz porque preferem completamentos derivados de regras simples, adotando uma forma do princípio da parcimônia”, escrevem Gruver e sua equipe, referindo-se ao princípio da parcimônia.

Às vezes, o programa GPT-4 se desvia quando tenta raciocinar sobre o padrão de uma série temporal, mostrando que ele não “entende” a série temporal no sentido tradicional.

Isso não significa que o GPT-3 realmente entende o que está acontecendo. Em um segundo experimento, Gruver e sua equipe submeteram ao GPT-4 (o sucessor mais poderoso do GPT-3) um novo conjunto de dados que eles inventaram usando uma função matemática específica. Eles pediram ao GPT-4 para deduzir a função matemática que produziu a série temporal, para responder à pergunta “se o GPT-4 consegue explicar em texto sua compreensão de uma determinada série temporal”, escreve Gruver e sua equipe.

Descobriram que o GPT-4 foi capaz de adivinhar a função matemática melhor do que a chance aleatória, mas produziu algumas explicações que estavam incorretas. “O modelo às vezes faz deduções incorretas sobre o comportamento dos dados que ele viu, ou o comportamento esperado das funções candidatas.” Ou seja, mesmo quando um programa como o GPT-4 consegue prever bem a próxima coisa em uma série temporal, suas explicações acabam sendo “alucinações”, tendência a oferecer respostas incorretas.

Também: Implementando IA na engenharia de software? Aqui está tudo que você precisa saber

Gruver e sua equipe estão entusiasmados com a forma como as séries temporais se encaixam em um futuro multimodal para a IA generativa. “Enquadrar a previsão de séries temporais como geração de linguagem natural pode ser visto como mais um passo em direção à unificação de mais capacidades em um único modelo grande e poderoso, no qual a compreensão pode ser compartilhada entre muitas tarefas e modalidades”, eles escrevem em sua seção conclusiva.

O código para LLMTime está postado no GitHub.