0 コードで GPT-5 をトレーニングしますか? MIT と Microsoft は、GPT-4 がエラーを自己修正する機能を持ち、インテリジェント ボディがフィードバックに基づいてコードをループして反復することを確認しました。

0 コードで GPT-5 をトレーニングしますか? MIT と Microsoft は、GPT-4 がエラーを自己修正する機能を持ち、インテリジェント ボディがフィードバックに基づいてコードをループして反復することを確認しました。

大規模なモデルにはイントロスペクション機能があり、記述されたコードを自己修正できることは誰もが知っています。

この自己修復の背後にあるメカニズムはどのように機能するのでしょうか?

モデルは、コードが間違っている理由についてどの程度正確なフィードバックを提供しますか?

最近、MIT と Microsoft の学者たちは、GPT-4 と GPT-3.5 のうち、GPT-4 だけが効果的な自己修復を示したことを発見しました。さらに、GPT-4 は GPT-3.5 によって生成されたプログラムにフィードバックを提供することもできます。

写真

論文アドレス: https://arxiv.org/pdf/2306.09896.pdf

Nvidia の科学者 Jim Fan 氏はこの研究を強く推奨しました。

彼の見解では、最もプロフェッショナルな人間のプログラマーでさえ、最初からプログラムを正しく書くことはできない。実行結果を確認し、問題を推測し、修正方法を考え、何度も試行する必要があります。これはエージェント ループです。環境からのフィードバックに基づいてコードを反復的に改善します。

OpenAI は多数のソフトウェアエンジニアを雇用して次世代の GPT をトレーニングしていると思われます。コードを出力する必要はなく、批評だけが必要です。

- GPT-4 が自己修復できる主な理由は、その強力なフィードバック能力です。コードのどこが間違っているかを効果的に自己反映できるため、他のモデルはこれに匹敵することはできません。

- フィードバック モデルとコード生成モデルは同じである必要はありません。実際、フィードバック モデルがボトルネックになっています。

- GPT-4 からのフィードバックに基づいて、GPT-3.5 はより優れたコードを記述できます。

- GPT-4 自体は、専門家からのフィードバックに基づいて、より良いコードを書くことができます。

コード生成のための GPT 修正の謎を解く

大規模言語モデルがコード生成において並外れた能力を発揮していることは誰もが知っています。

しかし、コンテストやソフトウェア エンジニアリングの面接など、難しいプログラミング タスクではパフォーマンスが低下します。

幸いなことに、多くのモデルは、自己修復ワークフローを通じて「自己反映」し、コード内のエラーを自己修正することができます。

研究者たちは、これらのモデルがどの程度正確なフィードバックを提供し、生成されたコードがなぜ間違っているのかを説明できるかを理解することに興味を持っています。

この図は、自己修復方式に基づく従来のワークフローを示しています。

まず、仕様が与えられると、コード生成モデルからプログラムがサンプリングされ、仕様で提供される一連の単体テストに基づいて実行されます。

写真

プログラムがいずれかのユニット テストで失敗した場合、エラー メッセージとプログラムがフィードバック生成モデルに送られ、コードが失敗した理由の簡単な説明が出力されます。

最後に、フィードバックは修復モデルに渡され、プログラムの修正バージョンが生成されます。

表面的には、このワークフローは完璧に見えます。これにより、システムはデコード プロセス中に不良サンプルによって発生したエラーを克服し、修復フェーズ中にシンボリック システム (コンパイラ、静的解析ツール、実行エンジンなど) からのフィードバックを簡単に組み込むことができます。

そして、人間のソフトウェア エンジニアが試行錯誤しながらコードを書く方法を模倣します。

ただし、ワークフローには問題があります。自己修復にはモデルへの呼び出しがさらに必要になり、計算コストが増加します。

さらに、研究者たちは非常に興味深い現象を発見しました。大規模モデルの自己修復の有効性は、モデルのコード生成能力だけでなく、タスクでコードがどのように間違いを犯すかを認識する能力にも依存するということです。

これを詳細に調査した研究はまだないので、競争レベルのコード生成タスクを解決する際の GPT-3.5 と GPT-4 の自己修復の有効性を研究します。

研究者らは、モデルからサンプリングされたトークンの総数に基づいてタスクの合格率を測定する「」と呼ばれる新しい評価戦略を提案した

従来の pass@k (実験回数に基づいて合格率を測定) の代わりに pass@t を使用するため、純粋にサンプリングベースの方法と公平に比較​​できます。

実験から研究者たちは次のことを発見しました。

1. GPT-4 は自己修復によってもたらされるパフォーマンスの向上を実現できます。GPT-3.5 の場合、修復後の合格率は、すべての予算においてベースラインの未修復方法以下になります。

2. GPT-4 モデルの場合でも、パフォーマンスの向上はせいぜい中程度です (7000 トークンの予算で合格率が 66% から 71% に向上し、これは 45 個の独立した同一に分散された GPT-4 サンプルのコストとほぼ同等です)。また、初期プログラムが十分に多様であることに依存します。

