repo for the paper pal: نماذج اللغة بمساعدة البرنامج.
في PAL ، يحل نموذج اللغة الكبيرة مشاكل التفكير التي تنطوي على مهام حسابية وإجرائية معقدة عن طريق توليد سلاسل التفكير من النص والرمز . هذا يفصل تنفيذ الرمز إلى وقت تشغيل البرنامج ، في حالتنا ، مترجم بيثون. في ورقتنا ، نقوم بتنفيذ PAL باستخدام مقاربة قليلة الطرافة.

يوفر هذا الريبو تنفيذًا تفاعليًا لـ PAL.
[Mar 2023] لقد أضفنا دعامات لبرامج واجهات برمجة تطبيقات chatgpt (على سبيل المثال ، GPT-3.5-Turbo). نتوقع انتقالًا سلسًا لـ PAL فوق إيقاف API Codex. الخروج من scripts/gsm_chatgpt.py للمنطق الرياضيات.
[يناير 2023] نطلق سراح GSM-Hard ، وهو إصدار أصعب من GSM8K الذي أنشأناه. أيضا Avaliable على Huggingface؟
import datasets
gsm_hard = datasets . load_dataset ( "reasoning-machines/gsm-hard" ) استنساخ هذا الريبو وتثبيت مع pip .
git clone https://github.com/luyug/pal
pip install -e ./pal
قبل تشغيل البرامج النصية ، قم بتعيين مفتاح Openai ، export OPENAI_API_KEY='sk-...'
المكونات الأساسية لحزمة pal هي فئات الواجهة. على وجه التحديد ، يقوم ProgramInterface بتوصيل الواجهة الخلفية LLM ، وظهر بيثون ومطالبات المستخدمين.
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)
هنا ، سيتم تشغيل طريقة run interface مع API Openai ، وقم بتشغيل المقتطف الذي تم إنشاؤه ثم تقييم get_answer_expr (هنا solution() ) للحصول على الإجابة النهائية.
يجب على المستخدم تعيين get_answer_expr بناءً على المطالبة.
نحن نقدم حلقات الاستدلال البسيطة في scripts/ المجلد.
mkdir eval_results
python scripts/{colored_objects|gsm|date_understanding|penguin}_eval.py
لدينا إصدار تجريبي من نص مخصص ChatGpt لأسباب الرياضيات.
python scripts/gsm_chatgpt.py
لتشغيل الاستدلال بالجملة ، استخدمنا خطوط مكتبة التحطيم العامة ونوصي به لتشغيل استشعار COT على جميع المهام المستخدمة في عملنا.



للحصول على التفاصيل الكاملة للنتائج ، راجع الورقة.
@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}
}