最も先駆的で影響力のあるキューエンジニアリング技術の 1 つである Chain of Thought (CoT) は、推論による意思決定における LLM のパフォーマンスを向上させることができます。 では、大規模なモデルがコード内で「考える」ことができたらどうなるでしょうか? 最近、Google DeepMind、スタンフォード大学、カリフォルニア大学バークレー校のチームが共同で新しい技術「コードチェーン」(CoC) を提案しました。 論文アドレス: https://arxiv.org/pdf/2312.04474.pdf 「コード チェーン」は、コーディング ロジックと自然言語理解を組み合わせた、シンプルでありながら非常に効果的な革新的な方法です。LLM のコードベースの推論能力を強化し、よりスマートで多用途なものにすることができます。 簡単に言えば、CoC により、LLM は「疑似コード」を生成して難しい問題を分解し、LMulator を通じて有効なコードを実行し、無効なコードをシミュレートできるようになります。 調査結果によると、BIG-Bench Hard ベンチマークでは、CoC は 84% の精度を達成し、CoT よりも 12% 向上しました。 さらに、CoC は BIG-Bench Hard の 23 のタスクのうち 18 で平均的な人間のパフォーマンスを上回ります。 「コード チェーン」は CoT をさらに一歩進め、論理的推論のためのコード生成と LLM の意味的推論を統合していることがわかります。 研究者らは、CoC はロボット工学に適しており、意味論的およびアルゴリズム的推論を実行でき、現実世界で優れたパフォーマンスを発揮すると述べている。 ゴミとリサイクル可能なものを分別してください。 トマト入りスクランブルエッグのサイドディッシュも用意できます。 李菲菲の学生もこの論文の中心著者の一人であることは言及する価値がある。 「コードチェーン」により、大規模なモデルをコードで考えることができるCoT に加えて、これまでの研究でも、大規模モデルの推論能力を向上させるためにさまざまな方法が使用されてきました。 たとえば、Program of Thoughts はコードの記述と実行を促し、ScratchPad はプログラムの状態の中間ステップを追跡することで、既に記述されたコードの実行をシミュレートします。 最新の研究では、研究者らは「コードチェーン」(CoC)を提案しました。これは、ビッグモデルがプログラムを作成するだけでなく、ビッグモデルのコードベースの推論能力も向上させるというものです。 具体的には、ビッグモデルはプログラムを作成するだけでなく、特定のコード行の予想される出力を生成することによってインタープリターを選択的に「シミュレート」します。 重要なアイデアは、大規模なモデルがプログラム内のセマンティック サブタスクを柔軟な疑似コードにフォーマットし、実行時に明示的にキャプチャしてシミュレーションのために LLM に渡すようにすることです。著者らはこれを LMulator と呼んでいます。 たとえば、与えられた課題は「上記の段落で、この人が皮肉を言った回数を数えなさい」です。 次に、コンテキスト内で LM に、 is_sarcastic(sentence) などのヘルパー関数を呼び出すことができるというヒントを与えることができます。これにより、LM は言語予測を行い、その結果をブール出力として返します。その後、この結果はプログラムの残りの部分と一緒に処理されます。 具体的には、研究者らは、LM 推論を次の図に示すように次のようなプロセスとして定式化しました。 LM がコードを記述し、インタープリターがコードの各行を段階的に実行します (赤)。失敗した場合は、LM を使用して結果がシミュレートされ (紫)、プログラムの状態が更新されます (緑)。 CoC は、(i) 実行可能コードを記述する (正確なアルゴリズム計算はインタープリタに任せる)、および (ii) 意味上の問題に対する疑似コードを記述してその出力を生成する (これは、LM が非常に適応性の高い単純な形式の変更と見なすことができます) という利点を継承し、LM が「コードで考える」ことを可能にします。 研究者らはまた、「コードチェーン」のいくつかの特徴を次のようにまとめた。 - コードの強みと言語モデルの強力なセマンティクスおよび常識的な知識を組み合わせることで、まったく新しいシステムでコードを使用できるようになります。 - 言語モデルのエンコーディング能力を活用します。これは、高品質のデータが利用可能であることによる最近の言語モデルの特別な利点です。 - コードの形式的な表現構造 (チューリング完全性など) やコードに使用できる強力な計算ツールなど、コードに関する推論の利点の多くを継承します。 - CoT などの中間ステップを通じて推論する手法の多くの利点を継承します。これらの技術により、言語モデルは必要に応じてより多くの計算を使用して問題を解決し、より高い解釈可能性を提供できるようになります。 言語的推論能力評価CoC の全体的なパフォーマンスを以下の表 1 に示します。 ご覧のとおり、CoC は、人間のベースラインを超えるタスクの数と、ベースラインを超える全体の数の両方において、他の方法よりも優れています。 実際、CoC はタスクの 84% で SoTA を達成しています。いくつかのタスクにおいても、CoC は人間のベースラインや他の方法を大幅に上回り、ほぼ 100% の精度を達成しています。 一般に、これらのタスクの結果は言語的には複雑ですが、コード的には単純です。たとえば、複数ステップの算術 Q タスク: ((-3+5×8×-4)-(9-8×-7))=)。 研究者らはまた、CoT が多くのタスクで人間の基準を上回るパフォーマンスを示したのに対し、直接回答では成績が悪かったことも観察しました。 図 3 は結果を質問タイプ別に分類したもので、タスクのラベルは表 a1 に示されています。研究者たちは、問題を主にアルゴリズムによるものと主に自然言語によるものとに分類しました。 実験結果によると、CoC はアルゴリズムタスクでは特に優れたパフォーマンスを発揮し、自然言語タスクでは CoT と同等のパフォーマンスを発揮します。 これらの言語指向のタスクはエンコードにあまり適していないと予想されるため、この結果は特に心強いものです。重要なのは、CoC アプローチでは、自然言語の質問について意味的に推論する LM の能力を維持しながら、シミュレーターを使用してコード実行の出力をエミュレートする柔軟性が提供されることです。 アブレーション研究 図 4 と 5、および表 2 は、「コード チェーン」プロンプトのさまざまな側面を動機付けるために実行されたアブレーション研究を示しています。 予想どおり、Python 実装は複数のタスクで 100% のパフォーマンスを達成し、コードが正しければ、モデルは毎回正しい出力を生成します。 しかし、Python のみに依存する方法 (CoC (Python)) は、非アルゴリズムタスクに適用するとパフォーマンスが低下し、ほとんどが失敗します。 CoC (Python) のアブレーションは、コードに関する推論が数値問題に適用された場合にうまく機能することを示す最近の研究と似ています。 拡張機能 図 6 は、さまざまなサイズのモデルにおける CoC のパフォーマンスを示しています。 研究者たちは、「思考連鎖」プロンプトと同様に、モデルが増えるにつれて CoC の改善が増加することを観察しました。 実際、いくつかのアルゴリズムタスクでは、CodeChain は最高の人間の評価者よりも優れたパフォーマンスを発揮しました。ただし、CoT は最大モデル (d-3) にのみパフォーマンス上の利点をもたらしますが、CoC はより小さなモデル (a-1、b-1、c-1) でも直接質問応答ベースラインを上回ります。これは、より小さなモデルでは、中間ステップとして自然言語ではなく構造化コードを出力する可能性が高いことを示しています。 クロスタスクプロンプト クロスタスクプロンプトでは、研究者はさまざまな問題の例を使って言語モデルにプロンプトを出しました。図 6 と表 2 から、すべての方法でパフォーマンスが低下していることがわかります。 この低下にもかかわらず、CoC は CoT や直接プロンプトよりもパフォーマンスが優れており、平均的な人間のパフォーマンスにほぼ達しています。 命令チューニングモデル チャットインターフェースからのコマンドを使用して調整されたモデルと比較するために、研究者はモデルに望ましい推論を引き出すコマンドを与えました。 ベースラインとして、著者らはモデルに「直接答える」(Direct)か「段階的に考える」(CoT)かのいずれかを要求しました。 CoC バリアントの場合、研究者はモデルに「役立つ場合は、問題解決に役立つ Python コードを書く」ように依頼しました。 プログラムを作成した場合は、Python インタープリターを使用してコードを実行し、その結果 (実行が失敗した場合はエラー情報) をモデルに入力して最終的な答えを決定する (CoC (Python)) か、LMulator としてコード実行の出力をシミュレートするようにモデルに要求することができます (CoC (LM))。 次の表は、各方法のパフォーマンスを示しています。 gpt-3.5-turbo を使用すると、CoT と CoC (Python) はどちらも直接ヒントよりも優れたパフォーマンスを示しますが、どちらも CoC (Interweave) よりも大幅に優れています。 ロボットが使用されるさらに、研究者らは実際の環境でのロボットアームの調査にも CoC 方式を使用しました。 CodeChain は、ロボット タスクの解決に適していることがわかりました。これは、ロボット タスクには意味論的およびアルゴリズム的推論が必要であるためです。 また、コード (制御 API または認識 API) を介して他の API と対話したり、自然言語を介してユーザーと対話したりすることもできます。 例えば、冒頭で触れたゴミの分別作業において、「Code Chain」によって可能になるロボットアームの「思考プロセス」は以下のようになります。 赤いハイライトはインタープリターが LM 生成コードを実行していることを示し、紫色のハイライトは LMulator がコードをエミュレートしていることを示します。 トマト入りスクランブルエッグを作る工程。 |
<<: 海外メディア:ウルトラマンのOpenAIへの復帰は主にチェスキー氏とナデラ氏の支援にかかっている
>>: NVIDIA が 2023 年のトップ 10 研究プロジェクトを公式に発表しました。 「Neuro Angelo」はAIを使って3D仮想世界を作り出し、数秒で本物そっくりのダビデ像に変身する
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
[[221813]] [51CTO.com クイック翻訳] JavaScript 開発者は、さまざま...
ジェフリー・ヒントンは、コンピューターに学習方法を教えることに生涯を費やしてきました。今、彼は人工脳...
[[227073]] [51CTO.com クイック翻訳] 機械学習は多くの企業が興味を持っている新...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
AIチップはクラウドとエッジに分かれています。クラウドチップは高いパフォーマンスが求められますが、...
この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...
[[348486]]従来の掃除ロボットは、何も言わずにただ働くだけの家庭内の「ロールモデル」です。...
「暗闇が私たちの光を引き立てる/そして私は漠然とした幻想しか見ることができない/孤独の瞬間のあなた...
序文:ロボット産業の研究者および愛好家として、私は産業や生活におけるロボットの実用化について常に考え...