ChatGPT コード生成が 10% 増加しました。北京大学中国人第一著者:プロンプトを改良し、大規模モデルのコーディング機能を大幅に改善

ChatGPT コード生成が 10% 増加しました。北京大学中国人第一著者:プロンプトを改良し、大規模モデルのコーディング機能を大幅に改善

大規模モデルの時代では、高品質なコード生成が驚くほど強力になりました。

HumEval のテストで 67% に合格した GPT-4 から、CodeLlama などの最近のさまざまなオープンソースの大規模モデルまで、これらはコーダーにとって強力なコーディング ツールになることが期待されています。

しかし、現実には、プログラマーは要件を簡潔に表現しないため、誤解を招き、LLM が優れたコードを生成する能力が制限されます。

率直に言えば、大規模なモデルをコーディングする能力は、ヒントの質に依存します。

これに対し、北京大学研究所の研究チームは、LLM-ChatCoderを使ってチャットで要件を絞り込む手法を提案した。

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

具体的には、ビッグモデルのパフォーマンスを向上させながら、ビッグモデルがユーザーが以前よりも洗練され、完全な方法でニーズを表現できるようにガイドするチャットソリューションを設計しました。

大きなモデルは「コーダー」であり、あなたは「プロダクトマネージャー」です

ここに例があります。下の図に示すように、ユーザーは次のような要件を提示します。

データセット #MBPP/443 では、ChatGPT が Python 関数を記述して、指定されたリストから「最大の負の数」を見つける必要があります。

ChatGPT は、元の要件に基づいて、実際の値が最大となる負の数を正しく抽出できるプログラムを生成します。

しかし、sanitized-MBPP の作者は、「最大の負の数」は「絶対値が最大の数」を指すべきだと考えています。

したがって、「最大」という表現の曖昧さにより、LLM は誤ったコードを生成しました。

ここで、この問題は要件の改良を通じて解決できます。

要件の洗練とは、要件内の暗黙的な依存関係と隠れた構造を明らかにするプロセスです。より詳細な情報を提供することで、不完全な情報を補足し、要件の洗練プロセス中に曖昧さを排除することができます。

前の例では、大規模言語モデルに「最大」が具体的には「絶対値で最大」を指していることを簡単に説明でき、「最大」という単語の隠れた構造が明らかになります。

この洗練された要件により、大規模モデルは MBPP 作成者の期待に応えるコー​​ドを生成できます。

要件の改良には、人間のユーザーと大規模なモデルの連携が必要であることに注意する必要があります。

一般的に、要件エンジニアリングの文脈では、要件の洗練はソフトウェア ベンダー (コーダー) とソフトウェア カスタマー (ユーザー) 間の一連のやり取りを通じて実行されます。

ソフトウェアベンダーは、顧客要件の初期表現を分析し、改良点を提案します。サプライヤーが一連の需要精査を完了する前に、ソフトウェアの顧客はこれらの点に基づいて対応する必要があります。

ソフトウェア顧客もソフトウェアサプライヤーも、単独で需要精緻化を実行する資格はありません。

欠点は、顧客がソフトウェアの設計と開発のプロセスを十分に理解していないため、使用可能な要件仕様を作成できないことが一般的であり、ベンダーが顧客の問題とビジネス ドメインを十分に理解していないため、満足のいくシステムの要件を策定できないことが一般的であることです。

現在、ビッグモデルの時代では、人間のユーザーは「顧客」であり、LLM は「サプライヤー」です。

大規模モデルが要件の改良を通じてユーザーのニーズをよりよく満たすコードを生成できるようにするには、人間と LLM のコラボレーションのための方法を開発する必要があります。

ChatCoder: チャットの改善、コード生成

北京大学は、チャットを通じて要件を洗練させ、大規模モデルのコードを生成する新しい方法である ChatCoder を提案しました。

全体的なフレームワークを下の図に示します。これは非常に簡潔で、チャットを使用して LLM と人間がオンデマンドで連携して改良するのを支援します。

鍵となるのは、大規模な言語モデルとどのようにチャットするかです。

ChatCoder は、IEEE SRS に触発された新しいチャット モードを提供します。

次に、ChatCoder フレームワークを詳しく見てみましょう。

全体的な構成は2ラウンドの対話です。

フェーズ1: 言い換えと拡張

人間のユーザーが表現する要件は曖昧で不完全な場合があるので、ChatCoder はプロンプトを使用して、LLM がユーザーの元の要件を複数の観点から解釈することを要求します。つまり、完全な要件仕様が明確である必要があります。

改善が必要な不足している引数や野心的な引数については、ChatCoder はトレーニング データから学習した仮定に基づいて、大規模な言語モデルで拡張できるようにします。

人間のユーザーは、改良された仕様を確認し、その中のエラーを修正する必要があります。

フェーズ 2: 深掘りとループバック

このラウンドでは、ChatCoder は LLM に、Paraphrase と Exend の第 1 ラウンドでの情報損失に関する混乱と、さらに改善が必要な仕様の側面について人間のユーザーに質問するよう依頼しました。

人間のユーザーはこれらの質問に答え、洗練された仕様を修正するためにループバックする必要があります。

