QUICK REVIEW
[論文レビュー] GPT-Neo: Large Scale Autoregressive Language Modeling with Mesh-Tensorflow
Dan Hendrycks, Steven Basart|arXiv (Cornell University)|Mar 21, 2021
Software Engineering Research参考文献 32被引用数 137
ひとこと要約
本論文は APPS を用いたコード生成を評価し、10,000 問題のベンチマークを導入するとともに、APPS でファインチューニングした GPT-Neo が顕著であるが限定的なコード生成能力を達成し、モデルが大規模化するにつれて構文エラーが減少することを示す。
ABSTRACT
GPT-Neo is an implementation of model & data-parallel GPT-2 and GPT-3-like models, utilizing Mesh Tensorflow for distributed support. This codebase is designed for TPUs. It should also work on GPUs, though we do not recommend this hardware configuration.
研究の動機と目的
- 自然言語から Python へのコード生成のための厳密なベンチマーク(APPS)を定義する。
- 自動テストケース評価を用いて、実コード生成タスクにおける大規模言語モデルの性能を評価する。
- コード生成性能に対するモデルサイズ、ファインチューニング、デコード戦略の影響を分析する。
提案手法
- 10,000 問題、131,777 のテストケース、232,421 の人間書きソリューションを備える APPS を構築する。
- GitHub由来の Python データをクリーンアップして事前学習した GPT-2 を用い、APPS の問題文とフォーマットでファインチューニングする。
- 生成されたプログラムをテストケースに対して実行してコードを評価する(テストケース平均)し、すべてのテストケースを通過することを要求する(厳密な正解率)。
- ビーム幅5のビームサーチを使用し、問題ごとに5ビームを評価する。
- Introductory/Interview/Competitive の難易度レベルで、GPT-2 の各種 variants、GPT-Neo、GPT-3(few-shot)、および codex 風の大型モデルを比較する。
実験結果
リサーチクエスチョン
- RQ1自然言語による説明が与えられたとき、巨大言語モデルはどれだけうまく Python コードを生成できるか?
- RQ2専用のコード生成ベンチマークでファインチューニングすることは、一般的な事前学習と比較して性能を改善するか?
- RQ3APPS でのモデルサイズ、構文エラー、およびコードの正確さの関係はどうなっているか?
- RQ4自動評価指標(テストケース精度対 BLEU)は、実際のコード正確性とどのように相関するか?
主な発見
- GPT-Neo 2.7B は Introductory 問題で、単一の生成解で約 15% のテストケースを通過し、厳密精度は約 4% 程度。
- 構文エラーはモデルサイズとファインチューニングにより劇的に減少する;GPT-Neo 2.7B は Introductory 問題で約 3% の構文エラー。
- BLEU スコアはコード正確性の信頼できる指標ではなく、金標準の正確性と逆相関になることがある。
- GPT-3 (175B) は APPS で few-shot 設定でも非常に少数の問題しか解けず、その設定でのコード生成能力は限定的である。
- より大きなコード志向モデル(Codex風)は GPT-Neo 2.7B より強い性能を示すが、APPS を完全に解くにはまだ遠い。
- Beam search (Top-5) は正解解の割合を改善し、GPT-Neo 2.7B が Introductory 問題でより高い厳密正解率を達成するのを可能にする。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。