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よりも複雑であることが示唆されており、真の能力は予測できない

ブログ    
ブログ    
ブログ    

推薦する

...

4つの主要な応用分野が開拓され、外骨格ロボットのブルーオーシャンが出現している

現在、ロボット産業の急速な発展に伴い、ロボット製品システムはより完成度が高まり、その用途も多様化して...

香港大学の黄凱斌氏:6G時代のエッジインテリジェンス、シャノンとチューリングの出会い

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

来年のIT投資の見通しは有望です。成長率はGDPの3倍です。 CIOの75%がAIへの支出を増やす

現在、世界経済の回復は依然として緩やかです。国際通貨基金(IMF)が最近発表した世界経済見通しレポー...

新たなレベルに到達しましょう!自動運転とインテリジェント交通における視覚言語モデルの最新の応用

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

この「水中トランスフォーマー」はNASAによって困難な水中作業のためにテストされている。

[[273668]] ▲写真:アクアノートロボットがNASAの中立実験室で水中浮遊テストを受けてい...

サイバーセキュリティの専門家は、悪意のあるAIが広がり始めると述べている

調査レポートによると、26%の人が、既知のサイバーセキュリティ対策のほとんどを回避できる悪意のあるA...

ニューラルネットワーク: 知っておくべきこと

ニューラル ネットワーク (NN) は、ほぼすべての分野で創造的な方法で問題を解決するのに役立ちます...

流行を予防し制御するために、人工知能はまだ3つの大きな問題を解決する必要がある

新型コロナウイルス感染症は、中華人民共和国成立以来、最も急速に広がり、最も広範囲に及び、最も困難な公...

...

...

CMU のポスドクらが NLP データ処理ツールを発表

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

PromptAppGPT メジャーアップデート! AIアシスタントの開発と運用のハードルはゼロ:AutoGPTはわずか数十行のコードで実装可能

最近、初めて自社開発した完全にオープンソースの自然言語ローコード GPT アプリケーション迅速開発フ...

SumTo100ゲームの自己学習と結果予測を実現するためのAIアシスタントのトレーニング

翻訳者|朱 仙中レビュー | Chonglou導入完全情報ゲームにおいて、ゲームのルールに従って、必...