ホームページ  >  記事  >  テクノロジー周辺機器  >  上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?

上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?

王林
王林転載
2023-09-05 23:29:111362ブラウズ

独自のコードを記述できるマシンを構築することは、コンピューター サイエンスと人工知能の先駆者が追求してきた目標です。 GPT タイプの大型モデルの急速な開発により、そのような目標はこれまで以上に近づいています。

大規模言語モデル (大規模言語モデル) の出現により、モデルのプログラミング機能に対する研究者の注目がますます高まっています。このような状況の下、上海交通大学の APEX 研究室は、LLM のプログラミング理解とコード生成能力の評価に焦点を当てたバイリンガル ベンチマーク データ セットである CodeApex を立ち上げました。

大規模な言語モデルのプログラミング理解能力を評価するために、CodeApex は、概念理解、常識的推論、およびマルチホップ推論という 3 種類の多肢選択式の質問を設計しました。さらに、CodeApex は、アルゴリズムの質問と対応するテスト ケースを利用して、LLM のコード生成機能を評価します。 CodeApex は、コーディング タスクに関して合計 14 の大規模な言語モデルを評価しました。その中で、GPT3.5-turbo は最高のプログラミング能力を示し、これら 2 つのタスクでそれぞれ約 50% と 56% の精度を達成しました。大規模な言語モデルには、プログラミング タスクを改善する余地がまだ多くあることがわかり、独自のコードを作成できるマシンを構築することは、非常に有望な将来です。

上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?

  • Web サイト: https://apex.sjtu.edu.cn/codeapex/
  • コード: https://github.com/APEXLAB/CodeApex.git
  • 論文: https://apex.sjtu.edu.cn/codeapex/paper/

#はじめに プログラミングの理解とコード生成はソフトウェア エンジニアリングにおける重要なタスクであり、開発者の生産性の向上、コードの品質の向上、ソフトウェア開発プロセスの自動化において重要な役割を果たします。ただし、コードの複雑さとセマンティックな多様性のため、大規模なモデルではこれらのタスクは依然として困難です。通常の自然言語処理と比較して、LLM を使用してコードを生成するには、文法、構造、詳細な処理、コンテキストの理解に重点を置く必要があり、生成されるコンテンツの精度に対する要件が非常に高くなります。従来のアプローチには、文法ルールベースのモデル、テンプレートベースのモデル、およびルールベースのモデルが含まれますが、これらは多くの場合、適用範囲と精度が制限されている手動で設計されたルールやヒューリスティックアルゴリズムに依存します。

近年、CodeBERT や GPT3.5 などの大規模な事前トレーニング済みモデルの出現により、研究者はプログラミングの理解とコードへのこれらのモデルの応用を模索し始めています。生成タスク。これらのモデルはトレーニング中にコード生成タスクを統合し、コードを理解して生成できるようにします。ただし、コードの理解と生成における LLM の進歩を公正に評価することは、標準的で公開されている高品質で多様なベンチマーク データセットが不足しているため困難です。したがって、コードのセマンティクスと構造を幅広くカバーするベンチマーク データセットを確立することは、プログラミングの理解とコード生成の研究を促進するために重要です。

既存のコード ベンチマーク データセットには、LLM に適用する場合の適用性と多様性の問題があります。たとえば、一部のデータセットは、Bert タイプの双方向言語モデリング LLM の評価に適しています。ただし、既存の多言語コード ベンチマーク データ セット (Human-Eval など) には比較的単純な問題が含まれており、多様性に欠けており、いくつかの基本的な機能コードしか実装できません。

上記のギャップを埋めるために、上海交通大学の APEX データおよび知識管理研究所は、大規模モデルのコードの理解と生成のための新しい評価ベンチマークである CodeApex を構築しました。画期的なバイリンガル (英語、中国語) ベンチマーク データセットとして、CodeApex は、プログラミングの理解と LLM のコード生成機能の評価に重点を置いています。

上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?#CodeApex の全体的な実験シナリオを上の図に示します。

プログラミング理解の最初のタスクには、概念的な理解、常識的な推論、およびマルチホップの推論に分類される 250 の単一選択の質問が含まれています。テストに使用される問題は、大学のさまざまなコース (プログラミング、データ構造、アルゴリズム) の最終試験問題から選択されるため、データが LLM トレーニング コーパスにすでに存在するリスクが大幅に軽減されます。 CodeApex は、0 ショット、2 ショット、5 ショットの 3 つのシナリオで LLM のコード理解能力をテストし、LLM の能力に対する応答のみモードと思考連鎖モードの影響もテストしました。