2 回の改良の後、改良された要件が取得され、大規模言語モデルに送信されて、ユーザーが望むプログラムが取得されます。

ChatGPTコーディング能力10%

実験のセットアップ

データセット: Sanitized-MBPP、HumanEval。

ベンチマーク: gpt-3.5-turbo、gpt-4。

研究上の疑問

ChatCoder を評価するために、研究者は以下の研究上の質問をしてテストしました。

1) ChatCoder は既存のコード生成モデルと比べてどのように機能しますか?

2) ChatCoder は、LLM と人間のユーザーが要件を改良するためにコミュニケーションをとるための効果的な方法ですか?

3) ChatCoder に人間が関与することで、どの程度の改善がもたらされますか?

ChatCoder のパフォーマンス

まず最初の問題を見ていきます。これは主に、ベースラインと比較して ChatCoder の全体的なコード生成パフォーマンスを評価することです。

表 1 に示すように、ChatCoder は要件を大幅に改良することで、LLM が生成したプログラムの実行精度を向上させることに成功しました。

たとえば、gpt-3.5-turbo の場合、Saniticed-MBPP での pass@1 は 57.04% から 71.25% に向上し、14% 向上します。

水平比較では、gpt-3.5-turbo と gpt-4 の場合、Saniticed-MBPP のパフォーマンス向上は HumEval よりも顕著です。

コミュニケーション効率パフォーマンス

2 番目の質問は、ChatCoder が大規模なモデルと人間が要件の改良を伝達するための効果的な方法であるかどうかを評価することです。

表 2 によると、要件の改良のための LLM との 3 つの通信方法はすべて、LLM のコード生成結果の改善に役立ちます。

この結果は、LLM を適用してコードを生成する場合、あらゆる形式の要件改良が有用かつ重要であることを示しています。

ChatCoder と比較すると、Free Paraphrase と Free QA は LLM に特定の種類の改良を実行するように指示しないため、改善度が低くなります。

人間の介入評価

ChatCoder における人間の介入の重要性は次のように評価され、その結果は表 3 に示されています。

ChatCoder は要件の改良を利用して大規模言語モデルのコード生成パフォーマンスを向上させるため、人間の介入が必要であり、無視することはできません。

ChatCoder のプロセスは、あいまいさがあっても、明示的に表現されていない特定の観点から要件の内部構造を明らかにすることです。曖昧さを解決する答えは、人間のユーザーだけが知っています。

ケーススタディ

以下に、著者らは、ChatCoder が LLM が洗練された要件を持つコードを生成するのにどのように役立つかを示すために、いくつかの実際のテスト ケースを提案します。

ページ数の制限により、研究者は機能要件に直接影響する入力、出力、目的に関する改良をカバーする MBPP から 3 つのケースを選択しました。

<<:  Google が Mirasol をリリース: 30 億のパラメータで、マルチモーダル理解を長時間動画にまで拡張

>>:  アルトマン氏は、GPT-5 が加速トレーニングを受けていることを初めて明らかにしました。 GPT-4よりも複雑であることが示唆されており、真の能力は予測できない

ブログ    
ブログ    

推薦する

インタビュー必須:バックトラッキングアルゴリズムの詳細な説明

序文みなさんこんにちは。私はカタツムリを採っている小さな男の子です。 LeetCode を練習してい...

テスラがFSDベータ版のメジャーアップデートをリリース、完全自動運転に近づく

テスラは2020年10月からFSDベータ版を徐々に展開しており、選ばれた自動車所有者のグループでテス...

...

...

希望の産業:AIが屋内農業を再定義

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

...

MITはディープラーニングが計算限界に近づいていると警告。ネットユーザー:減速は良いことだ

MIT の調査によると、ディープラーニングは計算能力の限界に近づいているようです。 [[334431...

GPT-4 の推論はより人間的です!中国科学院は「思考コミュニケーション」を提唱、類推思考はCoT、プラグアンドプレイよりも優れている

今日では、GPT-4 や PaLM などの巨大なニューラル ネットワーク モデルが登場し、驚くべき少...

オックスフォード大学の最新調査:AIはベンチマーク危機に直面し、NLPは推論テストの「取り組み」に注力

人工知能 (AI) ベンチマークは、モデルを測定および比較するための方法を提供します。ベンチマークを...

収穫作業員は月に10万ドルを稼ぐが、誰も雇ってくれないため、英国とオーストラリアの農場はAIに助けを求めている

[[345762]]秋は収穫の季節だが、英国やオーストラリアなどの果樹農家は不安を抱いている。畑では...

画像を外国語として扱うKuaishouと北京大学のマルチモーダル大規模モデルはDALLE-3に匹敵する

GPT や LLaMA などの現在の大規模言語モデルは、自然言語処理の分野で大きな進歩を遂げており、...

人工知能が私たちの生活に及ぼす8つの影響

[[226485]]マイクロソフト アジア社長のラルフ ハウプター氏によると、AI が概念から現実の...

...

海外AI界が騒然! Googleの黒人女性AI倫理研究者が「退職」し騒動を引き起こす

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

中国の人工知能産業における4つの大きなトレンド

人工知能は新たな産業変革の中核的な原動力であり、これまでの科学技術革命と産業変革によって蓄積された膨...