AI

科学計算AIに高精度の道具と独立照合を組み込むBootLoops

この記事のポイント

  1. 実現したこと

    科学計算用の実行基盤BootLoopsは、利用するLLMを限定せず、計算ツールをAIエージェントへ提供する。

  2. 実現の仕組み

    物理的制約で絞った解の候補に高精度の数値計算を組み合わせ、残る係数を厳密に決める。

  3. 得られた結果

    開発者のSchwartzは、Claudeが自身の論文の結果を約20分で再現したと報告している。

  4. 従来との違い

    異なる言語のコードや未実装の論文に分散していた散乱振幅の計算手法を、Claudeが共通基盤へ移植・実装した。

候補となる散乱曲線が物理的制約で絞られ、誤差半径を伴う計算点と、独立した2つの計算経路による照合へつながる概念図。
AI生成画像

科学計算用のAI実行基盤BootLoopsは、高精度な計算ツールに結果の検証手順を組み合わせる。分散していた手法をLLMが使える共通基盤へ移し、係数の決定、誤差の追跡、独立した計算経路による照合を接続した。

分散していた計算手法をLLMが使う道具へ移す

物理学者のMatthew Schwartzは、AnthropicのAIモデルClaudeとの反復的な開発を通じて、科学計算ソフトウェアと作業手順を組み合わせたBootLoopsを構築した。出発点は散乱振幅の計算で、異なるプログラミング言語のコードや、コードを伴わない論文に分散していた手法を、共通基盤へ移植・実装する作業をClaudeに行わせた。

この実行基盤の公開版BootLoops 1.0は、利用するLLMを限定しない。各計算ツールには用途、出力の意味、結果が満たすべき検証条件が記載されており、エージェントが道具を選ぶための情報と、答えを受け入れるための条件が一緒に与えられる。

物理的制約と高精度計算で係数を決める

計算手法の一つであるS-matrix bootstrapは、散乱振幅の特異点や対称性などの物理的制約を使い、解の候補を絞り込む。その制約だけでは答えを一つに決められない場合、半数値的なbootstrapが少数の点での高精度な数値計算を加え、候補が十分に少なければ残る係数を厳密に決定する。

Schwartzによると、Claudeは移植・実装の作業で、自身の論文の結果を約20分で再現した。Schwartz自身が再現用コードを作成した際には数週間を要しており、この比較は結果の再現とコード作成にそれぞれ費やした時間を示している。

誤差半径を計算の各段階へ引き継ぐ

高精度な値を扱う道具として、BootLoopsはBall arithmeticを備える。これは計算値に保証された誤差半径を付けて扱う方式で、その半径を各段階へ引き継ぎ、丸めや計算の打ち切りによる誤差を追跡する。

計算方法の選択でも、誤差の扱いを区別する。問題が許す場合には、保証された誤差上限を伴う数値積分や漸化式を使い、サンプリングが必要な場合には統計的な誤差として明示する。

当てはめに使わない点で独立した計算と照合する

計算結果を受け入れる手順では、係数の当てはめに使わなかった点を検査に回す。BootLoopsの作業手順は、その点で独立した計算経路との一致を確認するとともに、検査が誤りを実際に検出できることも確認するよう定めている。

実データを扱う前には、既知の答えを回収できるかを対照試験で確かめる。計算の来歴も管理し、当てはめに入力を供給した計算を、その結果を認証する根拠として使わないようにする。