Code Interpreterの登場:AIとの協働から生まれる次世代のデータサイエンティスト
ChatGPTの有料プラン「ChatGPT Plus」の新機能「Code Interpreter」が一般リリースされました。Code Interpreterを使うと、ChatGPT上でプログラムを実行できたり、アップロードしたデータを分析したり、グラフを描いたり、計算してもらったりすることができます。たとえば、ある問い(プロンプト)に対して、Code Interpreterは自動的にプログラムを生成し、答えることができます。つまり、プログラムを書くスキルを持たない人でもプログラムの力を借りて複雑な問題を解決できることを意味します。
わたしもKaggleというサイトで提供されている「タイタニック号のデータ」をCode Interpreterを使って分析させてみました。「クラス別の乗客数のグラフを作成して」とお願いするだけで、瞬時に分析結果がグラフで表示されます。「これは、ほとんどのデータサイエンティストの仕事を任せられるようになるのでは?」と思ったら、まさにそのようなテーマで調査している論文(プレプリント)を見つけました。ワシントン大学、スタンフォード大学、ペンシルバニア大学、ラトガース大学の研究者らの共同研究です。
「データサイエンス」と一言でいっても、それはいくつもの工程から成り立っています。これを料理に例えると、「1.材料の下処理(cleaning)」「2. 材料の味を確認する(exploration)」「3. レシピを作る(model building)」「4. どんな料理を作るかを考える(questioning)」「5. 作った料理の味を評価する(interpretation)」「6. 料理の写真を撮ってSNSにアップする(presentation)」にそれぞれ対応します。
この論文では、これら複数の工程からなるデータサイエンスの知識を使った分析を、Code Interpreterに行わせてみたらどうなるかを調べています。分析に使ったデータは、Kaggleで提供されている「心不全のリスクを持つ患者データ(Heart Failure Prediction Dataset)」です。このデータに対して、先程の6つの工程のうち、「4. どんな料理を作るかを考える」というタスクを除いた残り5つのタスクをCode Interpreterに行ってもらったところ、見事に全てのタスクを達成することができたことが示されています。
具体的にどのようなプロンプトが使われ、どんな結果が得られたのかは次のリンクから見ることができます(ただし、グラフやファイルの出力結果などは一定時間が過ぎるとアクセスできなくなるという仕様のため、ここでは結果は表示されていません)。
タスクを実行させるためのプロンプトは、「Do some data cleaning(データをクリーニングして)」や「Do some data explorations(データを探索して)」、「Build a model to predict HeartDisease(心臓病を予測するモデルを構築して」といった、驚くほどシンプルな指示です。こんなシンプルな指示で、複雑なタスクをこなすPythonプログラムを自動生成できることにも驚きます。
注目されるデータサイエンス教育
データサイエンスは、幅広いスキルと知識が求められる分野です。たとえば、オンライン学習プラットフォームのedXでは、MIT、Harvard、UC Barkelyといった名門大学がデータサイエンスに関する講義を提供しています。これは、この分野の重要性を示しています。
私が所属する筑波大学でも、2019年からデータサイエンスを全学部の1年生に対して必須科目として導入しました。データを基にした意思決定の重要性が増している今、どんな専門分野でもデータサイエンスの知識が必要になると考えられています。
本格的なデータサイエンティストを育成するためには、統計や確率論、線形代数やプログラミング、機械学習、データ可視化技術、データベースの理解など、さまざまな知識が必要です。これはまるで、シェフがさまざまな調理法や食材を理解して、それぞれの料理に応じて適切に組み合わせるスキルが求められるようなものです。そのため、全てを学ぶには相応の時間とコストがかかるという現実があります。
しかし、ChatGPT + Code Interpreterのようなツールの出現によって、この状況は大きく変わるかもしれません。このツールはまるで魔法のようなもので、データをアップロードし、簡単な指示を入力するだけで、タスクを自動的に実行してくれます。それにより、データの分析を行いながら学習することが可能になります。もし何か分からないことがあれば、AIと対話しながら解決策を探ることができます。
研究者たちは、「ChatGPTのような大規模言語モデルやCode Interpreterのようなツールが、データサイエンスのプロセスに統合されることによって、人間はルーチンワークをツールに任せ、より高度なタスク、たとえば問題の設計やプロジェクトの管理に集中できるようになるだろう」と述べています。
人間とAIの協働
では、どのようにしてこれらのツールをデータサイエンス教育に取り入れるべきでしょうか?研究者たちは、AIを人間のパートナーとして使うことを提案しています。AIは具体的なタスクを実行するのには長けていますが、一連の複雑なタスクを順序立てて計画するのは得意ではありません。この点を理解すると、人間が大まかな計画を立て、AIがその具体的な実行を担当するという協働が理想的だということが分かります。
このような協働作業は、囲碁のプレイヤーがAIを使って自身のスキルを訓練し、向上させる様子に似ています。つまり、人間とAIがチームを組んで取り組むことで、データサイエンティストのスキルも大幅に向上する可能性があるということです。
次の図は、囲碁のプレイヤーがAIを利用して学習するようになってから、囲碁プレイヤーのスキルがどのように向上したかを示すグラフです。これらのグラフを見ると、AIとの対戦や学習を始めてから、新しい戦略の数が急激に増え、ミスの回数も減少したことがわかります。
この傾向は、若手や経験の浅い選手にも見られましたが、より経験豊富な選手や年配の選手ではさらに顕著でした。これは、経験豊富な選手がAIが提案する新しい戦略を、自分の既存の知識と組み合わせてうまく利用できるからかもしれません。この傾向は、恐らくAIを使ったデータサイエンティストにも当てはまるでしょう。
データサイエンス教育の普及と進化へ
データサイエンス教育には、多くの分野をカバーするため幅広い知識が必要とされていますが、それを教えるための人的・時間的リソースが足りない場合も少なくありません。
ですが、Code Interpreterのようなツールの進化により、人間とAIの協働をしやすくなったことでデータサイエンスに新たにアクセスする人々も、それまで未開拓だった才能を活かし、学び始めることができます。
データサイエンスを学ぶ全ての人々、初心者からプロまで、がAIと協働することで能力を大幅に向上させる可能性があります。そして、囲碁の天才プレイヤーである藤井聡太さんのような新たな天才がデータサイエンティストの世界でも表れてくるかもしれません。この発展は、AIの進歩がデータサイエンスの世界にも新たな波をもたらすことは間違いなさそうです。
更新の通知を受け取りましょう
投稿したコメント