3. GPT-3.5 のエラーの説明を GPT-4 によって生成されたフィードバックに置き換えると、自己修復パフォーマンスが向上し、ベースラインの修復されていない GPT-3.5 アプローチよりも優れたパフォーマンスを発揮します (7000 トークンで 50% から 54%)。

4. GPT-4 自身の説明を人間のプログラマーが提供した説明に置き換えると、修復結果が大幅に改善され、修復されてテストに合格したプログラムの数が 57% 増加しました。

自己治癒の4つの段階

自己修復アプローチには、コード生成、コード実行、フィードバック生成、コード修復の 4 つの段階が含まれます。この目的のために、研究者はこれらの 4 つの段階を正式に定義しました。

フェーズ 1: コード生成

仕様、プログラムモデルが与えられたら、まずサンプルを生成する

式で表すと次のようになります。

写真

フェーズ2: コード実行

次に、完全なテスト セットが実行可能形式でアクセス可能であると仮定して、コード例がテストベンチ上で実行されます。

いずれかのサンプルがすべてのテストに合格すると、適切な手順が見つかったため、そのサンプルは停止します。

それ以外の場合は、実行環境から返されたエラー情報を収集します

これらのエラー メッセージには、コンパイル/ランタイム エラー情報、またはプログラム出力が予想と異なるサンプル入力が含まれます。

フェーズ3: フィードバックの生成

ここで、研究者はフィードバック モデルを使用して、エラーのより詳細な説明を生成しました。

この段階では、エラーのあるプログラムごとに、次のようにフィードバック文字列が生成されます。

フェーズ4: コード修正

最後のステップでは、各初期プログラムとフィードバックに対して候補となる修正がからサンプリングされます

研究者たちは、このプロセスによって生成されたインターリーブされたテキストとプログラムツリーを修復ツリーTと呼んでいる。

— 仕様に根ざし、初期プログラムに分岐し、各プログラムはフィードバックに分岐し、次に修正されます

図に示すように:

写真

自己修復には、コストが均一でない関連するモデル呼び出しが複数必要となるため、この設定では、 σ2(サンプル内で正しいプログラムを取得する可能性)は、自己修復のためのさまざまなハイパーパラメータの選択を比較および評価するための適切な指標ではありません。

代わりに、研究者たちは、モデルからサンプリングされたトークンの総数の関数として合格率を測定します。この指標を「」と呼んでいます。

実験手順

研究者らはさらに3つの質問を検証した。

1. より困難なプログラミングタスクの場合、これらのモデルの自己修復により、修復なしの iid よりも優れたサンプリングが可能になりますか?

2. フィードバック モデルを強化すると、モデルの修復パフォーマンスは向上しますか?

3. 最も強力なモデルの自己修復ループに人間が関与して人工的なフィードバックを提供すれば、より優れた修復パフォーマンスを実現できるでしょうか?

まず、研究チームは、非常に難しいプログラミングタスク、つまり Automated Programming Progress Standard (APPS) データセットのプログラミングタスクを導入しました。

このデータセットのタスクには、初級レベルから大学の競技レベルまでのプログラミング タスクが含まれており、人間のプログラマーの問題解決能力とコーディング能力を評価するために使用できます。

研究者らは、60の初級レベルのタスクと60の競技レベルのタスクを含む300のタスクを選択しました。

写真

研究者らは、テンプレート文字列の連結と自己修復のための単一のプロンプト単語を使用して、GPT-3.5 と GPT-4 をモデルとして選択しました。

次の図はプロンプトワードの例です。

写真

自己修復には強力なモデルと多様な初期サンプルが必要

研究者たちは、個別のモデルにコード修正生成とフィードバック生成の両方を実行させました。

右の図では、軸に沿って 2 つのハイパーパラメータを持つヒートマップを示しています。各セルの値は、同じトークン バジェット (つまり、t の同じ値、pass@t) が与えられた場合のベースラインの平均合格率によって正規化された平均合格率を表しています。

写真

図から、GPT-3.5 モデルの場合、pass@t はすべての設定で対応するベースライン (黒) 以下であり、自己修復は GPT-3.5 にとって効果的な戦略ではないことが明確にわかります。

GPT-4(下図)では、いくつかの値に対する自己修復合格率がベースラインよりも大幅に向上しています。

写真

次の図は修復方法なしのベースラインを示しています。

GPT-4フィードバックはGPT3.5の修復結果を改善する

研究者たちはさらに一歩進んで、モデルが自身のコードをイントロスペクトしてデバッグできないために自己修復が妨げられるという仮説を検証するために、フィードバックを生成するために別のより強力なモデルを使用する効果を評価するための新しい実験を実施しました(たとえば、GPT-3.5の場合)。

写真

この実験の結果は上図(明るい青)に示されています。

絶対的なパフォーマンスの点では、GPT-3.5、GPT-4 はパフォーマンスの壁を打ち破り、GPT-3.5 の iid サンプリングよりもわずかに効率的です。

