ProofOfThought: Z3定理証明を用いたLLMベース推論
(github.com/DebarghaG)- ProofOfThought は 大規模言語モデル(LLM) と Z3定理証明器 を組み合わせ、強力でありながら 解釈可能な推論 を支援する
- このプロジェクトは 自然言語クエリ に対して 正確で信頼性の高い推論結果 を提供する
- 高水準のPython APIを通じて、開発者は 複雑な推論タスク を簡単に実装・実験できる
- Z3DSL によりJSONベースの低水準DSLへのアクセスも提供され、柔軟なカスタマイズが可能
- Sys2Reasoning Workshop NeurIPS 2024 掲載を通じて、最新研究成果の実用化の利点を示している
ProofOfThought オープンソースプロジェクト紹介
ProofOfThoughtは、大規模言語モデル(LLM)とZ3定理証明器を組み合わせた ニューロシンボリック(神経記号)プログラム合成方式 を採用するオープンソース推論ライブラリである。実世界の複雑な問題に対して 堅牢で解釈可能な推論結果 を提供する点が、実運用と研究の両面で重要な意義を持つ。
オープンソースの性質上、誰でも研究、サービス、開発などに自由に活用でき、既存の単純なLLMベース推論システムより 推論過程の検証とエラー解釈が容易 であるという利点がある。他の推論システムと比べて、自然言語入力 → 論理プログラムへの自動変換 → Z3ベース推論という構造的透明性が大きな特徴である。
システムアーキテクチャと主要構成
-
高水準API(z3dsl.reasoning) :
- 自然言語ベースの推論クエリを実行
- 初心者でも簡単に適用できるPythonインターフェースを提供
-
低水準DSL(z3dsl) :
- JSONベースでZ3定理証明器にアクセス可能
- 複雑なカスタマイズや自動化パイプライン構築に有利
主な機能例
-
LLMが入力されたクエリを論理式(シンボリックプログラム)に変換
-
Z3証明器を通じて真・偽(yes/no)または条件ベースの解釈結果を生成
-
例:
- クエリ: "Nancy Pelosiは中絶を公に非難するか?"
- 結果: False(いいえ)
-
評価パイプライン(EvaluationPipeline)を提供:
- 大規模データセットに対するバッチ評価が可能
- 精度などの自動レポート出力
適用・活用事例
- 研究目的の 推論ベンチマーク自動化
- LLMベースの知識グラフや高階論理問題の自動証明サービス
- 複雑な政策クエリ、自然言語討論の自動判定など、多様なAIサービスへの適用可能性を持つ
研究上の意義と特徴
- NeurIPS 2024のSys2Reasoningワークショップで発表
- 既存LLMの限界(推論の不確実性)を補完する シンボリック解釈ベースの信頼性
- 推論結果と根拠の透明性および解釈可能性は、実サービス開発において大きな強み
結論
ProofOfThoughtはLLMとZ3定理証明器の長所を組み合わせ、堅牢で解釈可能なAI推論インフラ を構築したい開発者や研究者に実質的な価値を提供する。プロジェクトのライセンスと構造はオープンソース生態系に適するよう設計されており、学術研究と産業活用の両面で魅力的である。
1件のコメント
Hacker Newsの意見
sympyパッケージを使ったと説明している。曖昧なLLMと厳密なツールの組み合わせが強力な効果を生む可能性があるという印象を共有しているsympyの組み合わせが本当に気に入っている。LLMにsympyコードを書かせれば、記号演算が正しく行われたことを信頼できる。コード自体が成果物として残るため、人間でもLLMでも段階的に修正・改善でき、git履歴などで管理も可能だ。テストや検証を通すことで数学的正確性への信頼も維持できる。sympyコードから簡単にlatexへ変換するヘルパー関数も使っている。最近のquantum eraser実験に関する数学作業もこの方法で進めている。githubリンク