DeepAnalyze: AIがデータサイエンティストになる日 - 自律的なデータ分析を実現する大規模言語モデル

データ収集から分析レポート作成まで、すべてを自動で行うAIデータサイエンティスト「DeepAnalyze」を解説。従来のワークフロー型エージェントを超える、カリキュラムベースの学習手法とは?

データサイエンスの仕事って、実はすごく大変なんです。データを集めて、クリーニングして、分析して、可視化して、レポートを書いて...この一連の流れを全部自動でやってくれるAIがあったら最高ですよね?

今回紹介するDeepAnalyzeは、まさにそんな「AIデータサイエンティスト」を実現した研究です。中国の人民大学と清華大学の研究チームが開発したこのモデルは、わずか80億パラメータで、データ分析の全工程を自律的にこなします。

論文: DeepAnalyze: Agentic Large Language Models for Autonomous Data Science

著者
著者: Sera
大学院でAI作曲に関して研究中!
来春からデータサイエンティストとして働く予定の技術オタク。
初心者
登場人物: あかり
流行りのAIやWeb技術に興味津々!
『知りたい』気持ちで質問を止められない、好奇心旺盛な学生。
normalの表情
初心者

AIがデータサイエンティストになるって、どういうこと?ChatGPTにデータ分析を頼むのとは違うの?

専門家

いい質問だね!ChatGPTは人間が指示を出す必要があるけど、DeepAnalyzeは自律的(autonomous)に動くんだ。つまり、「このデータを分析して」と頼むだけで、あとは勝手にデータを読み込んで、必要な処理を考えて、コードを書いて実行して、最終的にレポートまで作ってくれる。

surprisedの表情
初心者

え!?全部自動でやってくれるの!?それってすごくない?

専門家

そう、それがすごいところなんだ。しかもこのモデル、完全にオープンソースで公開されてる。モデル本体も、学習用のコードも、50万件の学習データセットも全部ダウンロードできるんだよ。

なぜ自律的なデータ分析AIが必要なのか

confusedの表情
初心者

でも、今でもデータ分析用のAIツールってたくさんあるよね?何が問題なの?

専門家

実は、従来のアプローチには大きく分けて2つの問題があったんだ。

従来手法の課題

1. ドメイン特化型LLMの限界

専門家

1つ目は、ドメイン特化型LLMって呼ばれるアプローチ。これは、データ分析に特化したモデルを作る方法なんだけど...

confusedの表情
初心者

特化型なら良さそうじゃない?何がダメなの?

専門家

特化型モデルは、確かにデータの理解やコード生成は得意なんだ。でも、環境とのインタラクションができないんだよ。

confusedの表情
初心者

環境とのインタラクションって何?

専門家

例えば、データを読み込んで分析してみたら、エラーが出たとするよね。人間なら「あ、このカラムにNULL値があるからエラーが出たんだな。じゃあ先にクリーニングしよう」って考えて、次の行動を変えるでしょ?でも特化型モデルは、そういう試行錯誤ができないんだ。

happyの表情
初心者

あー!人間みたいに「やってみて、ダメだったら方針を変える」ってことができないんだね

2. ワークフロー型エージェントの問題

専門家

2つ目のアプローチがワークフロー型エージェント。これは、GPT-4みたいな強力なモデルに、決まった手順(ワークフロー)を実行させる方法なんだ。

normalの表情
初心者

手順が決まってるなら、確実に動きそうだけど?

専門家

そう、簡単なタスクならうまくいくんだ。でも、複雑なデータ研究になると途端に問題が出てくる。なぜなら、ワークフローが固定されてるから、柔軟な対応ができないんだよ。

confusedの表情
初心者

固定されてると何がまずいの?

専門家

例えば、「顧客の購買パターンを分析して、来月の売上を予測して」みたいな複雑なタスクがあったとしよう。これって、データを見てみないと、どんな分析が必要かわからないよね?クラスタリングが必要かもしれないし、時系列分析が必要かもしれない。でもワークフローが固定されてると、そういうオープンエンドな問題に対応できないんだ。

surprisedの表情
初心者

オープンエンド...つまり、答えが一つじゃない問題ってこと?

専門家

そうそう!しかも、ワークフロー型は報酬がスパースなのも問題なんだ。

confusedの表情
初心者

報酬がスパース...?急に難しくなった

専門家

ごめんごめん。簡単に言うと、AIが学習するときは「これは正解」「これは不正解」っていうフィードバック(報酬)が必要なんだけど、データ分析みたいな複雑なタスクだと、最後までやり遂げないと正解かどうかわからないんだ。途中のステップが良かったのか悪かったのか、判断しづらいってことだね。

sadの表情
初心者

なるほど...AIが学習しにくいんだ

DeepAnalyzeのアプローチ

専門家

じゃあ、DeepAnalyzeはこれらの問題をどう解決したのか、見ていこう!

5つの基本アクション

専門家

DeepAnalyzeは、データサイエンティストが普段やっている作業を、5つの基本アクションに分解したんだ。

normalの表情
初心者

5つ?どんなアクション?

専門家
  1. Analyze(分析): 現状を分析して、次に何をすべきか考える
  2. Understand(理解): データの中身を確認する
  3. Code(コード生成): 必要な処理のコードを書く
  4. Execute(実行): コードを実行して結果を見る
  5. Answer(回答): 最終的な答えをまとめる

この5つを組み合わせることで、どんな複雑なデータ分析タスクにも対応できるようにしたんだ。

happyの表情
初心者

シンプル!これなら柔軟に対応できそうだね

カリキュラムベースのエージェント学習

専門家

でも、いきなりこの5つのアクションを全部組み合わせて使えるようになるのは難しい。だからDeepAnalyzeは、カリキュラムベースの学習という方法を使ったんだ。

confusedの表情
初心者

カリキュラムベース...学校の授業みたいな感じ?

専門家

まさにその通り!人間のデータサイエンティストも、いきなり複雑なプロジェクトはできないよね。最初は基礎から学んで、徐々に難しいことに挑戦していく。DeepAnalyzeもそれと同じ方法で学習するんだ。

excitedの表情
初心者

面白い!具体的にはどうやるの?

専門家

2段階で学習するんだ。

Stage 1: 個別能力のファインチューニング 最初は、5つのアクションのうち、それぞれを個別に練習する。まず「推論」を学んで、次に「データ理解」を学んで、最後に「コード生成」を学ぶ。一つずつマスターしていくイメージだね。

Stage 2: マルチアビリティ学習 個別の能力が身についたら、今度はそれらを組み合わせて使う練習をする。ここでは強化学習を使って、「どのアクションをどの順番で使えば最適か」を学ぶんだ。

surprisedの表情
初心者

強化学習!ゲームAIとかで使われるやつ?

専門家

そう!報酬をもらいながら試行錯誤して、最適な行動を学んでいく。データ分析でも同じ方法が使えるんだよ。

データ生成の工夫

normalの表情
初心者

でも、AIを学習させるには大量のデータが必要だよね?どうやって集めたの?

専門家

すごくいい質問!実は、これもDeepAnalyzeの重要なポイントなんだ。データグラウンデッド・トラジェクトリ合成という方法を開発したんだよ。

confusedの表情
初心者

トラジェクトリ...何それ?

専門家

トラジェクトリ(trajectory)は、AIがタスクを解決するための一連の行動の履歴のことだよ。例えば、「データを読む → 欠損値をチェック → クリーニングのコードを書く → 実行する」みたいな流れのことだね。

happyの表情
初心者

あ、なるほど!行動の記録ってことね

2種類のトラジェクトリ合成

専門家

DeepAnalyzeは、2種類のトラジェクトリを自動生成する仕組みを作ったんだ。

1. 推論トラジェクトリ合成

専門家

1つ目は推論トラジェクトリ合成。既存のデータセットに、より詳細な思考過程を追加する方法なんだ。

confusedの表情
初心者

思考過程を追加...?

専門家

例えば、「データを分析して結果を出す」だけだと、なぜそう考えたのかわからないでしょ?だから、「まず全体の傾向を見て、次に異常値をチェックして、だからこの手法を選んだ」みたいな、考える過程を明示的に書き加えるんだ。これによって、AIも「考え方」を学べるようになる。

happyの表情
初心者

単なる答えじゃなくて、解き方を教えるってことだね!

2. インタラクショントラジェクトリ合成

専門家

2つ目はインタラクショントラジェクトリ合成。これは、AIが環境とやり取りしながら問題を解く、複数ターンの対話データを自動生成する方法なんだ。

