
kotamaです。
今回はちょっと前に世間を賑わしてたThe AI Scientistについて語りたいと思います。このブログをみればいかにThe AI Scientistが素晴らしい(?)かを理解していただけると思います。
The AI Scientistとは?
The AI ScientistとはSakana AI社が出した自動研究フレームワークでアイディアの創出から論文執筆までLLM Agentがノンストップで行ってくれます。現在はより使いやすくなったThe AI Scientist v2がオープンソースにて公開されており、このような素晴らしいアプリが誰でも使用できるようになっています!!!このアプリを使用することで事前知識が無くても実際に論文が書けてしまうと言う画期的なフレームワークです(AI関連以外の研究はプログラムの至る所にテキストべた貼りされたプロンプトのせいで出来ませんが….)。以下にどのように実験が行われるかを機能別に詳しく解説していきます!

アイディア創出フェーズ
まずどのような領域の研究をしたいかを書いた.mdファイルを用意します。The AI Scientistはその領域の先行研究をSemantic API(無料)を用いてデータ収集し既存の研究でまだ行われていないアイディアとその実験方法、実験の限界や弱みを出力します。また、既に自分の出したアイディアと比較し新規性が歩かないかの判定を行いながら複数アイディアをだせます。
実験実行フェーズ
実験実行フェーズは図に示されるように次の四つから構成されます
各ノードにはプログラムが保存されており、バグの有無、精度の善し悪しを判断基準として木構造の探索が行われます。

1. 最小プロトタイプ作成フェーズ
実験の基本構造を形成する段階であり、最小限のコードを生成・実行し、エラーなく動作することを確認します(最小実装が出来ずに最大回数に到達すると結果のunpackingの時に引数の数が違うと言われてプログラムが停止します。どうなってんだ)。
生成された複数のノードのうち、エラーがなく性能が安定しているものを選択し、乱数を加えて数個検証した後、「親ノード」として次プロセスに渡します
2. ハイパーパラメータチューニングフェーズ
前フェーズのプロトタイプを基に、ハイパーパラメータを自動探索し、性能指標(例:精度、R²、RMSE)を最大化する設定を探索します。
AIは試行ごとに改善されたノードを記録し、最適なパラメータセットを抽出し次プロセスに渡します。
3. アイディア実装フェーズ
モデル構造やアルゴリズムの改良を中心に、実験の中核部分を拡張・改善します。
生成モデル(LLM)がコード・実験設計・可視化スクリプトを統合的に生成し、最も有望なバリエーションを探索します。この段階で検証可能なdatasetをhugging faceから取得しモデルの精度を検証可能な形で記録します(hugging face以外からデータをとってきたりローカルのデータを使用することはハードコーディングされたプロンプトが邪魔しまくるので出来ません。プロンプトは分離しておいといて欲しい…)。
4. 不要要素削除フェーズ
過学習を防ぐため、不要なハイパーパラメータ・補助関数・ログ処理を削除し、実験の再現性と効率性を高める最終段階です。
この段階で得られた最適ノードが最終実験結果および論文作成プロセスに引き継がれ最終的にjson形式で保存されます(尚このフェーズでうまくいくと第Ⅱラウンドが開始されるのですが、この第二ラウンドが開始されると最後の関数の返り値の個数が想定より多くなりフェーズ終了時にプログラムが強制終了します。うまくいきすぎると止まるってどういうことだ…..)。
論文執筆フェーズ
このフェーズではできあがった実験レポートから論文用の画像と論文を生成します。論文はLLMによってペアレビューされ十分な水準になるまで書き直しを繰り返します。基本はicbnb形式の4page以内の論文を生成しますが、normalオプションを付けると普通の形式の論文が8page以内で出力されます(なおnormalオプションをつけると、論文執筆用の関数の引数の個数が足りずに即座にクラッシュします。これの修正パッチをpull requestで僕が出したのに3ヶ月以上音沙汰有りません。はやくマージしてくれ。あと元論文にあった11pageの論文はどうやって出したか誰か教えて欲しい。)。
なんと素晴らしいフレームワークだろう
確かに、小さな問題はたくさんあるものの、AIが勝手に実験をしてくれるのは非常に画期的である。
え、その小さな問題を解決してる本当に素晴らしいリポジトリがあるんですか!?!?!?
そんなレポジトリとりこそ
https://github.com/kotama7/AI-Scientist-v2-HPC
です!!!!
このリポジトリでは、
python以外にもcppも実行可能
プロンプトが機能毎に分離されていて変更が容易
PCの内部情報などを考慮した実験が可能
中立的な観点から言わせていただくと
スターを付けるべきリポジトリだと思います。
みなさんスターを付けてくれるとありがたいです。