2 番目のタスク コード生成には、2 分探索、深さ優先探索などの一般的なアルゴリズムの知識ポイントをカバーする 476 個の C ベースのアルゴリズムの問​​題が含まれています。 CodeApex は問題の説明と、問題を実装する関数プロトタイプを提供し、関数の主要部分を完了するには LLM を必要とします。 CodeApex には、関数のみとコンテキスト付き関数の 2 つのシナリオも用意されています。これらの違いは、前者にはターゲット関数の説明のみが含まれるのに対し、後者にはターゲット関数の説明に加えて、追加のシナリオも提供されることです。ターゲット関数の呼び出しコードと時間、スペース制約、入力および出力の説明。

実験結果は、モデルが異なるとコード関連タスクのパフォーマンスが異なることを示しており、GPT3.5-turbo は優れた競争力と明らかな利点を示しています。さらに、CodeApex はバイリンガル シナリオで LLM のパフォーマンスを比較し、異なる結果を明らかにしました。全体として、CodeApex ランキングにおける LLM の精度にはまだかなりの改善の余地があり、コード関連タスクにおける LLM の可能性がまだ十分に活用されていないことを示しています。

コードの理解

大規模な言語モデルを実際のコード生成シナリオに完全に統合するには、プログラミングの理解が不可欠です。プログラミングを理解するには、構文の習得、コードの実行フローの理解、実行アルゴリズムの理解など、あらゆる側面からコードを理解する能力が必要です。

CodeApex は、大学の期末試験問題から 250 個の多肢選択問題をテスト データとして抽出し、概念理解、常識推論、マルチホップ推論の 3 つのカテゴリに分類しました。

上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?

テスト モードには、回答のみと思考の連鎖という 2 つのカテゴリが含まれています。

上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?

#実験結果と結論

コード理解タスクにおける CodeApex の中国語と英語の評価結果2つの表に示すと以下のようになる。 (最高のパフォーマンスを発揮するモデルは太字で表示され、次に最高のパフォーマンスを発揮するモデルには下線が付けられます。)

上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?

上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?

## 次のとおりです。そこから結論を導き出すことができます:

  • バイリンガル能力の比較。中国語版は英語版よりもスコアが高かった。主な理由は 2 つあります。 (1) 問題の説明の出典は中国の大学の最終試験のものであるため、試験問題は元々中国語で提示されました。英語に翻訳しても、中国人特有の言語習慣が残っています。したがって、これらの偏った英語の質問が LLM に入力されると、モデルのエンコード結果にノイズが混入する可能性があります。 (2) 評価されたモデルのほとんどは主に中国のデータでトレーニングされているため、結果が不十分になります。
  • さまざまな質問タイプの能力の比較。これら 3 つの問題カテゴリ全体で、モデルの約半数が概念的な理解において最も優れたパフォーマンスを示しており、トレーニング中にプログラミングの概念に関する知識が含まれている可能性が高いことを示唆しています。ほとんどのモデルは、マルチホップ推論と比較して常識推論のスコアが高く、推論ステップが増加すると LLM のパワーが大幅に低下することを示しています。
  • CoT 思考連鎖モデルの役割。 CoT モードのほとんどのモデルの精度は、Answer-Only モードに近いか、それより低くなります。この現象の理由は 2 つあります。 (1) 評価されたモデル サイズが CoT 創発能力を備えたモデル サイズに達していない。以前の研究では、CoT の出現には LLM に少なくとも 60B のパラメータが必要であると考えられていました。パラメータの数が不十分な場合、CoT セットアップにより追加のノイズが発生する可能性があり、LLM によって生成される応答が不安定になります。 GPT3.5-turbo は新たな機能の出現段階に達しており、CoT 設定でより高い精度を達成できます。 (2) 概念的な理解と常識的な推論の質問に答える場合、多段階の推論はそれほど必要ありません。したがって、LLM の CoT 機能は、この種の問題には対処できません。ただし、マルチホップ推論の問題については、一部のモデル (ChatGLM2、educhat、GPT3.5-turbo など) では CoT シナリオの精度が大幅に向上しています。 (CodeApex は、思考連鎖を通じて応答を生成できないため、CodeT5 を CoT 設定から除外します。)

コード生成

トレーニング大規模な言語モデルを使用して正確で実行可能なコードを生成することは、困難な作業です。 CodeApex は主に、指定された記述に基づいてアルゴリズムを生成する LLM の能力を評価し、単体テストを通じて生成されたコードの正確さを自動的に評価します。

CodeApex のコード生成タスクには、C ベースのアルゴリズムの問​​題が 476 個含まれており、二分探索やグラフ アルゴリズムなどの一般的なアルゴリズムの知識ポイントをカバーしています。 CodeApex は問題の説明と、問題を実装する関数プロトタイプを提供し、関数の主要部分を完了するには LLM を必要とします。

上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?

CodeApex では、関数のみとコンテキスト付き関数の 2 つのシナリオが提供されます。関数のみのシナリオでは、ターゲット関数の説明のみが提供されますが、コンテキスト付き関数のシナリオでは、ターゲット関数の説明だけでなく、呼び出しコード、時間と空間の制約、および入出力の説明も提供されます。ターゲット関数。

上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?

実験結果と結論

