ホームページ > 記事 > テクノロジー周辺機器 > 上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?
独自のコードを記述できるマシンを構築することは、コンピューター サイエンスと人工知能の先駆者が追求してきた目標です。 GPT タイプの大型モデルの急速な開発により、そのような目標はこれまで以上に近づいています。
大規模言語モデル (大規模言語モデル) の出現により、モデルのプログラミング機能に対する研究者の注目がますます高まっています。このような状況の下、上海交通大学の APEX 研究室は、LLM のプログラミング理解とコード生成能力の評価に焦点を当てたバイリンガル ベンチマーク データ セットである CodeApex を立ち上げました。
大規模な言語モデルのプログラミング理解能力を評価するために、CodeApex は、概念理解、常識的推論、およびマルチホップ推論という 3 種類の多肢選択式の質問を設計しました。さらに、CodeApex は、アルゴリズムの質問と対応するテスト ケースを利用して、LLM のコード生成機能を評価します。 CodeApex は、コーディング タスクに関して合計 14 の大規模な言語モデルを評価しました。その中で、GPT3.5-turbo は最高のプログラミング能力を示し、これら 2 つのタスクでそれぞれ約 50% と 56% の精度を達成しました。大規模な言語モデルには、プログラミング タスクを改善する余地がまだ多くあることがわかり、独自のコードを作成できるマシンを構築することは、非常に有望な将来です。
近年、CodeBERT や GPT3.5 などの大規模な事前トレーニング済みモデルの出現により、研究者はプログラミングの理解とコードへのこれらのモデルの応用を模索し始めています。生成タスク。これらのモデルはトレーニング中にコード生成タスクを統合し、コードを理解して生成できるようにします。ただし、コードの理解と生成における LLM の進歩を公正に評価することは、標準的で公開されている高品質で多様なベンチマーク データセットが不足しているため困難です。したがって、コードのセマンティクスと構造を幅広くカバーするベンチマーク データセットを確立することは、プログラミングの理解とコード生成の研究を促進するために重要です。
既存のコード ベンチマーク データセットには、LLM に適用する場合の適用性と多様性の問題があります。たとえば、一部のデータセットは、Bert タイプの双方向言語モデリング LLM の評価に適しています。ただし、既存の多言語コード ベンチマーク データ セット (Human-Eval など) には比較的単純な問題が含まれており、多様性に欠けており、いくつかの基本的な機能コードしか実装できません。
上記のギャップを埋めるために、上海交通大学の APEX データおよび知識管理研究所は、大規模モデルのコードの理解と生成のための新しい評価ベンチマークである CodeApex を構築しました。画期的なバイリンガル (英語、中国語) ベンチマーク データセットとして、CodeApex は、プログラミングの理解と LLM のコード生成機能の評価に重点を置いています。
#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 つのカテゴリに分類しました。
テスト モードには、回答のみと思考の連鎖という 2 つのカテゴリが含まれています。
コード理解タスクにおける CodeApex の中国語と英語の評価結果2つの表に示すと以下のようになる。 (最高のパフォーマンスを発揮するモデルは太字で表示され、次に最高のパフォーマンスを発揮するモデルには下線が付けられます。)
## 次のとおりです。そこから結論を導き出すことができます: トレーニング大規模な言語モデルを使用して正確で実行可能なコードを生成することは、困難な作業です。 CodeApex は主に、指定された記述に基づいてアルゴリズムを生成する LLM の能力を評価し、単体テストを通じて生成されたコードの正確さを自動的に評価します。 CodeApex のコード生成タスクには、C ベースのアルゴリズムの問題が 476 個含まれており、二分探索やグラフ アルゴリズムなどの一般的なアルゴリズムの知識ポイントをカバーしています。 CodeApex は問題の説明と、問題を実装する関数プロトタイプを提供し、関数の主要部分を完了するには LLM を必要とします。 CodeApex では、関数のみとコンテキスト付き関数の 2 つのシナリオが提供されます。関数のみのシナリオでは、ターゲット関数の説明のみが提供されますが、コンテキスト付き関数のシナリオでは、ターゲット関数の説明だけでなく、呼び出しコード、時間と空間の制約、および入出力の説明も提供されます。ターゲット関数。 各言語バージョンでは 2 つのプロンプト戦略 (関数のみと関数) を使用します。 -コンテキスト付き)。人間によるコードのテスト シナリオに合わせて、評価メトリクスには AC@1、AC@all、および AC レートが含まれます。
次の結論が導き出されます: さらに、CodeApex では、各シナリオでコンパイル可能なコードの割合が提供されます。生成された関数を main 関数に接続した後、コンパイルされたコードがテスト ケースを通じてチェックされます。 ご覧のとおり: CodeApex は、LLM のプログラミング能力に焦点を当てたバイリンガル ベンチマークとして機能し、プログラミングの理解と大規模言語のコード生成を評価します。モデルの能力。プログラミングの理解に関して、CodeApex は 3 つのカテゴリの多肢選択式質問でさまざまなモデルの能力を評価しました。コード生成の観点から、CodeApex はテスト コード ケースの合格率を使用してモデルの機能を評価します。これら 2 つのタスクについて、CodeApex はプロンプト戦略を慎重に設計し、さまざまなシナリオで比較しました。 CodeApex は、一般的な LLM とコードの微調整に基づく特殊な LLM モデルを含む 14 の LLM で実験的に評価されています。 現在、GPT3.5 はプログラミング機能の点で比較的良好なレベルに達しており、プログラミングの理解とコード生成タスクでそれぞれ約 50% と 56% の精度を達成しています。 CodeApex は、プログラミング タスクにおける大規模な言語モデルの可能性がまだ十分に活用されていないことを示しています。私たちは、大規模な言語モデルを活用してコードを生成することで、近い将来、ソフトウェア開発の分野に革命を起こすと予想しています。自然言語処理と機械学習が進歩するにつれて、これらのモデルはより強力になり、コード スニペットの理解と生成に熟達するでしょう。開発者は、これらのモデルを利用して退屈なタスクを自動化し、生産性を向上させ、ソフトウェアの品質を向上させることができるため、コーディング作業において前例のない味方がいることに気づくでしょう。 将来的には、CodeApex は、大規模な言語モデルのコード機能をテストするために、さらに多くのテスト (コード修正など) をリリースする予定です。CodeApex のテスト データも更新され続け、より多様な機能が追加されます。コードの問題。同時に、大規模な言語モデルのコーディング能力を人間のレベルと比較するための人体実験も CodeApex リストに追加されます。 CodeApex は、大規模言語モデルのプログラミング機能に関する研究のためのベンチマークとリファレンスを提供し、コード分野における大規模言語モデルの開発と繁栄を促進します。 上海交通大学 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 をはじめとする人工知能分野の優れた卒業生。
コード生成
実験結果と結論
#結論
APEX 研究室の紹介
以上が上海交通大学、大規模モデルのバイリンガル プログラミング評価ベンチマークである CodeApex をリリース 機械は本当に人間のコード作成に挑戦し始めているのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。