confusedの表情
初心者

複数ターン...?

専門家

実際のデータ分析って、一発で終わらないよね。コードを実行してエラーが出たら修正して、もう一度実行して、みたいに何度もやり取りするでしょ?そういう試行錯誤のプロセスを学習データとして作るんだ。

surprisedの表情
初心者

えー!そんなデータをどうやって作るの?

専門家

面白い仕組みでね、マルチエージェントシステムを使ってるんだ。複数のAIエージェントに役割を分担させて、「このエージェントは質問を作る」「このエージェントは解決策を考える」みたいに協力させて、自動的に対話データを生成するんだよ。

excitedの表情
初心者

AI同士で練習問題を作り合うってこと!?すごい!

専門家

そうそう!これによって、人間が手作業でラベル付けしなくても、大量の高品質な学習データを作れるようになったんだ。実際、50万件もの学習データを生成して、これも全部オープンソースで公開してるよ。

surprisedの表情
初心者

50万件!?そんなに!

実験結果

normalの表情
初心者

で、実際どれくらいすごいの?ちゃんと動くの?

専門家

研究チームは、12種類のデータサイエンスベンチマークで評価したんだけど、結果は驚異的だったよ。

excitedの表情
初心者

どんな結果?教えて!

小さなモデルで大きな性能

専門家

一番驚くべきは、DeepAnalyze-8Bはわずか80億パラメータしかないのに、GPT-4みたいな数千億パラメータの巨大モデルを使ったワークフロー型エージェントを上回る性能を出したことなんだ。

surprisedの表情
初心者

え!?小さいのに勝ったの!?

専門家

そう。これは、ワークフローを固定せずに、状況に応じて柔軟に行動を選べるエージェント型の強みが出たってことだね。複雑なタスクになればなるほど、この差は大きくなる。

幅広いタスクでの成功

normalの表情
初心者

どんなタスクができるの?

専門家

DeepAnalyzeは本当に幅広いタスクに対応できる。

  • データ質問応答: 「このデータセットで売上が一番高い月は?」みたいな質問に答える
  • 専門的な分析タスク: 時系列予測、クラスタリング、異常検知など
  • オープンエンドな研究: 「顧客の購買行動を分析して、マーケティング戦略を提案して」みたいな、答えが一つじゃないタスク
  • 多様なデータ形式: CSV、Excel、JSON、データベース、さらにはMarkdownやテキストファイルまで扱える
excitedの表情
初心者

なんでもできるじゃん!

コード生成と構造化データ理解

専門家

特に優れているのが、コード生成構造化データの理解なんだ。データサイエンスに特化した学習のおかげで、PythonのPandasやNumPyを使った複雑なデータ処理コードも正確に書けるし、データベースのスキーマを理解して適切なクエリを書くこともできる。

happyの表情
初心者

実用的だね!実際の仕事で使えそう

まとめ

normalの表情
初心者

結局、DeepAnalyzeの何がすごかったの?

専門家

ポイントをまとめるとこんな感じだね。

  1. パラダイムシフト: 従来のワークフロー型から、自律的なエージェント型へ
  2. カリキュラム学習: 人間の学習過程を模倣した、段階的な能力獲得
  3. データ生成の自動化: AI同士の協力で、大量の高品質な学習データを自動生成
  4. 小さくても強力: 80億パラメータで、巨大モデルを超える性能
  5. 完全オープンソース: モデル、コード、データセット全てが公開
excitedの表情
初心者

これからのデータ分析は、こういうAIが主流になるのかな?

専門家

かなりその可能性は高いと思う。特に、探索的なデータ分析や、複雑な研究タスクでは、人間のデータサイエンティストのアシスタントとして強力なツールになるはずだよ。

happyの表情
初心者

データサイエンティストって難しそうだったけど、こういうツールがあればもっと身近になるかもね!

専門家

そう、それがこの研究の目指すところだね。データ分析の民主化、つまり専門家じゃなくても高度なデータ分析ができる世界を作ろうとしているんだ。


参考リンク

happyの表情
初心者

面白い論文だった!これから試してみたくなっちゃった

専門家

全部オープンソースだから、興味があればぜひ試してみてね。自分のデータで実験してみると、より理解が深まると思うよ!

← ブログ一覧に戻る