

仮に1年後にマルチモーダルモデルがArcを解決できたとしましょう。平均的な人間が得られるスコアの80%を得られたとしましょう。そうなれば、AGIの可能性は高いでしょう。
みなさん、こんにちは。Arc AGIは、ここ1週間で大きな話題となっています。LLMでは解決できないベンチマークとして注目されているのです。このビデオでは、Arcとは何か、なぜ注目されているのか、このチャレンジにどのように取り組めばよいのか、そして有望なソリューションアプローチについて解説します。
このチャレンジとは何でしょうか?ArcとはAbstraction and Reasoning Corpus(抽象化と推論のコーパス)の略です。Arc for AGIやArc hyen AGIは、特定のアルゴリズムやモデルのスキル獲得能力を実際に測定するベンチマークです。
ARCプライズは、Arc AGIベンチマークデータセットを上回り、オープンソース化するための110万ドルの公開コンペティションです。主催者は、KerasのクリエイターでGoogleのスタッフソフトウェアエンジニアであるFran Cholletと、Zapierの共同創業者であるMike Knappです。
このビデオを進める前に、AGIとは何かを理解することが重要です。このチャレンジ全体の基礎となる部分ですからね。多くの人は、AGIを経済的に価値のある作業の大部分を自動化できるシステムだと考えています。しかし、それは人間をシステムから置き換えることに主眼を置いた見方で、正しくありません。
正しい定義は以下の通りです。AGIとは、新しいスキルを効率的に獲得し、オープンエンドな問題を解決できるシステムのことです。この定義は、人間からの最小限のインプットで、人間と一緒に発明や発見を進めていくために、人間の知性を拡張することに焦点を当てています。
このベンチマークデータセットの何が違うのでしょうか?これまでのLLMは想像を絶する量のデータで学習してきましたが、学習データセットに含まれていない新しい問題を解決したり適応したりすることができませんでした。つまり、新しいスキルを学習したり、オープンエンドな問題を解決したりすることに失敗しているのです。
だからこそ、Franは、AGIの進歩は頭打ちになっており、新しいアイデアが必要だと言っているのです。新しいアイデアが必要なら、まず問題の本質を定義すべきです。そこで、AGIの正しい定義に立ち返り、明示的な指示なしに新しいスキルを学習し、オープンエンドな問題を解決するスキルに焦点を当てるのです。
そこで登場するのが、AIシステムが明示的な指示なしに新しいスキルを学習し、タスクを解決する能力を測定するために設計された新しいベンチマークデータセットです。現在のAIベンチマークの多くは、スキルを測定しています。しかし、スキルだけでは知性とは言えません。新しいスキルを学ぶ能力こそが知性と呼ばれるものであり、人間が得意とするところです。
例えば、H-SWAGは、常識的な自然言語推論においてLLMを評価しています。MMLは、多様な主題にわたるLMの理解力を測定しています。Human Evalは、指示に基づいて機能的なコードを書くLMの能力を評価しています。しかし、一般的な知性とは、新しいスキルを効率的に獲得する能力のことです。ARC-AGIは、スキルだけでなくスキル獲得も評価することで、一般的な知性をテストする唯一のユニークな正式ベンチマークなのです。
ARC-AGIは、パターンを学習し、テストパズルを解くことが求められるビジュアル推論ベンチマークデータセットです。タスクの内容を理解するためのプレイグラウンドページも提供されています。完全なデータセットは、ユニークなトレーニングタスクと評価タスクで構成されています。プレイグラウンドページを見ると、各タスクはパズルのような入力と出力のペアで構成されています。これらの例から学習し、テスト出力グリッドを埋めていく必要があります。出力グリッドでは、適切なサイズも選択する必要があります。
実際に解いてみて、このパズルがどのようなものか理解しましょう。例から、パターンを学習する必要があります。この入力を見ると、6×6の出力があります。パターンは、この2×2のグリッドがここに配置されており、これらのグリッドを配置し続けることです。最後の列がここにあり、次の行に続いていることがわかります。2つ目の例でもこのパターンが成り立つか確認してみましょう。2×2のグリッドを6×6の出力グリッドに配置します。そして、2×2グリッドのこの列が2行目にも続いています。
まず、入力から選択したい部分を選ぶことができます。コピーすることもできます。この入力から、ここにあるすべてが必要です。グリッドのサイズを変更できます。今、出力グリッドは6×6にする必要があるので、ここでサイズを変更します。学習したパターンに基づいて、出力グリッドを埋めていきます。まず緑色をすべて完成させ、次にオレンジ色をすべて完成させ、最後に青を選んで、残りはすべて赤にします。
これが、私が学習したパターンに基づく出力になります。正しくできたかどうかを確認するには、ここでソリューションを提出します。正解です。次のパズルに挑戦してください。
これが、データセットの構造になっています。このようなデータで満たされています。完全な真実のデータセットは、Fran CholletのGitHubリポジトリARC-AGIにあります。ここでは、データの完全な構造を学ぶことができます。このリポジトリをクローンしてダウンロードし、その上で作業を続ける必要があります。
dataディレクトリには、2つのサブディレクトリがあります。トレーニング用のタスクファイル400個を含むtrainingと、同様に400個のタスクを含むevaluationデータセットです。各タスクには、3〜5個の例があり、各例は入力と出力のペアになっています。同様に、通常は1つのテスト出力を作成する必要があります。
このdataフォルダーに移動すると、evaluationとtrainingがあります。これらのevaluationでは、すべてのパズルがJSONフォーマットで提供されています。trainを見ると、入力があり、そして出力がここにリストとしてあります。行列は、リストのリストに他なりません。それがここにあるものです。出力はこのようになっています。同様に、trainとtestのディレクトリがここにあります。これが1つのタスクです。これらをすべて数えると、evaluationデータセットには400個のタスクがあります。同様に、trainingデータセットにも400個のタスクがあります。
このチャレンジに取り組むには、まずこのリポジトリをクローンします。URLをコピーして、git cloneと入力し、ここにドットを追加します。専用のフォルダを作成しました。中を見ると、これらのファイルがすべてあります。ARC-AGIフォルダを開きます。
クローンすると、trainingデータセットとevaluationデータセットがあるdataフォルダがあります。開くと、すべてのファイルがここにあります。このドキュメントをフォーマットして、トレーニングの入力と出力、テストの入力と出力のパズルを確認することができます。これらはすべてJSONフォーマットで構成され、提供されています。appsフォルダもあります。このappsには、testing_interface.htmlがあります。ローカルシステム上でもこのインターフェースをテストできます。これは、ソリューションを構築しテストするのに役立ちます。
HTTP サーバーを実行します。python -m http.server と入力します。このリンクに移動し、これらのファイルすべてのディレクトリ リスティングがここにあります。appsに移動し、testing_interface.htmlを開きます。ここでは、JSONからランダムなタスクを選択できます。ここにtask demonstrationがあり、プレイグラウンドページで見たのと同じインターフェースを直接ここでテストできます。このフォルダ内でソリューションを構築し、テストし続けることができます。
チャレンジはKaggle上でホストされています。チャレンジの完全な概要、評価プロセス、提出ファイル、提出ファイルのフォーマットなどの詳細がすべて説明されています。評価では、正しい予測の割合に基づいて提出物を評価します。各タスクについて、タスクに含まれるすべてのテスト入力グリッドに対して、正確に2つの出力を予測する必要があります。トレーニングデータセットと評価データセットがあるだけでなく、非公開の保留データセットもあることに注意してください。チームは、このデータセットに対するアルゴリズムの性能を評価し、平均値を最終スコアとします。
ここでの最終目標は、このチャレンジで85%のスコアを獲得し、50万ドルの大賞を獲得することです。これらすべてを学んだ後、あなたは出発点はどこにすべきか、どのようなソリューションアプローチを最初に探索すべきかと考えているでしょう。
時間を節約するために、彼らはうまくいったアプローチをいくつか共有しています。まず、離散プログラム探索が非常にうまくいったと述べています。これは、2020年にLab42が行ったハッカソンであるARCathonで登場しました。これは、大規模なプログラム空間を離散的なステップバイステップで探索することを含みます。同様に、直接的なLLMプロンプティング、ドメイン固有言語のプログラム合成など、解けないソリューションもあります。
さらに、Ryan Greenblatという人が、GPT-4を使ってARC-AGIで50%の最先端のスコアを出しています。Ryanが何をしたのか見てみましょう。まず、使用しているモデル(使用しているLLM)に問題の詳細を提供する必要があります。RyanはGPT-4を使用してこのタスクを解決しました。
ARC-AGIの問題を、各グリッドの画像と詳細なテキスト表現の両方で提示します。次に、GPT-4に必要な変換を理解させるためのガイドが必要です。変換を学習し、それをコード化する必要があります。彼は、GPT-4を助けるために、ステップバイステップの推論例を含む詳細な少数のプロンプトを使用しました。
異なるグリッドサイズ用の異なるプロンプトと、作成した少数のプロンプトを使用したら、それらはすべてアンサンブルプロンプトに入ります。複数のペアの少数のプロンプトからの出力を組み合わせて、精度を高めます。
これらのコードプログラムが生成されたら、GPT-4から問題ごとに約5,000の完了をサンプリングします。多くの完了を生成し、それらの完了を選択して修正します。上位12の完了を選択し、実際の出力に基づいてGPT-4にそれらを修正するよう求めます。
サンプルの修正を試みた後、再び少数のプロンプトを使用して修正を行います。テキスト表現を含めます。そして、最終的な提出の選択があります。正しいプログラムに対する多数決に基づいて、3つの最終提出を選択します。最後に、必要であればヒューリスティックがあります。彼はそれを作成しましたが、実際には必要ありません。3つの提出をすべて彼から選択します。
以上、非常に複雑でありながら、非常に興味深い問題です。Franは、これがAGIにつながると考えており、それがこの問題をさらに興味深くし、注目に値するものにしています。参加したい方は、一人でもチームでも参加でき、誰でもソリューションを提出できます。
興味を持たれた方は、ぜひ参加してみてください。彼らにはDiscordチャンネルがあるので、ぜひ参加して、他の参加者から学んでください。彼らと交流し、Kaggleのコードノートブックやデータセットの探索的データ分析をチェックしてください。きっと役立つはずです。
参加される皆さん、頑張ってください。次回お会いしましょう。
コメント