新しい歴史

なぜグラフをPythonコードに変換すればAI推論が向上するのか

長すぎる; 読むには

COCOGEN は、共通のグラフタスクを Python コードに変換し、CODEX のような CodeLLM が、よく知られている構文を通じて正確な推論構造を生成することを可能にします。
featured image - なぜグラフをPythonコードに変換すればAI推論が向上するのか
The FewShot Prompting Publication  HackerNoon profile picture
0-item

左のテーブル

抽象と1 Introduction

2 COCOGEN: Representing Commonsense structures with code and 2.1 Converting (T,G) into Python code コードの変換

2.2 G を生成するための数ショットプロンプトリング

3 評価と3.1 実験設定

3.2 スクリプト・ジェネレーション:PROSCRIPT

3.3 Entity state tracking: PROPARA

3.4 アルゴリズムグラフ生成: EXPLAGRAPHS

4 分析

5 関連作品

6 結論、承認、制限、参照

A Few-shot モデル サイズ 推定

B ダイナミック・スピード・クリエイション

C 人間の評価

D 統計データ

サンプル出力

F スピード

G 構造化タスクのための Python クラスの設計

h モデルサイズの影響

スピードの変動

2 COCOGEN: Representing Commonsense structures with code(ココゲン:コモンセンス構造をコードで表す)

私たちは構造化された常識生成のタスクに焦点を当てています。そのようなタスクのための各トレーニング例は、形式(T、G)にあり、Tはテキスト入力であり、Gは生成される構造である(通常はグラフ)。COCOGENの主要なアイデアは、出力グラフGを、一般的なプログラミング言語で書かれたセマンティックに等しいプログラムGcに変換することです。この作品では、現代のCodeLLM(Xu et al., 2022)のトレーニングデータにおけるその人気のためにPythonを選択しましたが、私たちのアプローチはプログラミング言語に無知です。コード変換グラフは、Code-LLMのプレトレーニングデータとその形式で類似しており、したが


私たちは、スクリプト生成のタスク(PROSCRIPT、図1)を、私たちの方法を動機づけるための実行例として使用します:スクリプト生成は、特定の高いレベルの目標(T)を達成するために、スクリプト(G)を作成することを目的としています。

2.1 Python コードへの変換(T、G)

We convert a (T, G) pair into a Python class or function. The general procedure involves adding the input text T at the beginning of the code as a class attribute or descriptive comment and encoding the structure G using standard constructs for representing structure in code (e.g., hashmaps, object attributes) or function calls. The goal here is to compose Python code that represents a (T, G) pair, but retains the syntax and code conventions of typical Python code. 一般的な手順は、クラス属性または記述的なコメントとしてコードの開始時に入力テキストTを追加することです。


たとえば、スクリプト生成タスクのために、私たちは(T、G)カップルをTreeクラスに変換します(図1b)。ターゲットTはクラス属性(目標)として追加され、スクリプトGはノードとエッジを別々にリストすることによって追加されます。私たちは最初にノードのリストをクラスNodeのオブジェクトとしてインスタンスします。その後、エッジは各ノードの属性子として追加されます(図1b)。 たとえば、我々は「複数のプレートを外す」ノードを take_out_several_plates = Node()としてインスタンスし、ノードの子供として追加します take_pies_out_to_cool.


Python クラスとしてトレーニング サンプルを表す方法は複数あるが、この比較的シンプルな形式が最も効果的であることが実証されたが、特に大きいモデルでは最も効果的である。

2.2 G を生成するための数ショットプロンプトリング





Figure 2: COCOGEN uses a prompt consisting of k (5-10) Python classes. During inference, the test input is converted to a partial class, as shown above, appended to the prompt, and completed by a code generation model such as CODEX.



私たちの実験では、CODEX (Chen et al., 2021a) を使用して、それはほとんど常に文法的に有効な Python を生成することを発見しました. したがって、生成されたコードは簡単にグラフに戻って変換され、データセットの標準、オリジナル、メトリックを使用して評価することができます. 附属書 F は、我々が実験した任務のそれぞれのためのサンプルプロンプトをリストします.


この論文は CC BY 4.0 DEED ライセンスの下で archiv で利用できます。

この紙はARCHIV で利用可能CC BY 4.0 DEED ライセンス


著者:

(1) Aman Madaan, Language Technologies Institute, Carnegie Mellon University, USA ([email protected])

(2) Shuyan Zhou, Language Technologies Institute, Carnegie Mellon University, USA ([email protected])

(3) Uri Alon, Language Technologies Institute, Carnegie Mellon University, USA ([email protected])

(4) Yiming Yang, Language Technologies Institute, Carnegie Mellon University, USA ([email protected])

(5) Graham Neubig, Language Technologies Institute, Carnegie Mellon University, USA ([email protected])

Authors:

(1) Aman Madaan, Language Technologies Institute, Carnegie Mellon University, USA ([email protected])

(2) Shuyan Zhou, Language Technologies Institute, Carnegie Mellon University, USA ([email protected])

(3) Uri Alon, Language Technologies Institute, Carnegie Mellon University, USA ([email protected])

(4) Yiming Yang, Language Technologies Institute, Carnegie Mellon University, USA ([email protected])

(5) Graham Neubig, Language Technologies Institute, Carnegie Mellon University, USA ([email protected])


Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks