13日前

CodeT:生成されたテストを用いたコード生成

Bei Chen, Fengji Zhang, Anh Nguyen, Daoguang Zan, Zeqi Lin, Jian-Guang Lou, Weizhu Chen
CodeT:生成されたテストを用いたコード生成
要約

与えられたプログラミング問題に対してコード解決策を生成するタスクは、Codex などの事前学習済み言語モデルを活用することで、多様なサンプルを生成できる利点を享受できる。しかし、このタスクにおける大きな課題は、事前学習モデルが生成した多数のコードサンプルの中から最も適切な解決策を選択することにある。コード解決策の品質と正しさを評価する自然な方法は、そのコードをテストケース群に対して実行することであるが、こうしたテストケースを手動で作成することはしばしば費用と時間の両面で非効率である。本論文では、同一の事前学習済み言語モデルを活用して、生成されたコードサンプル用のテストケースを自動的に生成する新しい手法、CodeT を提案する。これにより、人的作業を削減するとともに、テストシナリオのカバレッジを向上させることができる。CodeT は生成されたテストケースを用いてコードサンプルを実行し、二重実行一致(dual execution agreement)を実施する。この手法は、生成されたテストケースに対する出力の一貫性と、他のコードサンプルとの出力の一致性の両方を考慮する。本研究では、HumanEval、MBPP、APPS、CodeContests の4つのベンチマーク上で、サイズや能力が異なる5種類の事前学習言語モデルを用いて包括的な実験を実施した。その結果、CodeT は従来の手法と比較して、コード解決策選択の性能を顕著に向上させ、異なるモデルおよびベンチマークにおいて一貫した改善を達成した。例えば、HumanEval における pass@1 メトリクスにおいて、CodeT は 65.8% まで向上させ、code-davinci-002 モデルに対して 18.8% の絶対的な改善を達成し、従来の最先端手法よりも 20% 以上の絶対的向上を示した。

CodeT:生成されたテストを用いたコード生成 | 最新論文 | HyperAI超神経