Is Programming by Example solved by LLMs?

要約

Programming-by-Examples (PBE) は、入出力サンプルからアルゴリズムを生成することを目的としています。
このようなシステムは実用的かつ理論的に重要です。エンドユーザーの観点から見ると、システムは何百万人もの人々に導入されており、AI の観点から見ると、PBE は非常に一般的な形式の少数ショット帰納推論に相当します。
コード生成タスクにおける大規模言語モデル (LLM) の成功を考慮して、ここでは LLM が PBE を「解決した」と言える程度を調査します。
私たちは、リストや文字列などの古典的なドメインと、一般的な事前トレーニング データでは十分に表現されていない珍しいグラフィックス プログラミング ドメインを実験します。
事前トレーニング済みモデルは PBE では効果的ではありませんが、テスト問題が分散している場合には、微調整してパフォーマンスを大幅に向上できることがわかりました。
私たちは、これらのモデルが成功する原因と失敗する原因を経験的に分析し、より適切な分布外一般化を達成する方法を理解するためのステップを踏みます。
これらの結果を総合すると、LLM が典型的な一連の PBE タスクの解決に向けて大きく進歩し、PBE システムの柔軟性と適用性が潜在的に向上すると同時に、LLM がまだ不十分な点も特定できることを示唆しています。

要約(オリジナル)

Programming-by-Examples (PBE) aims to generate an algorithm from input-output examples. Such systems are practically and theoretically important: from an end-user perspective, they are deployed to millions of people, and from an AI perspective, PBE corresponds to a very general form of few-shot inductive inference. Given the success of Large Language Models (LLMs) in code-generation tasks, we investigate here the extent to which LLMs can be said to have `solved’ PBE. We experiment on classic domains such as lists and strings, and an uncommon graphics programming domain not well represented in typical pretraining data. We find that pretrained models are not effective at PBE, but that they can be fine-tuned for much higher performance, provided the test problems are in-distribution. We analyze empirically what causes these models to succeed and fail, and take steps toward understanding how to achieve better out-of-distribution generalization. Collectively these results suggest that LLMs make strong progress toward solving the typical suite of PBE tasks, potentially increasing the flexibility and applicability of PBE systems, while also identifying ways in which LLMs still fall short.

arxiv情報

著者 Wen-Ding Li,Kevin Ellis
発行日 2024-06-13 12:59:06+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

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