Nieuwe geschiedenis

Waarom het converteren van grafieken naar Python-code AI-redenen verbetert

Te lang; Lezen

COCOGEN transformeert logische grafische taken in Python-code, waardoor CodeLLM's zoals CODEX nauwkeurige redeneringsstructuren kunnen genereren via vertrouwde syntax.
featured image - Waarom het converteren van grafieken naar Python-code AI-redenen verbetert
The FewShot Prompting Publication  HackerNoon profile picture
0-item

Tafel links

Abstract en 1 inleiding

2 COCOGEN: Vertegenwoordigen Commonsense structuren met code en 2.1 Converteren (T,G) naar Python-code

2.2 Weinig-schot prompting voor het genereren van G

3 Evaluatie en 3.1 Experimentele installatie

3.2 Scriptgeneratie: PROSCRIPT

3.3 Entity state tracking: PROPARA

3.4 Argument graph generatie: EXPLAGRAPHS

4 Analyse

5 Gerelateerde werkzaamheden

6 Conclusie, erkenningen, beperkingen en verwijzingen

A Few-shot modellen grootte schattingen

B Dynamische snelle creatie

C Menselijke beoordeling

D Dataset Statistieken

Voorbeelden van outputs

F snel

G Ontwerpen van een Python-klasse voor een gestructureerde taak

H Impact van modelgrootte

Variatie in de snelheid

2 COCOGEN: Vertegenwoordigen van Commonsense structuren met code

We richten ons op taken van gestructureerde gemeenschappelijke generatie. Elk training voorbeeld voor dergelijke taken is in de vorm (T, G), waar T een tekstinvoer is en G de structuur is die moet worden gegenereerd (meestal een grafiek). Het belangrijkste idee van COCOGEN is het transformeren van een output grafiek G in een semantisch gelijkwaardig programma Gc geschreven in een algemene programmeertaal. In dit werk hebben we Python gekozen vanwege de populariteit ervan in de training gegevens van moderne CodeLLMs (Xu et al., 2022), maar onze benadering is agnostisch voor de programmeertaal. De code getransformeerde grafieken zijn vergelijkbaar in hun formaat met de pre-training gegevens van Code-MLLs, en dienen dus zo gemakkelijker om training of


We gebruiken de taak van scriptgeneratie (PROSCRIPT, Figuur 1) als een voorbeeld om onze methode te motiveren: scriptgeneratie is gericht op het maken van een script (G) om een gegeven hoogwaardig doel (T) te bereiken.

2.1 Conversie (T, G) naar Python code

We converteren een (T, G) paar in een Python-klasse of -functie.De algemene procedure omvat het toevoegen van de invoertekst T aan het begin van de code als een klasse-attribuut of beschrijvende opmerking en het coderen van de structuur G met behulp van standaardconstructies voor het vertegenwoordigen van structuur in code (bijv. hashmaps, object-attribuuten) of functie-oproepen.


Bijvoorbeeld, voor de scriptgeneratie taak, converteren we de (T, G) paar in een Tree klasse (Figuur 1b). Het doel T wordt toegevoegd als klasse attribuut (doel), en het script G wordt toegevoegd door de knooppunten en randen afzonderlijk op te geven. We instantiëren eerst de lijst van knooppunten als objecten van de klasse Node. Dan worden de randen toegevoegd als een attribuut kinderen voor elke knoop (Figuur 1b). We instantiëren bijvoorbeeld de knoop "Take out several plates" als take_out_several_plates = Node(), en voeg het toe als een kind van de node take_pies_out_to_cool.


Hoewel er meerdere manieren zijn om een training voorbeeld als een Python-klasse te vertegenwoordigen, hebben we empirisch gevonden dat dit relatief eenvoudige formaat het meest effectief is, vooral bij grotere modellen.

2.2 Weinig-schot prompting voor het genereren van 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.



In onze experimenten gebruikten we CODEX (Chen et al., 2021a) en ontdekten dat het bijna altijd syntactisch geldig Python genereert.


De

Dit document is verkrijgbaar onder de CC BY 4.0 DEED licentie.

De

Dit document is verkrijgbaar onder de CC BY 4.0 DEED licentie.


De

De auteurs:

De

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

De

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

De

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

De

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

De

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

De

Authors:

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

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

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

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

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


L O A D I N G
. . . comments & more!

About Author

The FewShot Prompting Publication  HackerNoon profile picture
The FewShot Prompting Publication @fewshot
Spearheading research, publications, and advancements in few-shot learning, and redefining artificial intelligence.

LABELS

DIT ARTIKEL WERD GEPRESENTEERD IN...

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks