Noua istorie

De ce convertirea graficelor în cod Python îmbunătățește raționamentul AI

Prea lung; A citi

COCOGEN transformă sarcinile grafice de sens comun în cod Python, permițând CodeLLM-urilor, cum ar fi CODEX, să genereze structuri de raționament precise prin sintaxă familiară.
featured image - De ce convertirea graficelor în cod Python îmbunătățește raționamentul AI
The FewShot Prompting Publication  HackerNoon profile picture
0-item

Tabelul din stânga

Abstract și 1 introducere

2 COCOGEN: Reprezentarea structurilor Commonsense cu cod și 2.1 Convertirea (T,G) în cod Python

2.2 Promptarea cu câteva fotografii pentru generarea G

3 Evaluarea și 3.1 Instalarea experimentală

3.2 Generația scenariului: PROSCRIPT

3.3 Urmărirea stării entității: PROPARA

3.4 Generarea graficului de argumente: EXPLAGRAPHS

4 Analiza

5 Lucrări conexe

6 Concluzii, recunoașteri, limitări și referințe

A Few-shot modele de dimensiuni estimate

B. Crearea dinamică rapidă

C. Evaluarea umană

D. Datele statistice

Eșantioane de ieșire

F în grabă

G Proiectarea unei clase Python pentru o sarcină structurată

h Impactul dimensiunii modelului

Variații în viteză

2 COCOGEN: Reprezentarea structurilor Commonsense cu cod

Ne concentrăm pe sarcinile de generare a simțului comun structurat. Fiecare exemplu de instruire pentru astfel de sarcini este în formă (T, G), unde T este o intrare text și G este structura care urmează să fie generată (de obicei un grafic). Ideea cheie a COCOGEN este transformarea unui grafic de ieșire G într-un program semantic echivalent Gc scris într-un limbaj de programare cu scop general. În această lucrare, am ales Python datorită popularității sale în datele de instruire ale codurilor moderne (Xu et al., 2022), dar abordarea noastră este agnostică față de limbajul de programare. Graficele transformate de cod sunt similare în formatul lor cu datele de pre-formare ale codurilor-LLM și, prin urmare, servesc mai ușor pentru a generaliza form


Folosim sarcina de generare a scripturilor (PROSCRIPT, Figura 1) ca exemplu de rulare pentru a ne motiva metoda: generarea scripturilor are ca scop crearea unui script (G) pentru a atinge un anumit obiectiv de nivel înalt (T).

2.1 Convertirea (T, G) în cod Python

Convertim o pereche (T, G) într-o clasă sau o funcție Python. Procedura generală implică adăugarea textului de intrare T la începutul codului ca atribut de clasă sau comentariu descriptiv și codarea structurii G folosind construcții standard pentru a reprezenta structura în cod (de exemplu, hashmaps, atribute de obiect) sau apeluri de funcții. Scopul aici este de a compune codul Python care reprezintă o pereche (T, G), dar păstrează sintaxa și convențiile de cod ale codului Python tipic.


De exemplu, pentru sarcina de generare a scripturilor, convertim perechea (T, G) într-o clasă Tree (Figura 1b). Obiectivul T este adăugat ca atribut de clasă (obiectiv), iar scriptul G este adăugat prin listarea nodurilor și a marginilor separat. Mai întâi instanțăm lista nodurilor ca obiecte ale clasei Node. Apoi, marginile sunt adăugate ca copii de atribut pentru fiecare nod (Figura 1b). De exemplu, instanțăm nodul „Take out several plates” ca take_out_several_plates = Node(), și îl adăugăm ca copil al nodului take_pies_out_to_cool.


Deși există mai multe modalități de a reprezenta un exemplu de formare ca o clasă Python, am constatat empiric că acest format relativ simplu este cel mai eficient, mai ales cu modelele mai mari.

2.2 Promptarea cu câteva fotografii pentru generarea 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.



În experimentele noastre, am folosit CODEX (Chen et al., 2021a) și am constatat că generează aproape întotdeauna Python valabil sintactic. Astfel, codul generat poate fi ușor convertit înapoi într-un grafic și evaluat folosind metrica standard, originală a setului de date.


Acest document este disponibil în arhivă sub licența CC BY 4.0 DEED.

Acest document este disponibil în arhivă sub licența CC BY 4.0 DEED.


Autorii :

(1) Aman Madaan, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, SUA ([email protected]);

(2) Shuyan Zhou, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, SUA ([email protected]);

(3) Uri Alon, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, Statele Unite ale Americii ([email protected]);

(4) Yiming Yang, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, SUA ([email protected]);

(5) Graham Neubig, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, SUA ([email protected]).

Authors:

(1) Aman Madaan, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, SUA ([email protected]);

(2) Shuyan Zhou, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, SUA ([email protected]);

(3) Uri Alon, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, Statele Unite ale Americii ([email protected]);

(4) Yiming Yang, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, SUA ([email protected]);

(5) Graham Neubig, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, SUA ([email protected]).


Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks