見出し画像

GPT4を用いてCholletのARC-AGIを解く

そして、あなたが数学について指摘したように、問題を見る素朴な方法がある一方で、全く違う空間で問題を捉えることができる可能性があります。私はそれほど詳しくないのですが、解析的数論は基本的に、様々な状況のアプローチ方法について、想像していたのとは全く異なる操作をしているというのが私の理解です。
少し間を置きますが、AGIについてサンフランシスコ的な会話をしているわけですが、人工知能の専門知識で利益を得られるとしたらどうでしょうか。実世界のイベントの結果に賭けられる初の規制されたプラットフォーム、Kalshiをご紹介しましょう。政治からテクノロジー、エンターテインメントまで、何百もの市場に賭けることができます。例えば、OpenAIが2030年までにAGIを達成するかどうかに賭けてみましょう。もちろん彼らは達成するでしょうが、念のため賭けておきましょう。
他の人々がどのように取引しているかをグラフで見るのは非常に興味深いです。知らなかったかもしれない多くの情報を教えてくれるからです。私は500ドル投資しています。これは、OpenAIが2030年以前にAGIを達成したと発表した場合、この取引で17%の潜在的利益があることを意味します。もっと強気になりたいなら、2026年以前に賭ければ、正解した場合にもっと多くのお金を稼げるでしょう。
何か他の人が知らないことを知っているなら、できるだけ早く取引すべきです。Kalshiのアプリを使えば、いつでもどこでも取引できます。最も良い点は、50州すべてで合法だということです。今すぐ私の特別リンクから参加して、100ドルを入金した最初の500人には20ドルのボーナスがもらえます。
では、インタビューに戻りましょう。
はい、なぜなら私は、欺瞞やそういったことについて多くのものを読むとき、その根本的なことだと思うからです。それらはすべて、これらのものが意図性を持っていると仮定しています。目標があるなどと。将来的にはそうかもしれませんが...
ああ、そうですね。もしそれがあなたの立場なら、とても合理的だと思います。
はい、必ずしもそうは思いません。現在の言語モデルは、文脈を超えた目標や意図を持っているとはあまり適切に説明できないと思います。今のところ。ただ、AIがより強力になっていくことについては、よくわかりません。
文脈を超えたとはどういう意味ですか?
つまり、言語モデルにプロンプトを与えて「環境が困難だとしてもXをすべきだ」と言えば、ある程度それを試みるでしょう。しかし、それは特定のことを多くの異なるプロンプトにわたって追求している、潜在的には別のことをするよう指示するプロンプトでさえも追求しているということとは異なります。
そして、これはかなり違うと思います。ああ、なるほど。わかりました。
では、ゆっくり始めましょう。ライアン、MLSTにお越しいただき光栄です。視聴者のために自己紹介をお願いできますか?
はい、私はライアンです。Redwood Researchで働いています。最近、あるいは私が知られているのは、GPT-4を使ってARC-AGIでかなり良いスコアを出したことですね。
はい、ライアンは数週間前にブログ記事を出しました。もちろん、ARCについてのエピソードでも取り上げました。とても印象的でしたし、驚きました。アプローチと現在の精度について概説していただけますか?
はい、まずGPT-4で少し遊んでみて、「このモデルは実際、これらの画像のパターンを認識するのがそれほど悪くない」と思いました。いくつか異なることを試しましたが、最終的に最良のアプローチは、GPT-4にARC-AGIの変換規則を実装するコードを書かせることだと判断しました。
ARC-AGIでは、入力と出力のペアの画像があります。目標は、追加の入力に対して出力を生成することです。基本的に、GPT-4に入力を受け取って出力を生成するPythonコードを書かせます。これを何度も行います。最新の提出では、各入力に対して約1000回行っています。
そして、これらのプログラムをすべて持っていて、与えられたすべての例でそのプログラムを実行し、すべてのテストケースをパスするかチェックできます。そして、すべてのテストケースをパスするプログラムを選び、保留されている入力に対してそれを実行します。それが私の出力を生成し、他の入力で正しかったので、これも正しいことを期待して提出します。
パフォーマンスを向上させるために他にもいろいろなことをしていますが、それが私のアプローチの核心です。
なるほど。複数のプログラムが機能する場合、どれを選びますか?
現在行っているのは、保留されている入力に対するそれらのプログラムの出力で多数決を取ることです。実際には、プログラムが一般的に何をするかは気にしません。提出する必要がある入力に対して何をするかだけが重要です。
そして、テストケースで実行します。多くのプログラムが保留されている入力に同意していれば、問題ありません。すべて同じことを考えています。もし意見が分かれていれば、明らかにそのうちの1つは間違っています。正解は1つしかないからです。
しかし、90%が同じことに同意し、10%が別のことを考えているなら、90%の方を選びます。実際、ARC-AGIでは2つの推測を提出できるので、最も多く投票されたものを最初に取り、次に2番目に多く投票されたものを取ることができます。
これはパフォーマンスをわずかに向上させますが、大きな違いはありません。ランダムに選ぶようなより素朴な戦略と比べても、それほど変わりません。多数決の高分散近似にすぎません。
この曖昧性の概念にとても興味があります。おそらく、多くのARCの問題を解決する可能性のある無限のプログラムセットがあるでしょう。また、問題をどのように概念化するかにも興味があります。問題の概念化に曖昧さがあり、解決策にも曖昧さがあります。そして、可能な解決策の中から曖昧さを解消する際に、どのように行うかについて議論できます。最も複雑さの低いもの、記述長の短いもの、あるいは人間の直感に最も合致したものを選ぶかもしれません。これについてどう思いますか?
はい、言語モデルがチートしようとしていないという事実に大きく依存しています。言語モデルが単にチートしようとして、見た解決策を特別扱いし、正確にそれらを再現しようとしているだけなら、正しいプログラムを選択しても、それらの入力に対して正しいプログラムを得るだけで、一般化する望みはありません。
しかし実際には、モデルは少なくともある程度は良い試みをします。したがって、与えられたこの入力に基づいて合理的な推測をするプログラムの事前分布から、プログラムを生成しているようなものです。与えられた正確な入力に過度に特化していないものです。
モデルが過度に特殊化しているケースもいくつか見られますが。
そして、そのプログラムを持っていれば、複雑さが最も低いものを選ぼうとしてもあまり役に立たないと思います。なぜなら、複雑さの良い概念がないからです。別のモデルに、プログラムがどれだけオーバーフィットしているように見えるかを評価させ、非常にオーバーフィットしているように見える場合は拒否するということは役立つかもしれません。しかし、これは主にコストを追加するだけで、大きな利益はないと思います。なぜなら、すべてのプログラムをレビューするために別のモデル呼び出しをしなければならないからです。
ここでの曖昧性に関しては、プログラム空間には多くの曖昧性がありますが、プログラムの動作には適用されないということは注目に値します。任意のものを実装する方法は多数ありますし、さらに、テストケースで同じことをするが、潜在的に保留されている値で異なることをする多くの実装があります。
はい、プログラム空間と動作空間の二分法は非常に興味深いですね。それについてどのように考えていますか? 今は動作空間を見ているのであって、プログラム空間ではないということですね。
はい、私のアプローチは基本的にプログラムをまったく見ておらず、基本的にその動作だけを見ています。その意味では確かにそうです。しかし、プログラムの空間で強い保証に依存しています。プログラムはオーバーフィットしようとしていません。私が使用していたアプローチは、プログラムがランダムであれば成功する可能性はありません。
また、プログラムが実際に正しい解決策に近づいているか、かなり高い割合で正解にヒットしていることも必要です。
はい、興味深いですね。あなた自身の言葉で、ARC-AGIチャレンジの目的は何だと思いますか?
私はこれを、現在の言語モデルが弱い点を示す興味深いベンチマークだと思います。現在のAIが少し劣っている点です。
現時点での私の見解では、ARC-AGIに関して最も重要なのは、視覚的推論とある程度のパズル解決能力、そして一般的な推論能力です。
また、これらの問題にアプローチする方法は多数あり、一部のアプローチは異なるスキルに依存することも言及すべきです。私のアプローチは先ほど述べたものに依存していますが、それらのものにまったく依存しないアプローチを使用することも可能です。
私にとって最も興味深い部分は、現在の言語モデル、あるいは一般的なAIが非常に苦手とする特定の性質をどの程度捉えているかということです。私は言語モデルにやや固執しがちですが。
現在の言語モデルは一部のことが非常に得意です。多くのプログラムをかなりうまく書くことができます。しかし、それらは多くの知識に依存しています。言語モデルは人間よりもはるかに多くのものを記憶しています。あらゆる言語を話せ、コードで話せ、すべてのプログラミング言語を話せます。
しかし、推論や状況の理解、文脈から学ぶ能力については、人間よりもかなり劣っています。いくらかの能力はありますが、明らかに弱点です。
はい、視覚的推論についておっしゃいましたが、それも非常に興味深いですね。異なるドメインでの推論がどのように変化するかに興味があります。TerranTaoの成長についての論文を読んでいました。GN Taoの論文だと思いますが、読んだことはありますか? 7歳の少年でさえ、数学の天才でした。彼は多くの問題を解く際に、空間的な方法ではなく分析的な方法を好んだようです。
しかし、抽象空間の奇跡は、まず多くの推論がモダリティ内で行われるということです。そして抽象化は、モダリティ間のメタリンクを見つけることです。例えば、重力が惑星の動きとリンゴが木から落ちる動きをリンクしているものだと識別することです。実際にドメイン間のそのリンクを作ることは興味深いですね。
また、私はARC-AGIチャレンジは知識に関するものだと思います。Cholletは具体的に、ここに知識のギャップがあると言いました。推論は知識を獲得する方法で、知能はその推論プロセスの効率性です。知識がない問題を与えられていますが、そこで問題は、知識はどこから来るのかということです。
言語モデルは知識を持っており、抽象的な推論は、データとそれから作成するモデルの間の情報空間またはパスウェイを見つけることができることです。そのリンクは非常に希薄かもしれません。どうやってそのリンクを効率的に見つけるのでしょうか?
はい、多くのことをおっしゃいましたので、一つずつ応答させていただきます。
まず、人間にとってパズルは視覚的推論を使って最も自然に解くことができます。パズルはしばしば、形を動かしたり、回転させたり、あるいは1つのグリッドのサブセットを取って別のものを見るといったことを含みます。そのため、人間にとっては視覚的に解くのが最も自然だと思います。
もちろん、あなたが指摘したように、別の体制に変換することもできます。例えば、すべてのパズルを言語モデルやある種の人間にとってより扱いやすいDSLで表現することもできるでしょう。そしてそれは必ずしも視覚に対応するものではありません。
そして、あなたが数学で指摘したように、問題を見る素朴な方法がありますが、全く異なる空間で問題を捉えることもできます。私はそれほど詳しくありませんが、解析的数論は基本的に、様々な状況へのアプローチ方法について、想像していたのとは全く異なる操作をしているというのが私の理解です。
そう、基本的に同意します。私の見解では、実際にARC-AGIパズルを解くための最も効果的な方法は、少なくとも私のアプローチを使用する場合、視覚的推論に依存することになるでしょう。そしてそれは、モデルが大量の画像でトレーニングされ、その過程で画像を理解し、パターンを認識し、推論する一般的な能力をある程度獲得したという事実に基づいています。その能力はやや弱いものの。
次の点に移りますと、ARCチャレンジは知識についてだとおっしゃいましたが、あなたの説明はむしろ知識を素早く獲得したり適用したりすることについてのように聞こえました。例えば、どのパズルについても、誰もがすでに頭の中にある規則のセットから適用可能な規則を記憶しているとは思いません。膨大な数の規則の中から特定の規則を引き出しているわけではありません。
少なくとも私の場合、これらのパズルをかなり解いてきましたが、動く部分についてある程度の感覚を持っています。サブセットを見ている、色を変えている、様々なスタイルがある、空欄を埋める、グリッドがあるなど、頭の中にこれらの動く部分があります。そのため、これらのパズルをより速く解くことができます。実際にドメインにオーバーフィットしているからです。多くのこれらを見てきたので。
人間は確かに時間とともにこれらを解くのが上手くなります。私は確かにそうなりました。そして、ほとんどの人が持っている知識を使って、比較的新しく解くこともできます。
私のアプローチでは、言語モデルがどのように行っているかについての私の推測は、その中間のどこかだと思います。私のアプローチでは、実際には私ほどARC-AGIにオーバーフィットしていないと思います。なぜなら、おそらく私ほど良く学んだ例をそれほど多く持っていないからです。関連するデータの束でトレーニングされたかもしれませんが、他の多くのデータと一緒にトレーニングされ、おそらくそれほど顕著ではありません。一方、私はパズルをいじって多くの時間を費やしました。
将来的にはそれが変わるかもしれません。次のモデルのトレーニングランがどのようなものになるかわかりません。しかし、私の推測では、ある意味では実際にこの領域では不利な立場から操作しています。これは少し驚きです。なぜなら、ほとんどの場合、彼らの利点はこれを見たことがあることですが、この場合はそれが不利な点の一つだと思うからです。
はい、そうですね。システム2の創造とシステム2の直感の間には興味深い二分法があると思います。リドルを解くとき、多くの友人が言うように、それはスキルです。実際に学ぶことができるものです。ARCは推論の概念に似ていると思います。基本的に、一連の妥当な仮説を設定し、それらの仮説について推論を行っています。これは直感によって導かれます。
子供たちが学校で数学を教えられるとき、電卓の使用は許可されません。なぜなら、推論の方法、規則、公理などを教えているからです。単純に「なぜ面倒なの?電卓をくれればいいじゃない」と思うかもしれません。しかし、理由は、これらの規則を直感的に組み合わせて他の問題を解決するのに非常に強力な知識だからです。
今では、この知識を持っていて、それを補間しているだけです。直感を使っているだけです。しかし、重要な問題は、知識はどこから来たのかということです。ある時点で、非常に賢い人が、私たちが科学で行っていることですが、多くの状況で機能する抽象的なモデルを考え出しました。
そして、私たちの多くはモデルを使用しません。なぜなら、すでにそれらが使用されていることを知っているからです。そして、パターンマッチングと直感を行うだけです。しかし、ある時点でモデルは発明されたか、発見されました。そして、これらのモデルがどれほど基本的かという疑問があります。
数学的な操作でさえ、集合演算の形で表現できます。いくつかの本当に基本的な操作があり、プログラム学習を行うアルゴリズムを持つことができ、不可解な操作の組み合わせのようなライブラリがあり、それでうまくいくかもしれません。しかし、それは人間に適合せず、理解しにくいでしょう。
知識をどれほど基本的に表現できるか、そして知識がどこから来るかについて、どう思いますか?
そうですね、少し反論させてください。実際、私の仕事では、モデルを本当に上手く扱える人は、基本的にインスピレーションを得て再発明することがよくあります。6ヶ月前に持っていたアイデアを基本的に再発明することがよくあります。「ああ、それはいいアイデアだ」と思い、「まあ、基本的にすでに知っていたけど」と気づきます。
私にとって、ある種の再発明と、ヒントを得ての再発明が、物事を把握する能力の鍵だと思います。ある意味で、圧縮されたメモリーを持つ最良の方法は、再発見できるような最良のポインターを持つことです。
多くの知的作業において、重要な知識の部分を他の知識から基本的に再発明できる体制にいることが良いアイデアだと思います。どこかのブログ記事で初めて読んだと思いますが。
ARC-AGIが推論についてだとおっしゃいましたが、少なくとも私にとっては、多くのパズル、少なくともより簡単なパズルは、基本的に直感を使用しています。少なくとも私にとっては、パズルを見て、ルールが何かを基本的に知っています。そして、「よし、ルールがわかった」と思い、それをチェックします。ただ単に、ルールが何かを知っていただけです。
そして、ルールの形がわかっているけれど、いくつかの自由変数がある、というパズルもあります。例えば、この形が色を変えられているとわかっていますが、どのように色が変えられているのかという詳細がわかりません。そして、意識的に、あなたが言うようなより「システム2」や「遅い思考」のスタイルの推論を行う必要があります。
そして、それが実際に核心的な要素であることに同意します。興味深いことに、私が使用するセットアップでは、両方のフェーズが2つの異なる点で発生します。
私のアプローチには基本的に2つの部分があります。1つは、言語モデルに推論を行わせ、コードを生成させることです。最初に、私がプロンプトした方法に基づいて、一種の思考の連鎖の推論を行います。次にコードを生成し、これらのプログラムに対して一種の選択を行います。
正しい直感を持つことと、より「システム2」的な、把握するのが難しい部分、テストが必要な部分の両方を選択する選択フェーズがあると言えます。しかし、モデルが推論を行う際にも、直感と仮説を排除する両方を少し行います。
これは得意ではありません。多くの場合、失敗します。しかし、実際に自己修正を行い、時々は正しく修正します。状況を分析し、よりシステム2的な方法で分析します。異なるグリッドがどのように見えるかを説明させ、共通点に気づかせます。
多くの場合、混乱していることを明確にしておきます。これらの推論の痕跡を見れば、平均的な推論の痕跡を見ても感心しないかもしれません。しかし、実際の推論能力、実際の能力の火花のようなものがあると言えます。
それに加えて、2回目のパスも行います。これはかなり役立ちます。モデルが近づいているように見えるが、何かを間違えたソリューションを取り、別のコンテキストでモデルに与え、「ほら、誰かバカが書いたソリューションがあるよ。誰が書いたんだろう。これを修正して、実際に機能するようにできる?ここに実際に例で出力したもの、ここに出力すべきだったものがある。コードを修正してね」と言います。
実際には、以前のバージョンのモデル自身が書いたと伝えますが、面白いのは、青天の霧から何かを受け取って、「ああ、誰かがこれを書いたんだね。さあ、修正しよう」と言うようなものです。コンテキストもほとんどなく、状態もほとんどない状態で、他の誰かが書いたこのプログラムを修正しなければならないのです。
はい、そこで3つのことを考えさせられました。まず、探索対フレーミングの根本的な二分法があります。多くの初期のソリューションは、初期のチェスアルゴリズムのように、基本的に網羅的な探索を行いました。事実上、多数の補完を生成し、いくつかの改良を行うというものです。
言語モデル内の知識とARC問題内の知識のベン図があると考えることができます。もしそれらが主に重なっているなら、理論的には言語モデル内で到達可能な解決策があるはずです。これについてどう思いますか?
また、これらの反射的なステップ、思考の連鎖の推論などについてもあります。これらは、エージェント的な潜在的な軌跡の集合とほぼ見なすことができます。思考の連鎖を設定し、プロンプトを設定すると、言語モデルをデータベースクエリのようなものと考えると、基本的に可能な検索軌跡の円錐を作成しています。
また、この場合はPythonインタープリターである評価関数から外部情報を引き出しています。その中を移動しているようなものです。イオンがこれほど簡単に見つかるのは興味深いですね。30,000の補完について話していますが、実際にはそれほど低くないと思っていたので、かなり良いですね。
そうですね、最新のソリューションでは、問題あたり約1,000の補完を使用しています。
ああ、そうですか。それについて教えてください。
公開リーダーボードの最新の提出では、基本的に問題あたりの提出数を減らしました。より多くの問題で実行したかったからです。コスト予算があり、その再提出の一部として、いくつかのマイナーな改善を含めました。
そのため、ソリューション数が少なくなっています。また、使用するソリューション数と性能の関係を示す曲線を見ることができます。ある観点からは、その曲線は非常に厳しく、別の観点からは言語モデルの能力について非常に楽観的です。
なぜなら、サンプルを追加してもそれほど素晴らしい見返りがないからです。私のアプローチでは、サンプル数を倍にするごとに、おそらく追加で4〜5%程度正解率が上がります。これは、私が使用しているさまざまなステップをすべて考慮に入れた場合の最新のソリューションについての話です。
つまり、「サンプル数を指数関数的に増やしているのに、解決できる問題の割合は一定の増加しかない」と言えます。かなり厳しいですね。追加で30%正解率を上げたいなら、10回の倍増が必要です。10回の倍増は、2,000以上になりますね。それは多くの倍増です。
しかし同時に、少数の倍増でも非自明なパフォーマンスが得られることを意味します。例えば、最新のアプローチでは、合計約256の補完で、おそらく約35%の精度を得ています。
これは人間がやるよりもかなり悪いですが、人間がやるのと比べてそれほど極端に悪いわけではありません。私の推測では、評価していたテストセットでの典型的な人間のパフォーマンスはおそらく70%程度です。正確にはわかりませんが。
私のパフォーマンスはおそらくそれよりもかなり高いでしょう。90-95%くらいかもしれません。私は練習していますし、おそらく普通の人よりもこれらの問題を解くのが上手です。また、私のミスの相当な割合は、グリッドをクリックしたりタイプしたりする際のミスによるもので、それほど興味深くありません。
しかし、何かを得ています。一部のパズルは、これほど多くのサンプルがある場合でも、そこまで些細なものではありません。推論の痕跡を見ると、アイデアを把握しているものの、詳細を間違えていることがかなりよくあります。
例えば、「水平線があって、それを完成させたり、水平線を追加したりする必要がある」というアイデアは把握していますが、その詳細の1つを間違えてしまいます。または、ルールをほぼ正しく把握しているのに、実装を間違えることもあります。すべての難しい作業を行い、幸運にもルールを把握したのに、オフバイワンエラーがあるというようなことです。「惜しい!」というような感じです。
はい、あなたのブログを読んで楽しみました。驚きでしたし、いくつか例も試してみましたが、同様にGPT-4がソリューションのアウトラインを把握する能力に感銘を受けました。しかし、あなたが言ったように、存在すべきではない愚かな小さなエラーが驚くほど多くあります。
指摘したいことが2つあります。Jackと話したとき、彼は基本的にファインチューニングや拡張、いわゆるアクティブ推論について話していました。実際には、基本モデルを再トレーニングしています。
あなたのソリューションで非常に興味深いのは、そうしていないことです。基礎モデルを使用し、多くの計算を行っていますが、基礎モデルは凍結したままです。これは非常に興味深いですね。
アスペクト比という用語を使って、多くの初期補完を行うことと、深い補完を行うこと、つまり多くの改良ステップを行うことのトレードオフについて話したいと思います。そこにはどのようなトレードオフがありますか?
まず、アスペクト比の質問から始めて、その後でアクティブ推論と他のものとのトレードオフについて話すかもしれません。
私のソリューションがどのように機能し、私が行った選択において非常に重要な側面は、OpenAIのエンド補完機能、あるいは様々な言語モデルAPIが持つ機能を大いに活用していることです。これは、プロンプトに対して一度だけ支払えば済む補完を得られる機能です。
デフォルトでは、補完を得るたびに、モデルが全体のプロンプトを処理するために支払わなければなりません。しかし、少なくともcausal Transformer アーキテクチャの賢い詳細のために、実際にはプレフィックスを保存し、プレフィックスを一度だけ処理して、多くの補完を得ることができます。
これには非自明な側面がありますが、基本的に、多くの異なるAPIやライブラリが、固定プレフィックスに対して一度に多くの補完を得るオプションをサポートしています。これがなければ、私のソリューションははるかに高価になるでしょう。おそらく10倍ほど高価になると思います。
そのため、実際には非常に深いことを行うオプションはありません。なぜなら、分岐に対して大きな補助金があるからです。各ポイントで、32や64以下の因子で分岐すると、お金を無駄にしていることになります。
これらの種類のソリューションを、パフォーマンスあたりのコストとして考えるべきだと思います。これはARC-AGIのソリューションだけでなく、他の問題のソリューションにとっても非常に自然な考え方だと思います。
基本的に、現在の技術的なアフォーダンスでは、非常に深く進むオプションさえありません。とはいえ、深く進むことが不可能というわけではありません。
以前言ったように、プレフィックスをキャッシュしたり、プレフィックスに対して行われた処理を保存したりできます。これは深く進む場合にも機能します。基本的に、モデルが出力を生成し、その新しく生成された出力とともにプレフィックスをキャッシュし、別の出力をサンプリングし続けることができます。世界からのフィードバックを得ながら、そこから続けることができます。
また、各補完がモデルから行われる際に、モデルが望むだけ深い推論を行い、その推論も補完を生成していることに注意すべきです。
私が使用しているソリューションでは、より自然なワークフローかもしれないものは、補完を生成し、その出力を見て、デバッグを行い、モデルにツールを使わせるようなものです。例えば、グリッドのどこかにズームインしたり、クリックしたり、様々な視覚化ツールを使用して視覚化を生成したりするPythonコードを書いたりするなど。
これらはすべて完全に機能する可能性があり、最終的な提出にズームインする前に、多くのアクションを行う言語モデルエージェントのようなものを作る強い障害はありません。
私がそうしなかった理由は、前に言ったように、基本的に分岐因子が低すぎて効率的ではなく、うまく機能しないからです。
もう1つの理由は、モデルは現在、良い最初の試みをするよりもデバッグが得意ではないからです。人々がモデルでデバッグを試みたことがあるかどうかわかりませんが、非常に頻繁にループに陥ったり、物事を台無しにしたりします。
ある程度のデバッグはできますが、特に最近では、Anthropicのブログ記事での様々なベンチマークに基づいて、3.5 Sonnetはこの種の生成的タスクやデバッグでかなり良くなっているようです。プルリクエストのベンチマークで、かなり良くなっていると言っていました。
しかし、最初の試行で機能するコードを作成することにおいては、人間よりもはるかに優れています。プログラミングの問題を取り、バックトラックなしで全体のソリューションを一度に書き出すことを試みたことがあるでしょうか? これは簡単なことではありません。モデルはそれを直接行っています。
ある意味で、人間よりもはるかに優れていますが、「ソリューションを作成したが、この問題があるので修正する必要がある」というプロセスでは劣っています。人々はこれを改善するためにトレーニングしており、時間とともに改善されています。
そのため、ある意味で幅広いアプローチは、言語モデルの専門性である「多くのものをサンプリングし、最良のものを選ぶ」という方法に適しています。これは一般的なパターンだと思います。最良のものをサンプリングするか、多くのものをサンプリングして最良のものを選ぶというものです。
はい、そのアスペクト比の質問についてはそれでよいでしょうか?
はい、実際に興味深かったのは、エージェント的なソリューションがあり得るということでした。エージェントが実際にグリッドから情報をサンプリングし、多くのことを行うというものです。
計算のグラフのようなものを想像でき、そのグラフの形と行われている作業量に基づいて、推論の効率性について何らかの声明を出せるかもしれません。
しかし、1つ気づくのは、これはニューロシンボリックな方法だということです。つまり、そのグラフには異種の計算が含まれています。言語モデルの推論とチューリングマシン、Pythonインタプリタなど、さまざまな計算モデルが混在しています。
これは関連があると思います。なぜなら、そのようなハイブリッドアプローチが重要だと思うからです。これについてどう思いますか?
そうですね、ニューロシンボリックという用語は、この場合少し誤解を招くように感じます。あなたが言った理由で適用されるということには同意します。「Pythonインタプリタを使用している側面があるため、ニューロシンボリックだ」と言うのは構いません。それは用語を定義する良い方法です。
しかし、その場合、ソフトウェアエンジニアリングは非常にニューロシンボリックな分野だと言うべきです。なぜなら、ソフトウェアエンジニアリングを行うとき、コードを実行し、リンターを実行し、常にプログラムの出力を見ています。ツールを使用し、静的解析ツールを使用しています。
そして、それでも構いません。ソフトウェアエンジニアリングの生産性の重要な側面は、多くのツールへのアクセスを提供することだと言えるでしょう。しかし、それは人々に何が起こっているかについて誤った見方を与えるかもしれません。
この場合、少なくとも私にとって、その言葉の一般的な含意は、システムが実際に「正直な」思考を行う方法の核心的な側面が、学習されたものではなく、コンピュータプログラムを使用するような象徴的な表現にあるというものです。
私が行っていることの場合、それはそれほど正確ではないと思います。もちろん、スペクトラムがあります。一つのことがどれだけで、別のことがどれだけかという質問があります。
私のソリューションは、モデルにプロンプトを与え、一度に生成し、完成したグリッドをトークンとして出力するというソリューションよりも、はるかにニューロシンボリックです。
しかし同時に、例えば多くの象徴的な状態を明示的に表現し、そのレベルでより多くの構造を構築するようなアプローチよりも、はるかにニューロシンボリック、あるいはニューロシンボリック側の象徴的な部分が少ないと思います。
私が使用しているアプローチでは、多くの構造が基本的にモデルがコードを書くという事実から来ています。改訂の部分を省いても、基本的にソリューションは、モデルが問題を受け取り、推論を行い、コードを出力し、最良のコードを選択するというものです。
そして、そのコードに対応するものを生成する、基本的に1つの象徴的な要素があります。確かに、それは重要な要素で、多くの助けになります。しかし、それは私がコードを書いて問題を解決するのと似ているように感じます。自分でやらずに、コードを書いて解決します。
そこで少し反論させていただきましたが、もっと内容があります。続けてもよろしいでしょうか?
はい、コードを選ぶだけでなく、コードを実行することも重要だという短いコメントをしたいと思います。なぜなら、実際に作成された成果物は象徴的なプログラムだからです。
ARC-AGIチャレンジのようなものを解決するには、ハイブリッドなアーキテクチャが必要だと信じています。つまり、タイプ1の要素とタイプ2の要素が必要です。あなたのソリューションの興味深い点は、タイプ1からタイプ2へと進んでいることです。
直感的な部分があり、プログラムを生成し、それを評価して選択しますが、プログラムも実行します。なぜなら、それが成果物だからです。これはCholetが言ったことです。知的なシステムは、スキルのあるプログラムを生成するものだと。
そして、それがタイプ2のプログラムであるため、チューリングマシンで実行されます。つまり、拡張可能なメモリーを持ち、潜在的に無限の数の可能な状況に対処できます。なぜなら、これら2つのマシンは無限のテープを持っているからです。
Jack Coleは、象徴的なタイプ2のプログラムは狭いが深く、タイプ1の機械学習プログラムは広いが浅いと言いました。そのような出力成果物を持つことは明らかに非常に堅牢です。
なぜなら、2D格子上でこの種の幾何学的操作を行うPythonでよく記述されたプログラムがあれば、明らかに無限の状況で機能するからです。Pythonインタプリタが無限の可能なPythonプログラムを受け入れることができるのと同じように、それは単に異なる計算モデルだからです。
そうですね、ここでもう少し反論させてください。人間がARC-AGIを、まずパズルについて考え、次に問題を解決するためのプログラムを書くことで解決したと仮定してみましょう。
私は、彼らがプログラムを書いているときにシステム2の推論を行っていると言うでしょう。プログラムが評価されているときだけではありません。もちろん、システム1の推論も行っていますが、両方を行っています。
私が使用しているアプローチでも、プログラムの評価も言語モデルも、純粋にシステム1やシステム2のスタイルの推論としてよく説明されるものにきれいにマッピングされるわけではありません。
おそらく、プログラムの評価はシステム2に明確にマッピングされますが、それはシステム1の弱点を補完しているのです。
私はこう考えています。モデルはいくつかのプログラムを受け取り、直感を持ち、その直感に基づいて生成を開始します。おそらく内部でシステム2の推論も少し行っていますが、モデルはかなり愚かで、浅いので、おそらく非常に限られたシステム2の推論しか内部で行っていません。
そして、生成を始め、これらのトークンはシステム2の推論を行っています。グリッドで何が起こっているかを概説し、それを言葉で説明し、説明したものに基づいていくつかのことを考慮し、場合によっては仮説を拒否したり、これまでに見たものに基づいて推測を洗練させたりします。
そして、このプログラムを生成し、それをあるプロセスに渡します。そのプロセスは、ある意味で、モデルが時々失敗することを補完しています。システム1の失敗とシステム2の失敗の両方を補完しています。
人間の場合、システム1とシステム2の間にかなり明確な区別があります。これは人間の推論を考えるための非常に良いモデルだと思います。しかし、AIで構築される将来のシステムの推論を考えるための良いモデルになるかどうかは明確ではありません。
そうなるかもしれません。そうならない強い理由はないと思います。一つのケースで適用されるなら、なぜ別のケースで適用されないのでしょうか。しかし、一つのモデルに過度に固執しないよう注意すべきだと思います。
ただし、現在話している場合には、それほど悪いモデルではないように思います。
そうですね、私たちの意見はそれほど離れていないと思います。言語モデルの要素は、システム2のような補間形式のシステム2推論を行っていると言えるかもしれません。発明的な形式のシステム2推論ではなく。
1988年にFodorとPylyshynが書いた「コネクショニズムの批判」という素晴らしい論文がありました。これはHintonの時代にさかのぼります。彼らは基本的に、ニューラルネットワークは記号を扱わないと主張していました。
なぜなら、下流の操作がすべて、計算の意図的な構造を維持しないからです。これは別の種類の意図的です。Sで始まる意図的です。つまり、操作の基礎となる象徴的な代数を維持しないのです。
しかし、言語モデルの出力を見ると、象徴的なことをしているように見えます。象徴的な操作を行うことができ、かなり一貫性があります。同じように機能すると考えるのは少し幻想かもしれません。
私は、口語的な解釈的効果的な推論の巨大な空間があり、推論しているように見えますが、種類の違いがあると思います。
はい、そうですね。私たちはそれほど離れていないと思いますが、ここでは少し意見が異なります。
言語モデルでチューリングテストを行うと仮定してみましょう。人間1人と言語モデル1つがあります。そして、「おや、言語モデルは本当にうまくやっているようだ。多くのことをしている」と思います。
おそらくChain-of-Thoughtで推論が起こっているのかもしれません。言語モデルの内部で起こっているのかもしれません。ある時点で、言語モデルが十分に良ければ、「わからない。何をしているのか、解釈的なのかどうかわからない。しかし、行動的に同じ目的を達成している。同じことをしている」と言わざるを得なくなります。
私は「なぜそれが機能するのか判断する立場にいるのだろうか」と思います。なぜそれが機能するのかは興味深いですが、制限要因が何であるかについて結論を急ぐべきではないと思います。これらのシステムを本当に理解していないし、内部で何が起こっているのかわからないからです。
フードの下を覗いて本当に何が起こっているのかを理解しようとすれば、膨大な量の直感、膨大な量の知識が見えるでしょう。そして、この観点からすると、多くのタスクでいわば「ごまかしている」か、非常に人間らしくない方法で行っているでしょう。
しかし、同時に、私の推測では、最終的には、実際に正しい方法で物事を行っている場合や、実際に比較的一般的な能力を含む方法で行っている場合が多くあると思います。
現在は狭いです。これを補完していますが、時間とともに構築されていると思います。おそらく、より浅い発見的方法から始まり、より深い発見的方法へ、さらにより深い発見的方法へと構築されていくでしょう。
システム2の推論は、モデルが多くのトレーニングを通じて学ぶ可能性のある、より深い発見的方法の特別なケースに過ぎないと思います。
Transformerアーキテクチャには、この種の推論にあまり適していない点がいくつかありますが、これが起こらない根本的な計算上の理由はありません。
深さに制限がありますが、人間も5秒間では深さに制限があります。それでも、5秒間の人間は、システム2の推論の一部としてよく説明されることを行うことができます。
モデルは多くの場合、生成を行わずに1回のフォワードパスで、人間なら20秒かかり、本当に考える必要があるようなタスクを行うことができるように思えます。おそらく少しごまかしていて、少しシステム2の推論を行い、それらをすべて混ぜ合わせているのでしょう。
これが1つのポイントです。2つ目のポイントは、モデルがChain-of-Thoughtを使用できることです。言葉で推論を行うことができ、多くの場合、人間が問題を解決する方法にかなり近いと思います。
モデルが数学の問題を解く場合、多くの場合、人間が数学の問題を解く方法と非常に似ているように思えます。「まず、これらの数字を足し、次にそれを掛け、次に何をすべきか考えて、次のステップを行う」というように。
これらの各ステップは一度に1つずつ起こり、潜在的にコースを変更する可能性があります。
モデルがそれをやや異なる方法で行っている点がいくつかあります。Chain-of-Thoughtで何が因果的に責任があるかを調べた興味深い研究があります。
モデルが何かを生成し、「まず1+2をして、次に7を掛ける」としたとします。7を8に変更したり、実際には中間結果を変更したりします。1+2の結果を3から4に変更し、続けます。これがモデルをどれほど混乱させるかを見ます。
最も強力なモデルでは、中間値を変更しても、わずかな影響しか与えません。完全に台無しにはしません。4に変更すると、常に次の数字を間違えると思うかもしれませんが、モデルはある種のもっとぼんやりとしたことを行っていることがわかります。
私は人間も同じようなことをすると思います。例えば、Chain-of-Thoughtを書いたり、現在の推論を書いたりするとき、時々間違いを犯しますが、それに気づきません。
1+2を行い、4と書くことがあります。3を意味していたことを基本的に知っていましたが、書いているときに間違いを犯したか、間違ったことを考えました。そして、そのまま進みます。
モデルがエラーを認識している可能性もあります。4が間違っていることを強く知っていて、「そこにエラーがあったが、次のものの最も可能性の高い推測は何か」と考えます。エラーがあっても、正しく続けることの方がまだ可能性が高いので、正しいことです。エラーを補償することができるのです。
はい、はい、はい。これは、コネクショニズムの美しさを思い出させます。Andrej Karpathyの「Software 2.0」の記事を思い出します。彼は基本的に、ニューラルネットワークの忠実度が徐々に低下しても、同じことを半分の精度で行うことについて話しています。私は同意します。おそらく私たちの認知の一部のモードでも同じことをしているのでしょう。これは多くのコネクショニストが考えていることです。Nick Chaterにインタビューしましたが、彼は基本的に心は平坦で、ニューラルネットワークのように不可解なニューロンの塊に過ぎないと考えています。
実際、意図性や一貫した信念などのタイプ2の推論を持っているという考えはすべて幻想に過ぎず、私たちは実際にはニューラルネットワークに思っているよりもずっと似ているのだと。
しかし、これはいくつかの興味深い方向に向かいます。人々がニューラルネットワークの能力を過大評価し、過小評価もしていると同意します。
私の見解では、エージェンシーの問題と推論の問題、そして創造性の問題に焦点を当てたいと思います。私にとって、創造性の問題は発明的推論と同じです。
人々がそれらをツールと見るか、エージェントと見るかの違いだと思います。私にとって、エージェントは非常に重要です。最小限のエージェントは、行動の原因が外部ではなく内部から来るものです。例えば、糖の勾配を上る小さなバクテリアは最小限のエージェントです。行動が内部から来ているからです。
もちろん、最も強力な形態のエージェントは意図的なエージェントです。実際に自分の目標を設定し、周りの世界を形作りたいと思うものです。
私は、ニューラルネットワークには発明的推論やエージェンシーがないと信じています。その理由を説明しましょう。
これらのモデルには長い尾の脆弱性があると思います。ツールとして使用されているため、人間は推論を行っていることに気づきません。プロンプトを行うとき、実際に推論を行っているのは私たちです。明らかに、行動の原因と目標は私たちから来ています。
そして、Chain-of-Thoughtを行い、すべてのプロンプトを行って、可能なパターンの興味深い軌跡を作成します。エージェントに自律性を設定することはできますが、それでも興味深い可能なパターンの軌跡をたどることができます。
しかし、それは収束しています。私たちと同じように開かれていません。先ほど言ったように、私たちにもエージェンシーがないと主張することもできますが、それは別の問題です。
つまり、この固定された軌跡があり、私たちは人間化し、推論やエージェンシーをモデルに誤って帰属させているのです。
はい、いくつかのことを言いましたが、3つのことを考えさせられました。
まず、脳には構造がありますが、脳には完全に均一な組織もあり、それが学習しているという両方の事実があります。私は神経科学者ではありませんが、私の理解では、前頭皮質は非常に均一だと考えられています。
実際、私たちが最も感銘を受ける推論の多くは、基本的に均一なものから成長したものです。もちろん、再帰性などによって課される構造もありますが。
これは注目に値すると思います。
第二に、言語モデルも完全に接続されたMLPではありません。構造を持っています。私たちはアーキテクチャを設計しました。進化が脳の構造を設計し、経験から学ぶことができる多くの均一なものを作ったのと同じように、人間の設計者と人間の設計に対する選択が、このニューラルネットワークアーキテクチャを作り出しました。
そのニューラルネットワークアーキテクチャは比較的均一ですが、寿命を通じて学習しています。私は、言語モデルのトレーニングランは、寿命内の学習と非常に似ていると考えています。
この類推は、Steve Burns(時々読んでいる人)から借りています。私にとっては非常に類似しているように見えます。
現時点では、いくつかの点で非常に異なっています。例えば、言語モデルは、各トークンが1秒だとすると、おそらく3000万年生きているようなものです。それは非常に長い寿命です。私は3000万年生きません。
言語モデルの寿命の30年目から始めると、完全にダメです。何もできません。本当に巨大な寿命が必要でした。
同時に、各瞬間をより少なく生きているとも考えられます。言語モデルは各瞬間からより少なく学びますが、計算コストも低いです。現在の言語モデルは、私たちの理解では、脳が1秒間に行っているよりも各トークンに費やす計算量が少ないです。
つまり、より浅く、はるかに長い時間を生きているようなものです。これが良い理由が分かります。2倍の時間に同じリソースを費やすが、少し浅く生きることができるなら、おそらくそれを選ぶでしょう。
これは単に考えることです。文脈内の質問については、確かに構造が役立つと思います。「ニューラルネットワークにXがない」か「人間にXがない」かという二分法を提示されましたが、中間的な体制があると思います。
つまり、人間はAを持っていますが、Xは学習されたものだということです。人間のエージェンシーの多くは実際に学習されたものだと思います。人間がシンボルを処理し操作する能力の多くも実際に学習されたものです。
一部は組み込まれており、一部は学習されています。脳がどのように機能するかわからないので、どちらかわかりません。おそらく両方でしょう。
実際、先ほど指摘したように、シンボルをより上手く操作することを学ぶことができます。一般的なものもあります。一部は組み込まれており、一部は学習できるスキルがあります。人々はここでスキルを獲得することができます。
言語モデルもおそらく似ています。学習の仕方を学ぶことができるでしょう。人間は物事を見て、素早く理解するためのプロセスを学ぶことができます。言語モデルも似ています。
文脈内学習があります。言語モデルのコンテキストに多くのデータを与え、言語モデルはそこから結論を導き出すことができます。人間がテキストから学ぶ方法と非常によく似ているように見えます。
根本的に異なる何かが起こっている可能性はあります。排除するのは難しいです。何が起こっているのかわからないからです。いくつかの点で違いがあると言えます。
はるかに浅いです。現在の言語モデルは、長い文書を処理する際に、段落ごとに読んでいるわけではありません。すべての段落を同時に読み、その上で混合を行っています。確かにやや異なりますが、学習の火花があるように見えます。
本当の学習が始まるラインを引くとすれば、そのラインは越えられていると思います。彼らにはある程度の学習があり、ある程度の推論がありますが、単にそれらが下手なだけです。これが私の見解の大部分です。
エージェンシーの質問に移りましょう。これも興味深いと思います。まずこれに応答させていただき、その後エージェンシーについて話しましょう。
いいえ、エージェンシーが実際に非常に興味深いものだと思います。私は必ずしもエージェンシーの実在論者ではないことを明確にしたいと思います。私はむしろエージェンシーの道具主義者だと考えています。Daniel Dennettが主張するような「あたかも」の特性だと考えています。
しかし、私たちが持つ種類のエージェンシーとの間には根本的な違いがあると思います。なぜなら、私は創発論者だからです。私たちは物理的世界に具現化されており、Karl Friston の自由エネルギー原理の大ファンです。
自己組織化の出現や、スケールを超えた情報共有などが得られます。私たちは非常に複雑な物理的動的システムに埋め込まれており、それが多くの機能とダイナミクスと行動を生み出しています。
エージェンシーはそのシステムを分割する非常に現実的な方法だと主張することもできますし、単に認知のモードだと主張することもできます。しかし、確かにその動的システムと言語モデルで起こっているような種類のものとの間には種類の違いがあると主張できます。
単に因果的な事実化を見ても、私たちは言語モデルをツールとして使用しています。彼らは自分の行動の原因ではありません。
そうですね、システムによって異なりますね。人間もツールとして使用することができます。人間を倉庫いっぱいに置いて、「タスクXを解決してください」と言うこともできます。言語モデルに与えるのと全く同じプロンプトを与えることができます。
Mechanical Turkについて聞いたことがありますか? 実際に、言語モデルにプロンプトを書き、それを言語モデルに与え、人間に与えることができます。結果は私には似ているように見えます。
つまり、人間も言語モデルと同じ意味でツールとして使用できるのです。
とはいえ、確かに次のことは事実です。典型的に人々がエージェントを構築する方法は、RLでトレーニングされた言語モデルと、それをプロンプトし、何をすべきか伝えるスキャフォールディングを組み合わせたシステムを通じてです。
私の見方では、スキャフォールディングは、人間にエージェンシーをさせる方法よりも侵襲的です。通常、人々は人間の従業員の周りにスキャフォールドを構築しません。
しかし、人間もこのようなものから利益を得ます。人間をよりエージェント的にしたい場合、実際、人間は任意にエージェント的ではありません。時々同じ古いことを行い、本当に何をしているのか考えません。
チェックリストを与えたり、定期的に「間違いを犯していませんか?」と尋ねたりします。モデル能力を評価する組織であるMeteorからの逸話があります。AIエージェントを構築して、言語モデルのエージェンシー能力がどれほど優れているかという質問に答えようとする彼らの仕事の一部です。
彼らは、少なくとも初期のモデルでは、モデルに「混乱していますか?」と尋ねるのが非常に役立つことを発見しました。推論の過程で定期的にモデルに「混乱していますか?」と尋ねると、モデルは「ああ、混乱していました。良い指摘ですね」と言って自己修正しました。
これは人間にも機能すると思います。人間も習慣で同じことを繰り返していて、混乱していることを思い出す必要がある状況によく陥ります。
もちろん、人間が自分でリマインダーを生成することは可能です。言語モデルがリマインダーを生成することも可能です。少なくとも原則的には、混乱していないかチェックすべきだと知っているシステムを作ることができます。
実際には、言語モデルは本当に愚かなので、人々が言語モデルからエージェントを構築しようとすると、非常に愚かで、人間とは非常に異なる方法でトレーニングされており、エージェンシーが下手くそです。
そのため、少しデレッとした、少しのエージェンシーを行うシステムになります。失敗率が高すぎて、常に顔を突っ込んでしまいますが、いくつかのことはできます。
例えば、3.5 Sonnetで構成されたシステムを持つことができます。それは「どのように始めるべきか」と考え、計画を立て、その計画を実行し、計画の障害に遭遇し、計画を修正し、試したことが機能しなかったことに気づき、世界の結果に基づいて...コードを実行し、コードにエラーがあり、エラーを調べ、エラーが機能しないことに気づき、それを理解するためにコードにデバッグを入れます。
私が説明しているのは、通常よりもうまく機能している場合です。多くの難しいケースでは、モデルは単に顔を突っ込んでしまいます。しかし、時々モデルは本当に頑張ります。ループは続き、進行します。
このケースでは、エージェンシーは実際にモデル自体から来ているように感じます。高い程度で。アドバイスを与えました。どのようにすべきかを伝えるプロンプトを与え、ツールへのアクセスを与えました。
しかし、これは人間の場合と非常に似ていると言えます。人間をトレーニングするとき、プロセスに従うようにトレーニングします。私がソフトウェアの書き方を学んだとき、試行錯誤のプロセスを通じて学びました。物事がうまくいかず、プロセスを学びましたが、他の人間と組んで、彼らの真似をし、彼らがどのようにエージェンシーを学んだかを真似ることでも学びました。
エージェンシーは学習されるスキルです。「何をしているのか再考すべき時はいつか」、「現在の計画を諦めて新しい計画を考えるべき時はいつか」、「良い計画の特性は何か」、「どのように計画を選択すべきか」といった質問への答えを学ぶことができます。これらすべてがあると思います。
私の見方は、エージェントか非エージェントかという厳密な境界線はなく、エージェント的タスクをどれだけうまくこなせるか、状況をどれだけよく理解できるか、その理解に基づいてどれだけ一貫して行動できるか、計画を考え出し、長期にわたって物事をまとめ、間違いから回復するなど、これらすべての能力の連続体があるというものです。モデルは時間とともにこれらの能力を向上させています。
3〜4年前のモデルを見ても、エージェントとしての動作には感心しないでしょう。全くエージェントとして機能しませんでした。GPT-3.5を見ても感心しないでしょう。そのモデルはエージェンシーを全く理解できず、ツールの使い方もわかりません。
しかしGPT-4を見ると、大きな飛躍がありました。ツールの見方、使い方がはるかに優れています。多くのことがはるかに優れています。
物事は急速に進歩しています。カワウソを例に取ると、カワウソにこれらのツールへのアクセスを与え、何をすべきか伝えても、顔を突っ込むでしょう。ソフトウェアをプログラムすることはできません。
カワウソの育ち方がコードを書くのに適していなかったのと同じように、言語モデルの育ち方もエージェント的タスクには適していませんでした。しかし、カワウソが少し愚かであるのと同じように、起こっていることを理解するのに苦労するでしょう。
状況はむしろ、非常に愚かだが何かが起こっているシステムを持っているようなものだと感じます。非常に弱いですが、モデルは改善しています。
また、現在のアーキテクチャにあまり固執しないでしょう。物事は進化しています。アーキテクチャは変化するでしょう。エージェンシーが本当に有用である限り。
Yudkowskyのエッセイを知っていますか? 古いですが良いもので、「AIはツールではなくエージェントになりたがる」というようなタイトルだったと思います。人々はAIをエージェントにしたがるだろうと言っています。
非常に自然なことで、人々は実際にすでにこれを行っています。「このタスクを解決できますか?」と言って、モデルに外に出て物事を試し、世界と対話し、失敗に気づき、物事を学び、時間とともに改善し、私が明示的に指示しなかった積極的な行動を取ってほしいと思うのは非常に自然です。
これは単により有用になります。人間を雇う場合、彼らに言われたことだけをやって何もしないでほしくありません。本当に物事を追求してほしいです。
AIがより状況を認識し、エージェント的になるような自然な進化があると思います。時間とともに人々はこの方向にAIをトレーニングするでしょう。
長い回答になりましたが。
いいえ、その多くに同意します。まず、私は人間至上主義者ではありませんし、私たちが構築する可能性のあるシステムにエージェント的ダイナミクスのスペクトルがあることに同意します。
そのスペクトルを考えると、実際の10段階のエージェンシーから、単なる自律性や自動性まで、つまり物事が単なる衝動反応マシンであるところまで幅広くあります。
反射と熟考が非常に重要だという多くのことに同意します。しかし、その多くはまた、Kenneth Stanleyとの会話に戻ります。彼はオープンエンド性に関する研究を行っており、「偉大さは計画できない」という素晴らしい本を書きました。
彼にインタビューしたとき、基本的にエージェンシーについて話していたことに気づきました。本当に良いシステムは多様性を保持し、常に情報を蓄積するシステムだと言っていました。
言語モデルでエージェント的フレームワークを設定すると、モード崩壊を起こし、収束してしまいます。情報の蓄積を停止し、硬直化してしまいます。
これに対抗しようとすることはできます。例えば、外部のコントローラーを持ち、常に「本当にそうですか?」「これについて考えましたか?」と尋ねることができます。
または、マルチエージェントシステムを設定することもできます。これにより、多様性の保持と発散が増加します。エージェントが互いに「本当にそうですか?」「これについて考えてみては?」「これをしてみては?」と言い合うことができます。
しかし、言語モデルには依然として基本的な制限があります。それらは基本的にトレーニングセットの統計的表現に過ぎません。トレーニング方法と誘導された事前分布により、高頻度の属性に焦点を当てるよう強制されます。
そのため、低確率の長い尾がかなり切り取られてしまいます。これが、GPTを使用するとき、より詳細な情報やより多くの情報を与えたがらない理由です。常に単純なこと、定型的なことを与えたがります。
本当に頑張って、非常に具体的になり、「いいえ、いいえ、本当にこれが欲しいんです。これとこれとこれをしてください。お願いします」と言うことはできますが、私がその推進力なのです。
つまり、エージェント的ダイナミクスのスペクトルでかなり遠くまで行けることに同意しますが、私たちにとって違うのは、私たちが非常に複雑な物理的世界に生きているからだけです。
データ生成の源が非常に多く、アクティブ推論を行っているので、実際に重みを更新しています。エージェントとしての私たちは発散し、そして情報を共有し、また発散しています。これは私には種類の違いのように感じます。
そうですね、いくつかの非常に自然な経験的実験があります。少し高価ですが実行できるものです。
ハードなエージェント的タスクを行うソフトウェアエンジニアを例に取りましょう。私たちは両方とも、研究論文を書くことがこれまで述べたバーを超えると同意しました。彼らを感覚遮断タンクに入れ、ラップトップだけを与えます。
AIはラップトップにアクセスできるでしょう。コンピューターを使用するエージェントになるかもしれません。VS Codeへのアクセスを与え、VS Codeで書き続けます。キーボードへのアクセスを与えますが、それ以外は何もありません。感覚遮断タンク、IVで栄養を与えます。
そのようなシステムがあったとして、他の媒体を通じてのみ相互作用できるとします。おそらくビデオ通話で友達と話せるでしょう。AIも友達とビデオ通話ができるのと同じように。これらの日々はマルチモーダルですから。
良い仕事が生み出されるでしょうか? 私の推測では、生産性は低下しますが、完全になくなるわけではありません。
わかりません。大規模に行えば、効果的な認知にすぐにモード崩壊が起こると思います。また、前に言ったように、彼らがこの認知フレームワークを開発したのは、具体化され埋め込まれた状態で育ったからです。
そうですね、より高価な実験をする必要があります。赤ちゃんを感覚遮断タンクに入れ、小さなラップトップ画面を与えます。これは彼らが感覚遮断タンクで成長する同じ景色です。IVで栄養を与えます。申し訳ありませんが、非常に高価な実験です。
そして、彼らが出てきたとき、良い作品を生み出すでしょうか? それは実行できません。エンジニアとの感覚遮断タンク実験は実行できるかもしれません。
はい、わかります。私は人間の知能についてあなたよりも楽観的かもしれません。人間の知能は様々な環境に多様に適応できると思います。
すべての環境には隠れた複雑さがあります。Pythonインタープリターは、ある意味で非常に複雑な環境です。コンピューターは非常に複雑な環境です。感覚遮断タンクにいる他の人々とビデオ通話をし、言葉で話すことができます。
世界は様々な視点から豊かだと思います。また、先ほど言ったように、人間が物事をする方法と一致する戦略もあれば、明らかに他の戦略よりも劣っている戦略もあります。
時間とともに、物事はより効率的になっていくと思います。例えば、積極的なトップダウンの最適化が効率を劇的に改善した様々な分野があります。
配達トラックの運転手の例を挙げると、以前は荷物を渡して配達トラックの運転手に任せていました。今では、すべてを積極的に追跡し、常にABテストを行い、自動ルーティングを行って正確にどこに行くか決定します。システムのあらゆる部分が設計され、最適化され、可能な限り学習されています。コストを1%削減するだけでも非常に価値があるからです。
私の推測では、AIはこの方向に向かうでしょう。現在、私たちは強化学習でAIをトレーニングしており、これは続くでしょう。私の推測では、実際に幅広い状況でより良いパフォーマンスを発揮する認知パターンや認知戦略を持つAIが選択されるでしょう。
基本的に、よりスマートで、様々なことをより上手く行うシステムを得ることになります。スケールアップし、アルゴリズムが改善されるにつれて。
したがって、物事を行う明らかな正しい方法はないと同意しますが、幅広い状況で他の戦略よりも優れている戦略の空間があると思います。
無料のランチはありませんが、安いランチはたくさんあります。人間は幅広い環境で機能する多くのヒューリスティックを持っています。単純さへのヒューリスティック、その他多くのことへのヒューリスティックがあります。
AIはこれらのヒューリスティックを学び、よりスマートになります。まだ多くの余地があります。
ライアン・グリーンブラット、今日はお越しいただき光栄でした。ありがとうございました。

いいなと思ったら応援しよう!

GPT4を用いてCholletのARC-AGIを解く|AGIに仕事を奪われたい