Repo untuk Paper Pal: Model Bahasa Bantuan Program.
Dalam PAL, model bahasa besar memecahkan masalah penalaran yang melibatkan tugas aritmatika dan prosedural yang kompleks dengan menghasilkan rantai penalaran teks dan kode . Ini melepas eksekusi kode ke runtime program, dalam kasus kami, seorang interpreter Python. Dalam makalah kami, kami mengimplementasikan PAL menggunakan pendekatan dorongan beberapa tembakan.

Repo ini memberikan implementasi PAL yang interaktif.
[Mar 2023] Kami telah menambahkan dukungan untuk API ChatGPT (misalnya, GPT-3.5-Turbo). Kami mengharapkan transisi yang lancar untuk PAL melalui shutdown API Codex. Lihat scripts/gsm_chatgpt.py untuk penalaran matematika.
[Jan 2023] Kami merilis GSM-Hard, versi yang lebih sulit dari GSM8K yang kami buat. Juga tersedia di Huggingface?
import datasets
gsm_hard = datasets . load_dataset ( "reasoning-machines/gsm-hard" ) Klone repo ini dan pasang dengan pip .
git clone https://github.com/luyug/pal
pip install -e ./pal
Sebelum menjalankan skrip, atur kunci openai, export OPENAI_API_KEY='sk-...'
Komponen inti dari paket pal adalah kelas antarmuka. Secara khusus, ProgramInterface menghubungkan backend LLM, backend python dan prompt pengguna.
import pal
from pal.prompt import math_prompts
interface = pal.interface.ProgramInterface(
model='code-davinci-002',
stop='nnn', # stop generation str for Codex API
get_answer_expr='solution()' # python expression evaluated after generated code to obtain answer
)
question = 'xxxxx'
prompt = math_prompts.MATH_PROMPT.format(question=question)
answer = interface.run(prompt)
Di sini, metode run interface akan menjalankan pembuatan dengan OpenAI API, menjalankan cuplikan yang dihasilkan dan kemudian mengevaluasi get_answer_expr (here solution() ) untuk mendapatkan jawaban akhir.
Pengguna harus mengatur get_answer_expr berdasarkan prompt.
Kami memberikan loop inferensi sederhana di scripts/ folder.
mkdir eval_results
python scripts/{colored_objects|gsm|date_understanding|penguin}_eval.py
Kami memiliki rilis beta dari naskah khusus chatgpt untuk penalaran matematika.
python scripts/gsm_chatgpt.py
Untuk menjalankan inferensi massal, kami menggunakan prompt prompt-lib generik dan merekomendasikannya untuk menjalankan inferenence cot pada semua tugas yang digunakan dalam pekerjaan kami.



Untuk detail lengkap hasilnya, lihat koran.
@article{gao2022pal,
title={PAL: Program-aided Language Models},
author={Gao, Luyu and Madaan, Aman and Zhou, Shuyan and Alon, Uri and Liu, Pengfei and Yang, Yiming and Callan, Jamie and Neubig, Graham},
journal={arXiv preprint arXiv:2211.10435},
year={2022}
}