見出し画像

Chollet の ARC チャレンジ + 現在の勝者

最近、フランソワ・シェレのARC(抽象化と推論のコーパス)チャレンジに注目が集まっています。ARCチャレンジは約1000個の課題からなり、2次元のグリッド世界を基にしています。これらは知能テストに似ており、数例から外挿や一般化を行うことが目的です。シェレが2017年頃にこれを考案した理由は、ディープラーニングモデルには知識のギャップがあるという天才的な認識からでした。ディープラーニングモデルは、特定の問題について大量のデータを見たときには非常によく一般化する、一種の補間的データベースのようなものです。しかし、明確な知識のギャップがある場合は推論が必要です。なぜなら、推論は知識獲得だからです。言語モデルに知識がない場合、言語モデルはあまり役に立ちません。
もし任意のAI研究者と協力できるとしたら、誰と何をしますか?
シェレです。簡単ですね。シェレを雇いたいくらいです。もし雇用可能であれば私にメールをください。私はそこまで高給は払えませんが...実はシェレを怒らせないか心配です。怒らせていないことを願っています。彼は大好きで、今でも私のお気に入りの人物です。中国の部屋について話をしたとき、彼に15分ほど話してもらいました。彼は機能主義の観点から話していて、機能的なダイナミクスがあると意識が創発するという考えでした。私は「シェレに利益を与えよう」と言ったのですが、それを編集すべきでした。シェレに説教しているように聞こえたからです。そのつもりはなかったのですが。10人くらいの人から「シェレに利益を与えよう」というフレーズについてメッセージをもらいました。編集すべきだったと思います。
シェレのことは大好きです。確かに大好きです。
誰と協力したいかについては、正直わかりません。一緒に仕事をするのがどんな感じか、誰も知りません。ヤン・ルカンと協力しますか? もちろんです。何について取り組みますか? 彼らが望むことなら何でも。彼にはおそらくチームがあって、いろいろなことをしていると思います。特定の方向性にこだわっているわけではありません。
さて、ARCのタスクは離散的で組み合わせ的であり、補間を最小限に抑えるように設計されています。個人的には、まだ補間的である可能性があると思います。言語も離散的です。私にとっては、低頻度データであることの方が重要です。つまり、トレーニング中にサンプリングされていないということです。これが、知能の尺度に関する仮定の理由です。少数の例から、持っている事前知識と経験の量で正規化して、広く視野を拡大できれば、それが知能だということです。
フランソワ・シェレの知能の尺度は技術的には計算不可能です。公式については今は話しませんが...ちなみに、近々シェレにインタビューする予定です。そのエピソードで前戯は取っておいて、知能の尺度とARCチャレンジについてより詳しく話し合うつもりです。
基本的な形式は計算不可能です。測定しようとしているのは一般化の効率、つまり知識獲得の効率です。ARCのようなものは知能の良い代理となります。なぜなら、知識のギャップがあると仮定し、そのギャップを埋めるアルゴリズムがあり、プライベートセットから何も漏れていないためアルゴリズムが不正をしていないという特定の仮定ができれば、そのアルゴリズムは知的であると仮定できるかもしれないからです。
ARCは非常に難しい問題です。なぜなら、チャレンジごとにほんの数例しかないからです。考えてみると、ある課題に対して10の900乗(10は色の数)の可能な組み合わせがあります。これは絶対的に巨大な探索空間を探索しているということです。そのすべての可能な答えの中で、正確に1つだけがクレジットを与えられるということは、非常にスパースな問題だということです。
ARCを紹介する非常に興味深い論文があります。「抽象化と推論のためのニューラルネットワーク:機械における広範な一般化に向けて」というタイトルで、Mikel Boba Irizarによるものです。1967年に考案されたボンガード問題について書かれています。人間はこれらを見て類推を認識できます。ある種の知覚的推論があり、それを システム2、つまり類推の空間に変換しているのです。これは非常に興味深いですね。2つのセット間の違いを識別できるかどうかを問うているのです。各問題は異なる概念をカプセル化しています。
左右の概念を見てみると、最初のものは連結性という概念を扱っています。左側の6つの図形は線画で、互いに接続されていません。右側には隙間があるので、切断されています。それを見て、「ああ、これは連結性だ」と言います。一番右側は「内側」という概念です。小さな正方形が、右側では包含構造の内側にあり、左側では包含構造の外側にあります。これを「内側」という抽象的な概念として認識します。
私にとって、ARCチャレンジは効率性に関するものです。本質的に必要なのは、可能性の巨大な空間を探索することですが、直感を使うことです。知能テストを見たとき、非常に素早く問題の核心に迫ることができるからです。これらの異なるスキルプログラムを創造的に組み合わせて、巨大な組み合わせ空間を探索するのと同等のことをしているのです。そして非常に素早く答えにたどり着きます。それが知能なのです。
すべての可能な組み合わせを力ずくで探索するのは知的ではありません。ARCチャレンジの大きな特徴は、このような巨大なサブプログラムのライブラリの概念を持ち、組み合わせの空間をできるだけ効率的に探索することです。
抽象化は、よく再現されるサブプログラムと考えることができます。私たちがしているように見えるのは、基本的なサブプログラムの集合から始めて、それらを組み合わせ、パターンや組み合わせのセットがうまく機能すると、それを単一のプログラムに統合し、それがライブラリに組み込まれます。時間とともに、そのように知識が成長していきます。
ここにARCの典型的な課題の例がいくつかあります。9つの可能な色を持つ2次元のグリッド世界です。すべてのARC問題は、コア知識に基づいて機能します。これは心理学で非常に人気のある考えです。私たちが物事を考える方法は、このコア知識を持っていて、推論の方法は、そのコア知識を新しい状況に再結合することだというものです。数学での推測のようなもので、世界がどのように機能するかについての演繹的ルールをすべて持っていて、それが生成モデルのようなものです。これらのルールの組み合わせの巨大な木を生成できますが、それらを興味深い方法でヒューリスティックに組み合わせる創造的な能力を持っています。
ARCチャレンジの生成に使用されるコア知識は、オブジェクトネスの事前知識です。これはオブジェクトとその相互作用を扱います。目的志向性の事前知識もあります。多くのタスクは、一般的な意図性の概念を含んでいます。最も単純な解決策を見つけることです。例えば、迷路を通る最短経路を描くことで、より長い経路ではありません。
ここにARCチャレンジの例があります。上の例では、真ん中に穴があるオブジェクトがあり、緑の四角で囲まれています。これを見ると、上下に緑の四角で囲まれた場所に黄色の四角を挿入することが目的であることは明らかです。ここに1、2、3、4、5つの例があり、そして疑問符のついたテストインスタンスがあります。明らかに、ここでは黒いセルが緑のセルで囲まれているすべての状況で、黄色のドットを埋めることになります。
次の例を見てみましょう。ところで、ここで注意すべきなのは、入力と出力のグリッドのサイズが異なる場合があるということです。この例では、入力が8x8で、出力が4x4です。
次の例は非常に難しいです。これらのことを行うには、かなり賢くなければなりません。次の例は、8x8から4x4に変換し、四分円を特定の順序で重ね合わせています。時計回りに黄色から始まっているのがわかります。右上の四分円が常に勝つため、テスト例では右上の四分円が完全に表現されています。これはかなり難しい例です。
次の例を見てみましょう。実際、これを初めて見ています。次の例では、赤いドットがある場合、4つの対角線の角を黄色で囲みます。青がある場合、垂直方向にオレンジで囲みます。3番目のインスタンスでは、ピンクがある場合は囲まないことがわかります。テストインスタンスでは、赤と青は囲みますが、シアンやピンクは囲まないでしょう。
次の例はかなり単純です。モザイクパターンがあり、これはデノイジングの事前知識です。黒い欠落したセルがある場合、そのモザイクのパターンをその黒いセルに挿入します。これはかなり単純です。
これは非常に興味深いです。2019年にKaggleで開催された元のARCチャレンジの最初の勝者について話しています。Johan Socrates Windという人物で、142の手作りの関数を持つドメイン特化言語(DSL)を実装しました。これらの関数は、グリッド上でさまざまな変換を行います。先ほど話したすべてのこと、例えば対称性、移動、デノイジングなどを表現します。
彼が行ったのは、特定のインスタンスから有向非巡回グラフ(DAG)を構築することです。基本的には木と考えてください。そして、すべての異なる変換を貪欲にサンプリングしました。おそらく幅優先探索を行い、評価関数を持っていました。DAG上のすべてのサンプル軌跡に対して、ハミング距離などを見て、テストインスタンスにどれだけ近いかを確認しました。そして、おそらく上位の変換セットを選択し、それが最終予測に使用されるプログラムとなりました。これは隠れたテストセットで約20%の性能を達成したと思います。そのようなことが書かれていますね。
また、DreamCoderというニューロシンボリックアプローチについても触れています。DreamCoderには覚醒フェーズがあり、タスクを解決するプログラムを生成します。ところで、興味深いのは、DreamCoderがライブラリとして知られるドメイン特化言語でブートストラップされることです。ライブラリには、関数型型システムで定義された一連の関数と値が含まれています。これは非常に重要です。単なる構文であるコードを生成すると、有効な構文の空間は、有効な型付き構文の空間よりもはるかに大きくなります。コンパイラや型チェッカーのようなものを持つことで、生成するプログラムの空間を大幅に削減できます。
整数や文字列、さまざまな離散値の集合、さまざまな関数マッピングなどの型の例がここにあります。この特定の場合、覚醒フェーズは最小記述長で制約されたプログラムを生成します。これはオッカムの剃刀に非常に似ています。可能な限り単純なプログラムを見つけるべきです。なぜなら、自然界では単純なものが複雑なものよりもはるかによく一般化し、うまく機能するからです。
そして、DreamCoderには抽象化スリープがありました。これは本質的に、生成されたプログラムの中で繰り返し現れるモチーフを探し、それらを覚醒フェーズで新しいプログラムを生成するためのDSLの中で組み合わせることができる原始関数のようなものに凝縮するというものです。これは、私たちが睡眠中に行うことととても似ています。知識を統合し、それによって翌日の推論が向上します。
また、夢見るスリープもあり、そこでは生成プログラムがニューラルネットワークによって導かれ、そのニューラルネットワークを微調整します。つまり、覚醒フェーズでそのニューラルネットワーク上で新しい軌跡を生成するとき、以前成功したものによって導かれるのです。このように、覚醒フェーズとこれら2つのスリープフェーズを繰り返すことで、ニューラルガイド付きのプログラム探索を行っています。
DreamCoderは非常に興味深いアイデアです。MITのJosh Tenenbaum のチームからKevin Ellisによって開発されました。私たちはこれについてのエピソードを作ったことがありませんが、おそらく作るべきでしょう。プログラム合成のためのアプローチとして非常に興味深いと思います。
ARCチャレンジの良い解決策はどのようなものでしょうか? 私にとっては、推論の効率性がすべてです。つまり、テストインスタンスがあるとき、この大きな可能性の空間を探索する必要があり、それをできるだけ効率的に行う必要があります。2019年の元の勝者は基本的にPythonプログラムで、これらの知識の事前確率の組み合わせの空間を探索し、評価関数に基づいてうまく機能するものを選択しただけです。これが最初のことです。
では、言語モデルを使用するのはどうでしょうか? GPT-4にPythonプログラムやDreamCoderが行ったような中間的なDSLを生成させることができます。GPT-4を使ってPythonコードを直接生成すると、約10%の性能が得られます。これが以前の最先端でした。
今日話している人たち、つまりJack Coleのチームが行ったことは、34%で以前の勝利ソリューションでしたが、言語モデルを微調整しました。何かを行う前に、ARCタスクのデータセット拡張で言語モデルを微調整します。これにより、アーキタイプの問題を特定の方法でエンコードすると、言語ドメインに移動させる行動が得られます。そして、テスト時の拡張またはアクティブ推論を行います。テストインスタンスがあるとき、その周りで多くの拡張を行い、言語モデルを再度微調整し、そしてプログラムを生成させます。
彼らはそれで約34%を達成しました。計算力が制限されており、単峰的な古い言語モデルを使用していたことも注目に値します。将来的には、彼らの結果がさらに改善される可能性が十分にあります。
Redwood Researchの Ryan Greenblattという人が、ARCの隠れたテストセットで50%の性能を達成したと主張するサブスタック記事を公開しました。彼は6日間でこれを達成したと言っています。彼は「最近、GPT-4に変換ルールのPython実装を大量に生成させることで、ARCの公開テストセットで50%の精度を達成しました。問題あたり約8,000の実装です」と述べています。
基本的に、アイデアは次のようです。ベースのGPT-4があり、問題の画像を送信します。ただし、彼は視覚モデルはそれほど良くなかったと言っていますが、マルチモーダルバリアントを持つのは興味深いです。ARCの問題自体を表現するためにグリッドASCIIエンコーディングを使用しました。多くのプロンプトエンジニアリングを行いましたが、もちろんGPT-4を微調整することはできません。
彼のソリューションの興味深い点は、プロンプトエンジニアリング以外にドメイン固有のチューニングがほとんどないことです。ARCの問題に対して特徴抽出を行ったと言っています。つまり、接続された領域を見つけ、それらの接続された領域がどのように互いに関連しているかをテキストで説明するということです。しかし、これまで見てきた他のソリューションよりもはるかに広範です。他のソリューションは非常に心理学志向で、非常に手作業設計志向です。
彼は、綿密なステップバイステップの推論を行う数ショットプロンプトを使用していると言っています。提供された例で実際に出力されるものを見た後、GPT-4を使用して実装の一部を修正しようとしました。一部の特徴エンジニアリングを行い、モデルに単純に画像を提供するナイーブなアプローチよりもはるかに優れたグリッド表現を提供しました。
これが興味深いのは、これがニューロシンボリックアプローチだからです。言語モデルだけを使用しているわけではありません。言語モデルを使用して多数の候補プログラムを生成しています。彼は「このアプローチはAlphaCodeに似ています。モデルがプログラミング問題を解決しようとして数百万の完了を生成し、それらを集約して提出するものを決定します」と述べています。
彼はこの主要なアイデアで50%を達成し、6日間の作業で実現したと言っています。彼が使用した高レベルの方法は次のとおりです。ARCの問題をGPT-4に提供し、画像表現といくつかのテキスト表現を使用します。各グリッドのテキスト表現は、異なる色の接続されたコンポーネントによってどのセルが占有されているかを示し、グリッドの形状が同じ場合は入力と出力の差を示します。そして、GPT-4に変換が何であるかについて推論させ、変換をコードとして実装する方法について推論させ、最後に変換をコードとして実装させます。
彼は、注意深く選択された手書きの例を使用した数ショットプロンプトを使用して、GPT-4にこの推論を効果的に行わせると言っています。結果のプロンプトは通常、画像を含めて約30,000トークンです。
そして、それらの8,000の完了から最も有望な12個を取り、それぞれをGPT-4に示して、このプログラムが実際に例で出力するものを見せ、GPT-4にコードを修正して正しくするように求めることで修正しようとします。問題ごとに3,000の修正を試みる完了を行います。つまり、最初に8,000の完了を行い、最も有望な候補に対して12回3,000の完了を行っています。
最後に、例を正しく処理するプログラムの多数決に基づいて、3つの提出を選択します。
彼は「より多くのサンプリングの効果は何か」と問いかけ、これは非常に興味深いです。元の完了と修正のサンプル数が増えるほど、上位3つの精度が上がり続けるというスケーリング則があるようです。
ここに、彼のスケーリング則を示すグラフがあります。基本的に、上位3つの精度と完了数の関係を示しています。彼がこれをどのように行ったかは完全には明確ではありませんが、修正のための完了と元の生成の完了を足し合わせたと思います。具体的な方法は大きな違いがないかもしれません。そして、フィットラインがあり、そのスケーリングを外挿しています。その外挿に基づいて、2の21乗(約200万)のサンプルを取ると、パフォーマンスが70%まで上がると言っています。これはおおよそ人間レベルで、非常に興味深いです。
ご覧のように、修正を行うと、完了の数が大幅に少なくても精度が大幅に高くなります。
彼は、グリッドに対する視覚モデルはひどかったと言っています。入力を正しく見ることができず、どの場所にどの色があるか、どの形が存在するかについて間違った事実を述べることがよくあります。後で、マルチモーダルな視覚モデルがより良い視覚認識を持つようになれば、このアプローチで大きな改善が見られるかもしれないと述べています。つまり、マルチモーダルな側面がこれがうまく機能する大きな決定要因ではないと言っているのです。
彼はGPT-4がコーディングに関してはあまり優れていないと言っています。特に、ここで話している幾何学的な操作の問題には適していません。また、現在の体制では、多くのサンプルを取る方が、おそらく安価で効果的だと述べています。
GPT-4は長いコンテキストの使用が苦手で、32kを超えると大幅に劣化すると言っています。これも、この方法の有用性と一般化に影響します。32kのコンテキストに収まらない問題がある場合、おそらくうまく機能しないでしょう。
彼はかなり寛大に、このベンチマークの以前の研究よりも問題あたり約1000倍のランタイム計算を使用したと述べています。おそらく、Jack Coleのアプローチは、この量の計算力にアクセスできれば、よりよくスケールできたかもしれません。
また、この提出はクローズドソースモデルと過剰なランタイム計算を使用しているため、ARCGIの賞金と主要なリーダーボードには資格がないと述べています。原則として、これはARCチャレンジの精神に反するとも言えます。なぜなら、基本的に彼が行ったのは、基礎となる言語モデルの記憶力を使用して大量のプログラムを生成し、生成されたプログラムに対して評価関数を使用してブルートフォース検索を行っただけだからです。これはシェレの尺度の精神における推論効率とは言えないかもしれません。
彼は、GPT-4への微調整アクセスと1年の時間を持つトップ3の研究MLエンジニアのチームが、そのモデルを使用してARCGIで典型的な人間のパフォーマンスを超える70%の確率があると予測しています。また、人間のパフォーマンスは実際には85%ではなく70%程度だと考えています。
彼が話す別の大きな点は、文脈内学習の定義です。もちろん、シェレは言語モデルに文脈内学習はないと言っています。言語モデルはデータベースであり、プロンプトに基づいてプログラムを取り出しているだけだと。ブレットは、これらのものが文脈内学習を行っていると主張しています。
シェレは「言語モデルが文脈内学習を行えるとあなたが正しいとすれば、言語モデルはARCパズルで非常に良い性能を示すはずです。なぜなら、ARCパズルは複雑ではないからです。各パズルは非常に少ない知識しか必要とせず、複雑さのスケールでは非常に低いところにあります。それについて深く考える必要さえありません。人間にとっては非常に明白で、子供でもできます。しかし、言語モデルにはできません。あなたよりも10万倍以上の知識を持つ言語モデルでさえできません。ARCを特別にしているのは、記憶に抵抗するように設計されたという意図だけです」と述べています。つまり、ARCチャレンジは、言語モデルが知らない問題の表現になるように設計されています。これらは、この知識ギャップの例です。
彼は、自分の結果に基づいて、以下の主張のいずれかを拒否する必要があると言っています:

ARCGIでそこそこの性能(50%以上)を得るには、各問題で少なくとも少しのランタイム学習が必要である。
適度な数(例えば6,000)のプログラムのみに対するプログラム選択は、典型的に人々が学習と考える方法では学習とはみなされない。
現在の言語モデルは決してランタイムで学習しない。つまり、それらが行える文脈内学習は本当の学習ではない。

彼は結論として、主張3は誤りだと考えています。言語モデルは、文脈内学習を行う際に関連する学習を行うことができると考えています。全体的なパフォーマンスは非常に弱いものの(つまり、8,000のプログラムの完了を描く必要があります)、それでも何らかの学習があると考えています。
ただし、シェレがARCチャレンジを考案した理由を忘れないでください。多くのKaggleチャレンジの解決策が、問題の特定のインスタンスにあまりにもオーバーフィットしていて、類似の問題の他のインスタンスに一般化しないことに苛立っていたからです。
これは、これらの最近のARC勝者やRyanのソリューションにも当てはまるとは思えません。莫大な計算量を必要とするにもかかわらず、他の類似のクラスの問題や他の類似の種類の幾何学やドメインに使用できる可能性があると理解できます。しかし、確かにタスク固有です。
知能の尺度の全体的な目的は、開発者が気づかない問題に一般化できるアルゴリズム、つまりメタ学習システムや知能システムを開発することです。これは、私の意見では、特定の問題とドメインまたは問題のコレクションの中間のどこかにあります。このアプローチは、かなり類似したドメインの類似の問題を解決するために使用できると思いますが、かなりドメイン固有だと言えるでしょう。
要約すると、ARCチャレンジの解決策には以下のようなものがあります:

