Planning with Large Language Models for Code Generation

要約

既存の大規模な言語モデル ベースのコード生成パイプラインでは、通常、デコード プロセス中にビーム検索またはサンプリング アルゴリズムが使用されます。
彼らが生成するプログラムは、トークン マッチングに基づく高いスコアを達成しますが、多くの場合、コンパイルに失敗したり、誤った出力を生成したりします。
主な理由は、従来の Transformer デコード アルゴリズムがコード生成に最適ではない可能性があるためです。
この作業では、計画アルゴリズムを使用して先読み検索を行い、より良いプログラムを生成するように Transformer をガイドする、新しい Transformer デコード アルゴリズム、Planning-Guided Transformer Decoding (PG-TD) を提案します。
具体的には、生成されたシーケンスの可能性を単純に最適化する代わりに、Transformer はプランナーを使用して候補プログラムを生成し、公開テスト ケースでテストします。
したがって、トランスフォーマーは、より多くの情報に基づいた決定を下し、最終的に高品質のプログラムにつながるトークンを生成できます。
また、アルゴリズムの計算効率を高めるために、Transformer とプランナーの間で情報を共有するメカニズムも設計します。
パブリック コーディング チャレンジ ベンチマークのバックボーンとしていくつかの大規模な言語モデルを使用してフレームワークを経験的に評価し、1) 競合するベースライン メソッドと比較して一貫して高いパフォーマンスを達成するプログラムを生成できることを示します。
2) 変更された目的を最適化することにより、簡潔なコードやコメントの多いコードなど、制御可能なコード生成を可能にします。

要約(オリジナル)

Existing large language model-based code generation pipelines typically use beam search or sampling algorithms during the decoding process. Although the programs they generate achieve high token-matching-based scores, they often fail to compile or generate incorrect outputs. The main reason is that conventional Transformer decoding algorithms may not be the best choice for code generation. In this work, we propose a novel Transformer decoding algorithm, Planning-Guided Transformer Decoding (PG-TD), that uses a planning algorithm to do lookahead search and guide the Transformer to generate better programs. Specifically, instead of simply optimizing the likelihood of the generated sequences, the Transformer makes use of a planner to generate candidate programs and test them on public test cases. The Transformer can therefore make more informed decisions and generate tokens that will eventually lead to higher-quality programs. We also design a mechanism that shares information between the Transformer and the planner to make our algorithm computationally efficient. We empirically evaluate our framework with several large language models as backbones on public coding challenge benchmarks, showing that 1) it can generate programs that consistently achieve higher performance compared with competing baseline methods; 2) it enables controllable code generation, such as concise codes and highly-commented codes by optimizing modified objective.

arxiv情報

著者 Shun Zhang,Zhenfang Chen,Yikang Shen,Mingyu Ding,Joshua B. Tenenbaum,Chuang Gan
発行日 2023-03-09 18:59:47+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.CL, cs.LG, cs.PL パーマリンク