各言語バージョンでは 2 つのプロンプト戦略 (関数のみと関数) を使用します。 -コンテキスト付き)。人間によるコードのテスト シナリオに合わせて、評価メトリクスには AC@1、AC@all、および AC レートが含まれます。

上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?


上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?

上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?

各モデルのコード生成タスクの結果を次の 2 つの表に示します。 (最も優れたパフォーマンス: 太字、2 番目に優れたパフォーマンス: 下線。)

上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?

次の結論が導き出されます:

  • GPT3.5-turbo は、他の 11 個の LLM よりも優れたパフォーマンスを発揮します。平均スコアが 50% 以上。
  • WizardCoder と StarCoder が 2 位と 3 位にランクされ、コードベースの微調整によるコード生成機能の大幅な向上が強調されました。
  • コード生成タスクでは、中国語と英語の問題タイプで現在テストされているモデル間に明らかなパフォーマンスの違いはありません。

さらに、CodeApex では、各シナリオでコンパイル可能なコードの割合が提供されます。生成された関数を main 関数に接続した後、コンパイルされたコードがテスト ケースを通じてチェックされます。

上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?

ご覧のとおり:

  • ほとんどのモデルは 50% 以上を生成できます。コードをコンパイルします。これにより、関数プロトタイプを理解する LLM の能力が実証されます。
  • 多くの場合、関数に関するコンテキスト情報を提供すると、LLM がコンパイル可能なコードを生成するのに役立ちます。

#結論

CodeApex は、LLM のプログラミング能力に焦点を当てたバイリンガル ベンチマークとして機能し、プログラミングの理解と大規模言語のコード生成を評価します。モデルの能力。プログラミングの理解に関して、CodeApex は 3 つのカテゴリの多肢選択式質問でさまざまなモデルの能力を評価しました。コード生成の観点から、CodeApex はテスト コード ケースの合格率を使用してモデルの機能を評価します。これら 2 つのタスクについて、CodeApex はプロンプト戦略を慎重に設計し、さまざまなシナリオで比較しました。 CodeApex は、一般的な LLM とコードの微調整に基づく特殊な LLM モデルを含む 14 の LLM で実験的に評価されています。

現在、GPT3.5 はプログラミング機能の点で比較的良好なレベルに達しており、プログラミングの理解とコード生成タスクでそれぞれ約 50% と 56% の精度を達成しています。 CodeApex は、プログラミング タスクにおける大規模な言語モデルの可能性がまだ十分に活用されていないことを示しています。私たちは、大規模な言語モデルを活用してコードを生成することで、近い将来、ソフトウェア開発の分野に革命を起こすと予想しています。自然言語処理と機械学習が進歩するにつれて、これらのモデルはより強力になり、コード スニペットの理解と生成に熟達するでしょう。開発者は、これらのモデルを利用して退屈なタスクを自動化し、生産性を向上させ、ソフトウェアの品質を向上させることができるため、コーディング作業において前例のない味方がいることに気づくでしょう。

将来的には、CodeApex は、大規模な言語モデルのコード機能をテストするために、さらに多くのテスト (コード修正など) をリリースする予定です。CodeApex のテスト データも更新され続け、より多様な機能が追加されます。コードの問題。同時に、大規模な言語モデルのコーディング能力を人間のレベルと比較するための人体実験も CodeApex リストに追加されます。 CodeApex は、大規模言語モデルのプログラミング機能に関する研究のためのベンチマークとリファレンスを提供し、コード分野における大規模言語モデルの開発と繁栄を促進します。

APEX 研究室の紹介

上海交通大学 APEX データおよび知識管理研究室は 1996 年に設立されました。創設者は、Tou Yu 氏です。 ACMクラスの主任教師Yong教授。この研究室は、データを効果的にマイニングおよび管理し、知識を要約する人工知能テクノロジーの探究に取り組んでおり、500 を超える国際的な学術論文を発表し、実際のシナリオでの実用的な応用を追求しています。過去 27 年間にわたり、APEX 研究所は、世界のさまざまなテクノロジーの波における世界的な先駆者となりました。この研究所は、2000 年にセマンティック Web (現在はナレッジ グラフとして知られています) のコア テクノロジーの研究を開始し、パーソナライズされた検索エンジンとシステム技術は、2006 年に転移学習の理論とアルゴリズムの研究を開始し、2009 年に深層学習技術の探索を開始し、GPU に基づくニューラル ネットワーク トレーニング ライブラリを開発しました。 APEX Labは、実りある科学研究と実装結果を生み出す一方で、Xue Guirong、Zhang Lei、Lin Chenxi、Liu Guangcan、Wang Haofen、Li Lei、Dai Wenyuan、Li Zhenhui、Chenを含む堅実なデータサイエンスおよび機械学習の研究チームも開発しました。 Tianqi、Zhang Weinan、Yang Diyi をはじめとする人工知能分野の優れた卒業生。

以上が上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。