ALGO: Synthesizing Algorithmic Programs with LLM-Generated Oracle Verifiers

要約

大規模言語モデル (LLM) は、機能記述からコードを実装することに優れていますが、実装だけでなく適切なアルゴリズムの特定も必要とするアルゴリズムの問​​題に苦労します。
さらに、LLM で生成されたプログラムには正確性が保証されておらず、人間による検証が必要です。
これらの課題に対処するために、LLM で生成されたオラクルを使用してアルゴリズム プログラムを合成し、生成をガイドし、その正しさを検証するフレームワークである ALGO を提案します。
ALGO はまず、LLM に関連する変数のすべての組み合わせを徹底的に列挙するように指示することで、参照オラクルを生成します。
このオラクルは、アルゴリズム空間を探索する際の任意の検索戦略を導き、合成されたアルゴリズムを検証するために利用されます。
私たちの調査では、LLM が生成したオラクルが 88% のケースで正しいことが示されています。
オラクルを検証者として使用すると、ALGO をモデルに依存しない方法で既存のコード生成モデルと統合して、パフォーマンスを向上させることができます。
実験によると、ALGO を装備すると、Codex モデルと比較して 1 回の提出での合格率が 8 倍向上し、CodeContests の現在の最先端モデルである CodeT と比較して 1 回の提出での合格率が 2.6 倍向上することがわかりました。
また、目に見えない問題については、ChatGPT コード インタープリターよりも 1.3 倍高い合格率を得ることができます。
テストに使用した問題セット、使用したプロンプト、検証プログラムとソリューション プログラム、および ALGO によって生成されたテスト ケースは、https://github.com/zkx06111/ALGO で入手できます。

要約(オリジナル)

Large language models (LLMs) excel at implementing code from functionality descriptions but struggle with algorithmic problems that require not only implementation but also identification of the suitable algorithm. Moreover, LLM-generated programs lack guaranteed correctness and require human verification. To address these challenges, we propose ALGO, a framework that synthesizes Algorithmic programs with LLM-Generated Oracles to guide the generation and verify their correctness. ALGO first generates a reference oracle by prompting an LLM to exhaustively enumerate all the combinations of relevant variables. This oracle is then utilized to guide an arbitrary search strategy in exploring the algorithm space and to verify the synthesized algorithms. Our study shows that the LLM-generated oracles are correct for 88% of the cases. With the oracles as verifiers, ALGO can be integrated with any existing code generation model in a model-agnostic manner to enhance its performance. Experiments show that when equipped with ALGO, we achieve an 8x better one-submission pass rate over the Codex model and a 2.6x better one-submission pass rate over CodeT, the current state-of-the-art model on CodeContests. We can also get 1.3x better pass rate over the ChatGPT Code Interpreter on unseen problems. The problem set we used for testing, the prompts we used, the verifier and solution programs, and the test cases generated by ALGO are available at https://github.com/zkx06111/ALGO.

arxiv情報

著者 Kexun Zhang,Danqing Wang,Jingtao Xia,William Yang Wang,Lei Li
発行日 2023-12-08 00:12:58+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.CL, cs.SE パーマリンク