ProofOfThought: raciocínio baseado em LLM com provas de teoremas do Z3
(github.com/DebarghaG)- ProofOfThought combina modelos de linguagem de grande porte (LLMs) com o provador de teoremas Z3 para oferecer um raciocínio poderoso e interpretável
- Este projeto fornece resultados de raciocínio precisos e confiáveis para consultas em linguagem natural
- Por meio de uma API Python de alto nível, desenvolvedores podem implementar e testar com facilidade tarefas complexas de raciocínio
- Com o Z3DSL, também oferece acesso a uma DSL de baixo nível baseada em JSON, permitindo customização flexível
- Sua publicação no Sys2Reasoning Workshop NeurIPS 2024 demonstra as vantagens práticas da aplicação de pesquisas recentes
Introdução ao projeto open source ProofOfThought
ProofOfThought é uma biblioteca open source de raciocínio que adota uma abordagem de síntese de programas neuro-simbólica ao combinar modelos de linguagem de grande porte (LLMs) com o provador de teoremas Z3. Seu valor é importante tanto para uso prático quanto para pesquisa por fornecer resultados de raciocínio robustos e interpretáveis para problemas complexos do mundo real.
Por ser open source, qualquer pessoa pode utilizá-lo livremente em pesquisa, serviços e desenvolvimento, e ele tem a vantagem de tornar mais fácil validar o processo de raciocínio e interpretar erros em comparação com sistemas de raciocínio baseados apenas em LLM. Em relação a outros sistemas, sua grande característica é a transparência estrutural de linguagem natural de entrada → conversão automática para programa lógico → raciocínio baseado em Z3.
Arquitetura do sistema e principais componentes
-
API de alto nível (
z3dsl.reasoning) :- Execução de consultas de raciocínio baseadas em linguagem natural
- Fornece uma interface Python fácil de aplicar até para iniciantes
-
DSL de baixo nível (
z3dsl) :- Permite acesso ao provador de teoremas Z3 com base em JSON
- Vantajosa para customizações complexas e construção de pipelines automatizados
Exemplos de principais funcionalidades
-
O LLM converte a consulta recebida em uma fórmula lógica (programa simbólico)
-
Por meio do provador Z3, gera resultados verdadeiro/falso (
yes/no) ou interpretações baseadas em condições -
Exemplo:
- Consulta: "Nancy Pelosi condenaria publicamente o aborto?"
- Resultado: False (não)
-
Fornece um pipeline de avaliação (
EvaluationPipeline):- Permite avaliação em lote sobre grandes conjuntos de dados
- Geração automática de relatórios, incluindo acurácia
Aplicações e casos de uso
- Automação de benchmarks de raciocínio para fins de pesquisa
- Serviços de prova automática para grafos de conhecimento baseados em LLM ou problemas de lógica de ordem superior
- Potencial para aplicação em diversos serviços de IA, como consultas complexas de políticas públicas e classificação automática de debates em linguagem natural
Significado acadêmico e características
- Apresentado no workshop Sys2Reasoning da NeurIPS 2024
- Confiabilidade baseada em interpretação simbólica para complementar as limitações existentes dos LLMs (incerteza no raciocínio)
- A transparência dos resultados e dos fundamentos do raciocínio é um grande diferencial para o desenvolvimento de serviços reais
Conclusão
ProofOfThought combina os pontos fortes dos LLMs e do provador de teoremas Z3 para oferecer valor prático a desenvolvedores e pesquisadores que desejam construir uma infraestrutura de raciocínio em IA robusta e interpretável. A licença e a estrutura do projeto foram desenhadas para se adequar ao ecossistema open source, tornando-o atraente tanto para pesquisa acadêmica quanto para uso industrial.
1 comentários
Opiniões no Hacker News
sympydo Python. Compartilha a impressão de que a combinação entre um LLM ambíguo e ferramentas rígidas pode gerar um efeito poderososympypara matemática. Se o LLM escrever o código emsympy, dá para confiar que a manipulação simbólica foi feita corretamente. O próprio código permanece como artefato, podendo ser corrigido e melhorado de forma incremental por humanos ou por LLMs, além de poder ser gerenciado com histórico do git etc. A confiança na exatidão matemática é mantida por meio de testes e validações. Também usa funções auxiliares para converter facilmente de códigosympypara LaTeX. Trabalhos matemáticos recentes relacionados ao experimento de quantum eraser também foram feitos dessa forma. link do github