これは、テキスト フィードバック ステージ自体が重要であり、これを改善することで GPT-3.5 自己修復のボトルネックを軽減できることを示唆しています。

人間のフィードバックによりGPT-4修復の成功率が大幅に向上

最後の実験では、より強力なモデル (GPT-4) を使用して修復を実行するときに、熟練した人間のプログラマーからのフィードバックを取り入れることの影響を調査したいと考えました。

目標は、コード内のバグを識別するモデルの能力が人間の能力とどのように比較されるか、そしてこれが自己修復の下流のパフォーマンスにどのように影響するかを理解することです。

研究者らは、大学院生 15 名とプロの機械学習エンジニア 1 名を含む 16 名の参加者を募集しました。

各参加者には、Python の経験に基づいてコーディングする 5 つの異なる基本プログラムが与えられました。

各プログラムは異なるタスクから取得され、参加者は同じタスクに属する 2 つの異なるプログラムを目にすることはありませんでした。

次に、参加者はプログラムのどこが間違っていたのかを自分の言葉で説明するよう求められました。

実験結果を下の図に示します。

写真

研究者たちは、GPT-4 自身のデバッグを人間の参加者によるデバッグに置き換えると、全体的な成功率が 1.57 倍以上増加することを発見しました。

当然のことながら、問題が難しくなるにつれて相対的な差は大きくなり、タスク(およびコード)が複雑になるにつれて、正確で有用なフィードバックを生成する GPT-4 の能力は人間の参加者よりはるかに遅れていることを示唆しています。

著者について

ジャンフェン・ガオ

Jianfeng Gao 氏は著名な科学者であり、Microsoft の副社長であり、IEEE フェローでもあります。

Microsoft Research では、レドモンド支社のディープラーニング (DL) グループの責任者を務めています。このグループの使命は、DL の最先端技術を進歩させ、それを自然言語と画像の理解、会話エージェントの構築に適用することです。彼は、Microsoft の主要な AI 製品を支える大規模な基礎モデルの構築に関する研究を主導しています。

2022年からは、商用AIシステムの開発に向けたLLM(ChatGPT/GPT4など)の強化と適応を含む自己改善型AIの研究を担当します。

これに先立ち、1999年に上海交通大学で博士号を取得しました。

王成龍

Chenglong Wang 氏は Microsoft Research の研究員です。以前はワシントン大学で博士号を取得し、北京大学で学びました。

<<:  ザッカーバーグがマスクの家を盗んだ! MetaはTwitterの混乱を利用して競合製品を急いで発売し、明後日発売される予定だ。

>>:  Stability AIのCEOが大胆な発言:5年後には人間のプログラマーは存在しなくなる

ブログ    
ブログ    

推薦する

OpenAIの最初の投資家コスラ氏:AIスタートアップのほとんどは過大評価されている

2019年10月25日、人工知能の新興企業OpenAIが非営利団体から「営利企業」へと転換した際、シ...

...

人工知能の最初のグループが解雇された

全世界を置き換えると叫んだ人工知能は、ついに失業という苦境に陥った。スウェーデンのオンライン銀行であ...

新しいインフラストラクチャの何が新しいのでしょうか?

「新インフラ」と呼ばれる新しいインフラは、今年の両会で国家計画となって以来、ホットな言葉になってい...

Appleは以前から独自のChatGPT AIツールを開発してきた。

何年もの間、自社のソフトウェアとデバイスすべてに機械学習を統合してきたAppleは、WWDCでは自社...

エッジAIの夢と課題

この記事では、AI を「小型マシン」に実装する根拠と、AI 小型マシンの開発で直面する課題という 2...

機械学習がサプライチェーン管理を変える10の方法

[[431487]]サプライチェーン管理で機械学習を使用すると、日常的なタスクを自動化できるため、企...

ChatGPTを旅の途中のプロンプトジェネレーターに変える

ChatGPT は Midjourney 画像生成のテンプレートとして使用できると結論付けられました...

...

...

プリンストン DeepMind は数学を使用して、LLM はランダムなオウムではないことを証明します。 「規模が大きいほど能力が強くなる」には理論的根拠がある

今日の物語の主人公は、サンジーヴ・アローラとアニルド・ゴヤルという二人の科学者です。アローラ氏はプリ...

顔認識技術は議論を呼んでいる。人工知能はどのように制御されるべきか?

[[264511]]最近、米国の18歳の大学生が、アップルが顔認識ソフトウェアを使用して彼を強盗と...

MATRIX: 社会シミュレーションは、GPT4よりも配慮した大規模なモデル値の自己整合を促進します

ChatGPT などのモデルは、人間のフィードバックからの強化学習 (RLHF) に依存しており、注...

古代都市ポンペイを「ハイテク」な方法で訪れるにはどうすればいいでしょうか?

ビッグデータダイジェスト制作著者: カレブ西暦79年、ベスビオ山が噴火し、その麓にあったポンペイの街...

Google Cloud の共有: AI を活用して企業価値を生み出す方法

今月、Google Cloud は、顧客やパートナーと人工知能の最新の進歩について議論するエグゼクテ...