ドメイン固有の事前知識の適用を使用してテスト時の拡張を行い、問題の変換の推論経路を見つけるための評価関数を持つPythonプログラムのようなもの。これは一種のプログラム検索タイプのものです。
DreamCoderのような、プログラムの生成を導くためにニューラルネットワークモデルを使用するニューラルガイド付きバージョンがあります。プログラムの生成はニューラルネットワークでも、DSLでもかまいません。これは非常に興味深いです。
言語モデルによる単純なプログラム生成の解決策。
Ryanが行ったような、多くの完了を生成し、ハミング距離などを使用して評価し、上位10個程度を言語モデルで洗練し、上位3つを選ぶというものです。

Jack Coleとそのチームからのいくつかの興味深い解決策があり、彼らは後でショーに登場する予定です。
後で今日の会話で話し合う別のことは、言語モデルには特定のタイプの事前確率、つまり帰納的事前確率があるということです。推論について考える場合、推論がどこで行われるかを考える必要があります。なぜなら、推論は常にどこかで行われるからです。
推論は、データ生成プロセスで行われる可能性があります。ある意味で、私たちは集合知として推論を行っています。多くの人間が多くの異なる組み合わせを試し、それらを評価し、繰り返し、うまく機能するものは定着します。それらは社会的プログラムとして文化に組み込まれ、言語に組み込まれ、再び使用されます。つまり、私たちは生来のデータ生成プロセスで推論を行っています。
機械学習モデルのデータ生成アルゴリズムを行う場合、それも一種の推論です。基本的に、多くの異なるタイプの組み合わせを拡張し、データセットを生成し、それを言語モデルに記憶させています。
言語モデル自体の帰納的事前確率は、暗黙の推論の一形態です。例えば、自己注意変換器では、置換対称性変換を行います。基本的に、データの多くの対称性変換を生成し、それをニューラルネットワークに埋め込んでいます。これは推論の一形態です。
もう一つの推論の形態は、推論時の推論です。ここでは、ベースモデルがあり、評価関数を使用して多くの異なる方法でそれを走査します。そこで推論を行うことができます。
私が言いたいのは、予測アーキテクチャの中で推論を行う場所が多くあるということです。ARCへのこれらのさまざまなアプローチは、そのプロセスのさまざまな点で推論を行うことを試みています。
私が見たいと思っているものの一つは、自己注意変換器にはこの置換対称性があり、多くの状況でうまく機能しますが、ニューラルネットワークで難しいのは、単一のモデルで異なるタイプの対称性変換を混ぜ合わせることです。これは、GDL(幾何学的ディープラーニング)の青写真が扱っていることです。
異なる対称性を持つ、つまり異なる帰納的事前確率を持つ異なるモデルを持ち、それらの対称性を何らかのアンサンブルまたは組み合わせで使用してプログラム検索を導くハイブリッドアプローチを持つのは興味深いでしょう。まだそのようなものは見ていません。これまで見たほとんどのアプローチは、特定のタイプの対称性変換を尊重する単一のモデルを使用しています。
将来的に見られるもう一つの大きなものは、マルチモーダルモデルだと思います。Ryanはサブスタックの記事で、GPT-4の視覚能力は悪いと述べています。非常に優れた視覚理解を持つマルチモーダルモデルが、この状況を大幅に改善する未来を想像できます。これは今後大きな改善の源になると思います。
しかし、現在、予測アーキテクチャの多くの異なるステップで推論が拡散していることは非常に興味深いです。モデルがより良く、より一般的になるにつれて、より多くの暗黙の推論を行うようになります。モデルは基本的にデータベースです。解釈的なデータベースですが、より多くの暗黙の推論を行うほど、事前および事後に行う必要のある推論が増えます。つまり、モデル自体がより知的になるということです。これは非常に興奮することです。
現在、数千の完了を生成し、それらを洗練し、評価する必要があり、すべての推論は事後的です。しかし、時間とともにモデルがより良くなるにつれて、事後的な推論を圧縮できます。なぜなら、モデル自体がより多くの暗黙の推論を行うからです。
これが起こるまでには非常に長い時間がかかると思います。また、推論は単に難しいのです。機械学習モデルには有限の容量があり、そのため、記憶できる推論の深さには限界があります。なぜなら、モデル自体は推論を行っていないからです。トレ ーニング中に重みに埋め込まれた暗黙の推論を記憶しているだけです。モデルは推論時に推論を行いません。データベースのルックアップです。つまり、モデルには有限の容量があるため、モデルに結晶化できる推論パスの複雑さには限界があります。
そのため、私はアクティブ推論の支持者です。現実世界は、結晶化されたモデルに記憶できるものよりも複雑だと考えているからです。すべての状況には新規性と複雑さがあります。それに対処する方法は、アクティブ推論を行うことで新規の複雑さに対応する予測アーキテクチャを持つことです。
これは単に、新しい状況にいて、その状況で何が機能するかを理解する必要があるが、言語モデルの基本的な知識をまだ使用できるということを意味します。多くのプリミティブを検索して推論を行い、それをモデルに組み込むことができます。つまり、将来類似の状況にいる場合、その推論を行う必要はありません。なぜならそれはモデルに結晶化されているからです。
この瞬間的な推論を行い、それをモデルに組み込むプロセス、それが私たちがどのように行っているものであり、私たちの予測アーキテクチャをどのように構築すべきかだと思います。
昨夜、当時のARC チャレンジの世界的勝者にインタビューしました。彼らは非公開セットで34%のエントリーを達成しました。今朝のRedwood Researchの発表により、技術的には1位の座を失ったかもしれませんが...
インタビューしたのは、Jack Cole、Michael Hudl、Muhammad Osman Abdulganiです。Jack ColeはMindwar Consulting Incorporatedという会社を持っており、3000万以上のダウンロード数を持つ成功したアプリをいくつか作成したと言っています。臨床心理学の博士号を持ち、パートタイムで心理療法の診療を続けています。認知テストと神経心理学のバックグラウンドがあり、Yannic KilcherによるARCチャレンジの最初の説明に触発されたそうです。Yannic Kilcherのディスコードでよく活動しているようです。
また、Michael Huddleも参加しています。彼はJack ColeとMuhammadと密接に協力しており、「手続き的な例生成のための抽象化と推論コーパスへの取り組み」という論文を発表しています。このデータセット生成は非常に重要です。チーム全体が、事前トレーニングと推論時の両方で言語モデルを微調整するためにこれを使用しました。
この論文で、Michaelはタスク一般化について話しています。基本的に、ARCデータセットを拡張するためにすべてのこのコア知識を使用する手続き的アルゴリズムです。ディープラーニングモデルでは、データの密度が重要です。そうでないと、まばらになり、モデルはそこから一般化可能なパターンを学習しません。彼らのアプローチの1つは、はるかに大きなARCデータセットを生成し、ベースモデルをそれで微調整し、テスト時の拡張も行うことでした。チームが勝利のソリューションを得るために使用したのは、特にMichaelの仕事でした。
また、Muhammad Osman Abdulganiも参加しています。彼はディープラーニングモデルを開発した4年間の実務経験を持つシニアAI研究者です。コンピュータビジョン、推論、自然言語処理の難しい問題に取り組むために変換器を使用した、複数の成功した実世界の機械学習デプロイメントの経験があります。彼は非常に賢い人で、私はMuhammadに非常に感銘を受けました。現在、博士課程のポジションを探しています。このビデオを見ている大学教授の方で、非常に賢く意欲的な人を博士課程の学生として迎えたい方がいれば、Muhammadに連絡してください。彼のメールアドレスはビデオの説明にあります。
MuhammadはJackと共に、この心理学的アプローチに大きく影響を受けていると述べています。これは非常に興味深いです。つまり、コア知識と手作りの認知アーキテクチャ設計です。AIへの心理学的アプローチは基本的に、私たちが基本的な推論プリミティブの基本セットを持っており、それらを推論プロセスの一部として組み合わせるという考えに基づいています。これが、シンボリックおよびニューロシンボリックAIの核心です。つまり、コア知識を新しい状況に合わせて新しいプログラムに組み合わせるという考えです。
私はJack、Muhammad、Michaelと非常に良い会話をしました。彼らの提出物について、彼らの思考プロセスについて話しました。明らかに、知能の尺度の精神に違反しているかどうかについて少し挑戦しました。私は、これらのARCチャレンジへのすべての解決策は非常に非効率的だと思っているからです。しかし、彼らはかなりの反論をしてきました。実際に、彼らは私に考えさせることをたくさん与えてくれました。この会話に基づいて、私はかなり更新しました。
近々シェレと撮影する予定です。これは特別版になる予定で、8月にそのショーをリリースする予定です。これは非常に興味深い展開です。実際、これらすべてが起こってよかったと思います。これらの最近の展開に基づいて、シェレに聞きたい質問があれば、コメントで教えてください。あなたの最高の質問をシェレに必ず聞きます。
また、これをオフィスアワーショーと考えてください。現在、MLSTの制作サイクルは数ヶ月に及んでおり、何かを公開するのが非常に難しくなっています。これは非常に迅速な、かなりぶっつけ本番の会話だと考えてください。タイムリーな性質を考えると、できるだけ早く公開する方が良いと思います。この注意書きを受け止めて、会話をお楽しみください。
どこから始めるべきかわかりません。ARCチャレンジとシェレの知能の尺度が何であるかを大まかに説明したい人はいますか?」
Coleが答えます:
「大まかに言えば、ARCチャレンジは人工知能システムのためのベンチマークです。機械学習専用というわけではなく、典型的なベンチマークを超えた本当に難しいチャレンジを提供しようとするものです。シェレは、単に多くの事実を記憶したり、そのようなことをしてベンチマークで非常に良いパフォーマンスを出すことができないように設計しました。
本質的に、これは一種の知能の尺度として見ることができます。シェレは完璧な尺度にしようとしたわけではなく、最初からこれが理想的な尺度ではないことを知っていました。しかし、良い出発点だと考えています。シェレは人々にメタ学習に焦点を当てさせようとしているのだと思います。
基本的に、少数の例から学び、それらの少数の例から一般化できるソリューションを開発できるようにすることを望んでいます。」
Michael Huddleが付け加えます:
「他のメタ学習データセットも存在します。興味深いのは、これらのビジョンベースのメタ学習論文でさえ、本当にうまくいくモデルやメタ学習手法を見ると、実際にはショートカットを取っていることがわかります。ゼロショット手法なのです。
ゼロショットモデルと、これらのショートカット統計を知っているものとの区別をする必要があります。テクスチャやオブジェクトについて非常に良い知識を持っているのです。
例えば、ビジョンのような分野で非常に良いメタ学習データセットを持つのは難しいです。テスト時に完全に新しいクラスを5つ与えられ、それらを分類しなければならないという古典的な少数ショット問題の枠組みでさえ、非常に良い特徴を持つだけで、ゼロショットモデルとして非常に良いパフォーマンスを達成できるのです。
ARCを特別で興味深いものにしているのは、他のメタ学習データセットとは異なる方法で獲得された知識に焦点を当てていることです。その一つの側面は、事前知識の数を減らしていることです。すべてが良い方法で単純化されています。もう一つの側面は、学ぶべきものが変換であるということです。これも非常に興味深いです。
分類ではなく変換は、はるかに情報が密です。追跡すべきことがより多くあります。インスタンスが変換であるということは、より複雑で、学ぶべきこと、理解すべきことがより多いということです。そのため、既存の知識よりも学習に重点を置いています。複雑な変換に焦点を当てることで、それを達成しているのだと思います。」
ティムが続けます:
「シェレは天才でした。2017年の時点で、これらのモデルが本質的に記憶化マシンであり、推論は知識獲得の効率性だと理解していました。システムにすでに知識がなければ、数例だけでその知識を学習することはできないと推論しました。推論時に大量の知識を投入しない限り。
言語モデルの文脈内学習についても興味深い点がありました。これは少し誤称だと思います。言語モデルをデータベースと考えると、これは文脈内データベースクエリに近いものです。ARCは本当に興味深いです。約800のタスクがあり、それらのタスクがデータベースにないことを知っています。つまり、検索するものが何もないのです。シェレの天才的なところは、原理的にもこの問題がニューラルネットワークでは機能しないことを知っていたことです。Michael、どう思いますか?」
Michaelが答えます:
「それは少し先入観があるかもしれません。ARCのベンチマークをどの程度、補間や記憶化でゲーミングできるかは開かれた問題です。実際、これはARCの良いところだと思います。ARCでうまくパフォーマンスを出すことがAGIに近いものを意味する、あるいは非常に有用なものを意味するという仮説は反証可能です。
私はそれを目的への手段としてだけでなく、目的そのものとしても見ることができます。あるいは、そうであるかのようにふりをして、そのスコアを最大化しようとすることができます。そうすることで、うまくいけばその取り組みから多くのことを学べるでしょう。
原理的にARC様のタスクでうまくパフォーマンスを出すことを学習できないという見方には同意しません。」
ティムが続けます:
「以前言ったことについてコメントすると、同意します。知能の代理指標だと思います。シェレの知能の尺度は計算不可能なので、ARCのようなものがあり、ARCのようなものを解決できれば、つまり推論ができれば、基本的にスキルギャップを埋めるために効率的にその場で知識を構築・獲得できれば、知的でなければならないと仮定します。
ただし、ARCには漏れがあるという注意点があります。Muhammadが話していたように、知覚的なショートカットがたくさんあります。おそらくARCを欺く方法はたくさんありますが、基本的な仮定は、ARCの良い解決策はより知的だろうということです。
LLMがただのデータベース検索テーブルのようなものだという見方については、それが事実として知られているのか、それとも単なる類推なのでしょうか?」
Jackが答えます:
「他の最近の研究、例えばAnthropicなどの解釈可能性に関する研究を見ると、これらのモデルが実際に概念を学習し、概念に基づいて物事をグループ化しているように見えます。これらのモデルが概念を学習できるのであれば、学習した小さなプログラムの組み合わせを概念に基づいて導くことができるかもしれません。
そしてそれができれば、本質的に一種の一般化の形を持つことになります。これらのモデルはショートカットや記憶化に傾いていますが、我々のアプローチではモデルにそれをさせないようにしています。そのため、多くのトレーニング例を使用する理由の1つは、必ずしも多くの概念を教えるためではなく、概念の周りの空間を教え、モデルが陥りがちなショートカットを防ぐためです。」
ティムがコメントします:
「例として、化学構造についてLLMをトレーニングし、t-SNEプロットを行えば、周期表を再構築するでしょう。特に、科学者が化学について話す言語でモデルをトレーニングした場合です。なぜなら、我々は社会的にその知識を発見し、ある方法で言語に埋め込み、コーパスに埋め込んでいるからです。そしてそれが表現されるでしょう。
データベース以上のものだということに原則的に同意します。なぜなら、シミュラクラではなく、このベクトル空間を使用してコーパスの周りで何らかの補間的一般化を行っているからです。Anthropicの論文を見て、非常に興味深いと思いました。
しかし、再び、意味カテゴリーは我々がすでに発見したものの反映だと思います。しかし、推論は本当に興味深いです。なぜならARCでは、この組み合わせの空間を走査することが重要だからです。ニューラルネットワークには有限の容量があるため、トレーニング中に記憶できる組み合わせの数には限界があります。」
Muhammadが付け加えます:
「ここで興味深い二分法を確立し、そこから前進できると思います。素晴らしい点をいくつか指摘できると思います。
これらのモデルは一般化できるのでしょうか? トレーニングフェーズから始めて、クラスを正しく分類し、クラスやサブ概念の概念を形成できることを知っています。それができることは知っています。
テスト時には、これらのモデルは新しい例を見て、すでに獲得したフレームを使用して、少し more processing を行うことができます。しかし、それはすべて分布内です。分布外のことについては話していません。新しい例を見たときに、少しの処理、少しの検索が発生します。それについては議論の余地はありません。
同じように、NLPモデルを見ると、全く新しい文があったとき、少し理解を図る必要があります。私とJackが取っている立場、そして長い間チームを組んでいる理由は、システム1とシステム2は基本的に同じものだと考えているからです。ただスケールが異なるだけです。システム1とシステム2の区別は実際には見ていません。
その種の内部処理は、システム2の処理とそれほど違わないと言えるでしょう。今はそれをスケールアップする時です。LLMが分布外でうまく一般化できるとか、記憶化しないと言っているわけではありません。記憶化は確かに起こりますが、それを克服することはできます。
彼らがすでにうまくこなせるタスクの性質を見ると、知覚タスクが得意だということがわかります。知覚タスクとは、無限性に対処する必要があるタスクです。問題を見る無限の方法を扱い、まず目的を理解し、それを実装して解決策を見つける必要があります。
ここでもう1つ興味深いのは、ゼロからの一般化に至るプロセスです。トレーニングで説明したそのフレームを学習し、これらの一般化されたクラスを生成するプロセスです。SGDやAdamなどのオプティマイザーもまた、非常に興味深いものです。テスト時にもそれを組み込んで、より多くの一般化を達成できるかもしれません。」
ティムが質問します:
「システム1とシステム2を区別できますか? 多くの人はシステム1とシステム2の違いは離散的か連続的かだと考えています。シェレはもちろん、ARCチャレンジをシステム2の一般化の例として設計したので、これら2つを区別しました。おそらくディープラーニングモデルではうまく機能しないだろうと。
しかし私にとって、システム2はより長いテールに関するものです。離散的なルールの組み合わせがあると、非常にスパースな空間に入ってしまい、それがディープラーニングモデルで機能しない理由です。Jack、あなたの説明では、システム2の知識とシステム1の違いは何ですか?」
Jackが答えます:
「システム1とシステム2が実際に存在するという素晴らしい神経科学的議論はできないかもしれませんが、意識的で意図的な推論であるシステム2と、より知覚的で自動的で無意識的な処理であるシステム1の違いを理解するのに役立つ良い類推だと思います。
私たちの見方では、これらの2つのシステムの間に魔法のような分割があるというよりも、連続体があるのかもしれません。心理学の概念をいくつか導入すると、Cattell-Horn の知能理論のように階層的な見方をすることができます。g因子があり、その下に流動性知能と結晶性知能があります。
シェレはARCを流動性知能の尺度として見ていたと思いますが、それはかなりうまく機能しているように見えます。LLMがデータベース検索テーブルのようなものかどうかについては、私なら少し違う言い方をします。LLMは結晶化された知能の貯蔵庫だと言えるでしょう。
モデルにはコンテキスト全体で発生する流動性知能が少しあります。しかし、主にアクセスしているのはモデルの結晶化された知能です。私たちのアプローチでは特に、流動性知能の側面をより多く取り入れようとしています。テスト時に物事を変更できるようにして、LLMで見られるいくつかの脆弱性を軽減しようとしています。」
ティムがコメントします:
「結晶化されたデータベースですが、それ以上のものです。なぜなら、ディープラーニングモデルの一般化における流動性はどこから来るのかという疑問があるからです。トランスフォーマーの場合、それは帰納的事前分布です。トレーニング中に入力データのさまざまな対称変換をこの表現空間全体にコピーする種の拡張があります。
そして推論時に、それらの表現の1つを取り出します。あなたが言っているのは、これをひっくり返して、推論時に流動性を持たせようということですね。つまり、実際に異なるものを組み合わせるということです。
ところで、シェレはアクティブ推論という用語を使用しました。私はカール・フリストンの観点からのアクティブ推論が大好きなので、この用語の使用はあまり好きではありません。しかし、それでも類似しています。行動し、感覚情報を得て、モデルを更新するという意味で。
これは一種の遅延評価の形だと思います。基本的に、1000倍大きなモデルと同等のものを効率的に構築していますが、環境からサンプリングすることで計算効率が良くなっています。
しかし、私の疑問は、これは知能の尺度の精神に反していないでしょうか? 結局のところ、まだ効果的に大きなデータベースを構築しているだけではないでしょうか?」
Michaelが答えます:
「それは経験的な問題です。ベンチマークがゲーミング可能で、本当に高スコアを出せるけれど何も洞察を得られないということになれば、それはそれで構いません。もちろん残念ですが、それでも価値ある洞察でしょう。
可能なすべてのARCタスクの空間は非常に大きく、その空間からランダムにサンプリングするジェネレータを書くのは非常に難しいです。どれだけうまくいくか見てみる必要があります。
ARCは10のシンボルと最大30x30のグリッドという非常にミニマリスティックなフレームワークですが、このARCフォーマットでエンコードできる可能なタスクの種類は極めて多様です。私はARCを単にこの特定の1000タスクのセットとしてだけでなく、一種のスタイルやフォーマットとして考えたいと思います。
もし、これらの特定の100か200の隠されたテストタスクがゲーミングされたり何かしたように見えるなら、ARCが存続し、より開かれた、あるいはより動的なベンチマークになることを見てみたいです。」
ティムが質問します:
「ゲーミングするというのはどういう意味ですか? 私たちが情報獲得、つまりSGDを使ってデータベースを作成しているということですか?」
Muhammadが答えます:
「概念の数に対して指数関数的である必要はありません。概念の数をNとすると、e^N ではなく、O(2^N)かもしれません。Jack の言うように、すでに事前知識がある場合、それを再利用できるかもしれません。GPT-4 Vision からの事前知識を使えば、トレーニング時間が少なくて済むかもしれません。
モデル内での構成性がどのように機能するかによって、O(e^N)ではなく O(2^N)になる可能性があります。」
ティムがコメントします:
「みなさん、素晴らしい議論でした。最後に何か言いたいことはありますか?」
Michaelが答えます:
「ARCタスクを見てみてください。非常に面白くて中毒性があります。それを試しながら、有用で洞察に富んだものを生み出せることを願っています。」
Muhammadが付け加えます:
「ARCは本当に面白くて中毒性があります。さまざまなアプローチを試してみて、なぜ失敗するのかを見てください。そして楽しんでください。」
Jackが締めくくります:
「ARCは非常に面白くて中毒性があることを警告しておきます。難しい問題が好きで、このウサギの穴に入り込むと、抜け出すのが難しいかもしれません。ご注意ください。
シェレはこれで素晴らしい仕事をしたと思います。多くの人々が自分の個人的な知識をこれらのことに適用すると、時々私の心を吹き飛ばすような素晴らしいアイデアを思いつきます。外にいる創造的な人々が何をするのか楽しみです。」
ティムが最後にコメントします:
「みなさん、本当にありがとうございました。ARCチャレンジへのそれぞれの提出は素晴らしい仕事でした。これは美しいチャレンジです。
私やGary Marcusのような人々が、あなたがたがそれを解決した後にゴールポストを動かし、本当の知能ではないと主張するかもしれません。しかし、あなたがたが行ったことは非常に興味深いものだと認めていただけると思います。なぜなら、シェレの元の懸念を解決できる可能性があるからです。つまり、問題の新しいタイプに適用できるということです。これは質的な違いだと思います。おめでとうございます。」
Jackが答えます:
「私たちを招待してくれてありがとうございます。あなたの指摘のように、私たちは懐疑主義が必要だと思います。それは私たちが持っているかもしれない盲点を明らかにするのに役立ちます。すべて良いことだと思います。ありがとうございました。お会いできて光栄です。」

この記事が気に入ったらサポートをしてみませんか?