科学計算用の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の作業手順は、その点で独立した計算経路との一致を確認するとともに、検査が誤りを実際に検出できることも確認するよう定めている。
実データを扱う前には、既知の答えを回収できるかを対照試験で確かめる。計算の来歴も管理し、当てはめに入力を供給した計算を、その結果を認証する根拠として使わないようにする。