Imagine todas as coisas ao seu redor – seus amigos, ferramentas na sua cozinha ou até mesmo as peças da sua bicicleta. Eles estão todos conectados de maneiras diferentes.
Na ciência da computação, o termo gráfico é usado para descrever conexões entre objetos. Os gráficos consistem em nós (os próprios objetos) e arestas (conexões entre dois nós, indicando um relacionamento entre eles). Os gráficos estão por toda parte agora. A própria Internet é um gráfico gigante de sites interligados. Até mesmo o conhecimento que os mecanismos de busca usam é organizado em forma de gráfico.
Além disso, consideremos os notáveis avanços na inteligência artificial – como chatbots que podem escrever histórias em segundos e até software que pode interpretar relatórios médicos. Este progresso emocionante deve-se em grande parte aos grandes modelos de linguagem (LLMs). A nova tecnologia LLM está em constante desenvolvimento para diferentes usos.
Como os gráficos estão por toda parte e a tecnologia LLM está em ascensão, em “ Talk like a Graph: Encoding Graphs for Large Language Models ”, apresentado no ICLR 2024 , apresentamos uma maneira de ensinar LLMs poderosos como raciocinar melhor com informações gráficas. Os gráficos são uma forma útil de organizar informações, mas os LLMs são treinados principalmente em texto normal.
Junto com a equipe de Machine Learning do Hurb.com testamos diferentes técnicas para ver o que funciona melhor e obter insights práticos. Traduzir gráficos em texto que os LLMs possam entender é uma tarefa extremamente complexa. A dificuldade decorre da complexidade inerente às estruturas gráficas com múltiplos nós e da intrincada rede de arestas que os conecta. Nosso trabalho estuda como pegar um gráfico e traduzi-lo em um formato que um LLM possa entender.
Também com o hurb.com projetamos um benchmark chamado GraphQA para estudar diferentes abordagens em diferentes problemas de raciocínio de grafos e mostrar como formular um problema relacionado a grafos de uma forma que permita ao LLM resolver o problema de grafos. Mostramos que o desempenho do LLM em tarefas de raciocínio gráfico varia em três níveis fundamentais: 1) o método de codificação do gráfico, 2) a natureza da tarefa gráfica em si e 3) curiosamente, a própria estrutura do gráfico considerada. Essas descobertas nos dão pistas sobre como representar melhor os gráficos para LLMs. Escolher o método certo pode tornar o LLM até 60% melhor em tarefas gráficas!
Na foto, o processo de codificação de um gráfico como texto usando duas abordagens diferentes e alimentando o texto e uma pergunta sobre o gráfico para o LLM. |
Gráficos como texto
Para poder descobrir sistematicamente qual é a melhor maneira de traduzir um gráfico em texto, primeiro projetamos um benchmark chamado GraphQA . Pense no GraphQA como um exame projetado para avaliar LLMs poderosos em problemas específicos de gráficos. Queremos ver quão bem os LLMs podem compreender e resolver problemas que envolvem gráficos em diferentes configurações.
Para criar um exame abrangente e realista para LLMs, não usamos apenas um tipo de gráfico, usamos uma mistura de gráficos garantindo amplitude no número de conexões. Isso ocorre principalmente porque diferentes tipos de gráficos tornam a solução de tais problemas mais fácil ou mais difícil. Dessa forma, o GraphQA pode ajudar a expor preconceitos na forma como um LLM pensa sobre os gráficos, e todo o exame se aproxima de uma configuração realista que os LLMs podem encontrar no mundo real.
Visão geral de nossa estrutura para raciocínio com gráficos usando LLMs. |
GraphQA se concentra em tarefas simples relacionadas a gráficos, como verificar se existe uma aresta, calcular o número de nós ou arestas, encontrar nós que estão conectados a um nó específico e verificar ciclos em um gráfico. Essas tarefas podem parecer básicas, mas exigem a compreensão das relações entre nós e arestas. Ao cobrir diferentes tipos de desafios, desde a identificação de padrões até a criação de novas conexões, o GraphQA ajuda os modelos a aprender como analisar gráficos de forma eficaz.
Essas tarefas básicas são cruciais para raciocínios mais complexos em grafos, como encontrar o caminho mais curto entre nós, detectar comunidades ou identificar nós influentes. Além disso, GraphQA inclui a geração de gráficos aleatórios usando vários algoritmos como Erdős-Rényi , redes sem escala , modelo Barabasi-Albert e modelo de bloco estocástico , bem como estruturas gráficas mais simples, como caminhos, gráficos completos e gráficos em estrela, fornecendo um conjunto diversificado de dados para treinamento.
Ao trabalhar com gráficos, também precisamos encontrar maneiras de fazer perguntas relacionadas a gráficos que os LLMs possam entender. As heurísticas de solicitação são estratégias diferentes para fazer isso. Vamos analisar os mais comuns:
- Zero-shot : simplesmente descreva a tarefa (“Existe um ciclo neste gráfico?”) e diga ao LLM para prosseguir. Nenhum exemplo fornecido.
- Few-shot : É como dar ao LLM um mini teste prático antes do negócio real. Fornecemos alguns exemplos de perguntas sobre gráficos e suas respostas corretas.
- Cadeia de Pensamento : Aqui, mostramos ao LLM como analisar um problema passo a passo com exemplos. O objetivo é ensiná-lo a gerar seu próprio “processo de pensamento” diante de novos gráficos.
- Zero-CoT : Semelhante ao CoT, mas em vez de exemplos de treinamento, damos ao LLM um prompt simples, como “Vamos pensar passo a passo”, para acionar seu próprio detalhamento de resolução de problemas.
- BAG (construir um gráfico) : Isto é especificamente para tarefas gráficas. Adicionamos a frase “Vamos construir um gráfico…” à descrição, ajudando o LLM a se concentrar na estrutura do gráfico.
Exploramos diferentes maneiras de traduzir gráficos em texto com os quais os LLMs podem trabalhar. Nossas principais perguntas foram:
- Codificação de nós : como representamos nós individuais? As opções testadas incluem números inteiros simples , nomes comuns (pessoas, personagens) e letras.
- Codificação de borda : como descrevemos os relacionamentos entre os nós? Os métodos envolviam notação entre parênteses, frases como “são amigos” e representações simbólicas como setas.
Várias codificações de nós e bordas foram combinadas sistematicamente. Isso levou a funções como as da figura a seguir:
Exemplos de funções de codificação de gráficos usadas para codificar gráficos via texto. |
Análise e resultados
Realizamos três experimentos principais: um para testar como os LLMs lidam com tarefas gráficas e dois para entender como o tamanho do LLM e as diferentes formas do gráfico afetam o desempenho. Executamos todos os nossos experimentos no GraphQA.
Como os LLMs lidam com tarefas gráficas
Neste experimento, testamos até que ponto LLMs pré-treinados lidam bem com problemas de gráficos, como identificação de conexões, ciclos e graus de nós. Aqui está o que aprendemos:
- Luta dos LLMs: Na maioria dessas tarefas básicas, os LLMs não se saíram muito melhor do que uma suposição aleatória.
- A codificação é importante : a forma como representamos o gráfico como texto tem um grande efeito no desempenho do LLM. A codificação de “incidente” se destacou na maioria das tarefas em geral.
Nossos resultados estão resumidos no gráfico a seguir.
Maior é (geralmente) melhor
Neste experimento, queríamos ver se o tamanho do LLM (em termos do número de parâmetros) afeta o quão bem eles podem lidar com problemas gráficos. Para isso, testamos as mesmas tarefas gráficas nos tamanhos XXS, XS, S e L do PaLM 2 . Aqui está um resumo de nossas descobertas:
- Em geral, modelos maiores tiveram melhor desempenho em tarefas de raciocínio gráfico. Parece que os parâmetros extras deram-lhes espaço para aprender padrões mais complexos.
- Estranhamente, o tamanho não importava tanto para a tarefa de “existência de arestas” (descobrir se dois nós em um grafo estão conectados).
- Mesmo o maior LLM não conseguiu superar consistentemente uma solução simples de linha de base para o problema de verificação de ciclo (descobrir se um gráfico contém um ciclo ou não). Isso mostra que os LLMs ainda têm espaço para melhorar com certas tarefas gráficas.
Efeito da capacidade do modelo na tarefa de raciocínio gráfico para PaLM 2-XXS, XS, S e L. |
Diferentes formas de gráfico confundem LLMs
Nós nos perguntamos se o “formato” de um gráfico (como os nós estão conectados) influencia o quão bem os LLMs podem resolver problemas nele. Pense na figura a seguir como diferentes exemplos de formas de gráfico.
Amostras de gráficos gerados com diferentes geradores de gráficos do GraphQA. ER, BA, SBM e SFN referem-se a Erdős – Rényi , Barabási – Albert , Modelo de Bloco Estocástico e Rede Livre de Escala, respectivamente. |
Descobrimos que a estrutura do gráfico tem um grande impacto no desempenho do LLM. Por exemplo, em uma tarefa que pergunta se existe um ciclo, os LLMs tiveram um ótimo desempenho em gráficos fortemente interconectados (os ciclos são comuns lá), mas tiveram dificuldades em gráficos de caminho (onde os ciclos nunca acontecem). Curiosamente, fornecer alguns exemplos mistos ajudou na adaptação.
Por exemplo, para verificação de ciclo, adicionamos alguns exemplos contendo um ciclo e alguns exemplos sem ciclos como exemplos de poucos disparos em nosso prompt. Padrões semelhantes ocorreram com outras tarefas.
Comparando diferentes geradores de gráficos em diferentes tarefas gráficas. A principal observação aqui é que a estrutura gráfica tem um impacto significativo no desempenho do LLM. ER, BA, SBM e SFN referem-se a Erdős – Rényi , Barabási – Albert , Modelo de Bloco Estocástico e Rede Livre de Escala, respectivamente. |
Conclusão
Resumindo, investigamos profundamente a melhor forma de representar gráficos como texto para que os LLMs possam entendê-los. Encontramos três fatores principais que fazem a diferença:
- Como traduzir o gráfico em texto : a forma como representamos o gráfico como texto influencia significativamente o desempenho do LLM. A codificação de incidentes se destacou para a maioria das tarefas em geral.
- Tipo de tarefa : Certos tipos de questões gráficas tendem a ser mais difíceis para LLMs, mesmo com uma boa tradução do gráfico para o texto.
- Estrutura do gráfico : Surpreendentemente, o “formato” do gráfico no qual fazemos inferência (denso com conexões, esparso, etc.) influencia o desempenho de um LLM.
Este estudo revelou insights importantes sobre como preparar gráficos para LLMs. As técnicas de codificação corretas podem aumentar significativamente a precisão de um LLM em problemas gráficos (variando de cerca de 5% a mais de 60% de melhoria). Nosso novo benchmark, GraphQA, ajudará a impulsionar mais pesquisas nesta área.