Program of Thoughts Prompting (EL)
Program of Thoughts Prompting (PoT, αγγλ. «πρόγραμμα σκέψεων») — είναι μέθοδος μηχανικής prompt για μεγάλα γλωσσικά μοντέλα (LLM), κατά την οποία το μοντέλο παράγει κώδικα προγράμματος ως ενδιάμεσα βήματα επίλυσης της εργασίας αντί για κειμενική εξήγηση[1]. Αυτή η προσέγγιση επιτρέπει τον διαχωρισμό της λογικής συλλογιστικής από τους μαθηματικούς υπολογισμούς: το γλωσσικό μοντέλο κατασκευάζει ένα πλάνο λύσης με τη μορφή προγράμματος (π.χ. σε Python), ενώ οι υπολογισμοί εκτελούνται από έναν εξωτερικό, ντετερμινιστικό διερμηνέα κώδικα.
Η μέθοδος προτάθηκε το 2022 από μια ομάδα ερευνητών με επικεφαλής τον Wenhu Chen και στοχεύει κυρίως σε εργασίες αριθμητικής ή λογικής φύσης (μαθηματικά προβλήματα, οικονομικοί υπολογισμοί), όπου οι παραδοσιακές μέθοδοι συλλογιστικής, όπως το Chain-of-Thought, αντιμετώπιζαν δυσκολίες στην ακρίβεια των υπολογισμών[1].
Προϋποθέσεις και έννοια
Περιορισμοί του Chain-of-Thought
Η μέθοδος PoT αποτελεί εξέλιξη της ιδέας του Chain-of-Thought (CoT) (αλυσίδα συλλογισμών), η οποία αποτελούσε προηγουμένως την κύρια προσέγγιση για τη βελτίωση της λογικής συναγωγής των LLM[2]. Στη μέθοδο CoT, το μοντέλο παράγει μια ακολουθία ενδιάμεσων βημάτων σε φυσική γλώσσα. Παρά τη σημαντική βελτίωση της ποιότητας της συλλογιστικής, αυτή η προσέγγιση έχει έναν θεμελιώδη περιορισμό: το μοντέλο εκτελεί τόσο τη λογική όσο και τους ίδιους τους υπολογισμούς σε κειμενική μορφή. Αυτό οδηγεί συχνά σε ανακριβείς αριθμητικές πράξεις, σφάλματα στρογγυλοποίησης και άλλες ανακρίβειες, καθώς τα γλωσσικά μοντέλα εκ φύσεως δεν είναι ακριβείς αριθμομηχανές.
Βασική ιδέα του Program of Thoughts
Η βασική ιδέα του PoT είναι να αναθέσει τους υπολογισμούς σε ένα εξωτερικό σύστημα (διερμηνέα κώδικα) και να απαιτεί από το γλωσσικό μοντέλο μόνο την τυποποίηση του πλάνου λύσης με τη μορφή εκτελέσιμου προγράμματος[1]. Το μοντέλο λειτουργεί ως «προγραμματιστής» και όχι ως «υπολογιστής».
Η διαδικασία λειτουργίας έχει ως εξής:
- Το μοντέλο λαμβάνει ως είσοδο μια εργασία (π.χ. ένα κειμενικό μαθηματικό πρόβλημα).
- Αντί για κειμενική συλλογιστική, παράγει ένα script σε γλώσσα προγραμματισμού (π.χ. Python), το οποίο επιλύει αυτή την εργασία.
- Ο παραχθείς κώδικας διαβιβάζεται σε εξωτερικό διερμηνέα, ο οποίος τον εκτελεί.
- Το αποτέλεσμα εκτέλεσης του κώδικα είναι η τελική απάντηση.
Έτσι, οι σύνθετοι και ακριβείς υπολογισμοί (πράξεις με μεγάλους αριθμούς, κλήση εξειδικευμένων βιβλιοθηκών) εκτελούνται όχι από το ίδιο το μοντέλο, αλλά από το πρόγραμμα, κάτι που εξασφαλίζει ντετερμινισμό και υψηλή ακρίβεια[3].
Υλοποίηση και χρήση βιβλιοθηκών
Στην υλοποίηση του PoT, κλειδί αποτελεί η ικανότητα των LLM να παράγουν σωστό και αποδοτικό κώδικα. Οι συγγραφείς της προσέγγισης χρησιμοποίησαν το μοντέλο OpenAI Codex, ειδικά εκπαιδευμένο σε εργασίες προγραμματισμού. Η προσέγγιση PoT επιτρέπει στο μοντέλο να αξιοποιεί εξωτερικές βιβλιοθήκες, κάτι που διευρύνει σημαντικά την κατηγορία των επιλύσιμων εργασιών. Για παράδειγμα, κατά την επίλυση εργασιών συμβολικών μαθηματικών, το μοντέλο μπορεί να παράγει κώδικα που χρησιμοποιεί τη βιβλιοθήκη SymPy για αναλυτική επίλυση εξισώσεων, κάτι που υπερβαίνει τις δυνατότητες αμιγώς γλωσσικών μεθόδων[1].
Το prompt για το PoT μπορεί να παρέχεται σε δύο λειτουργίες:
- Few-shot: Το prompt περιέχει αρκετά παραδείγματα ζευγών «ερώτηση — πρόγραμμα-λύση».
- Zero-shot: Το prompt περιέχει μόνο οδηγίες που περιγράφουν την εργασία, χωρίς παραδείγματα.
Ακόμα και στη λειτουργία zero-shot, το PoT επιδεικνύει υψηλή αποδοτικότητα χάρη στη σαφή δομή που πρέπει να παράγει το μοντέλο[4].
Αποτελέσματα και αποδοτικότητα
Η μέθοδος PoT επέδειξε σημαντική βελτίωση της ποιότητας λύσεων σε εργασίες που απαιτούν πολυβήματη αριθμητική συλλογιστική. Στην πρωτότυπη εργασία δοκιμάστηκε σε οκτώ σύνολα μαθηματικών και οικονομικών εργασιών, συμπεριλαμβανομένων των GSM8K, AQUA, SVAMP, FinQA και άλλων.
- Βελτίωση ακρίβειας: Σε όλες τις περιπτώσεις το PoT υπερέβη την βασική προσέγγιση CoT. Κατά μέσο όρο επιτεύχθηκε σχετικό κέρδος περίπου ~12% στο ποσοστό σωστών λύσεων.
- Στο δημοφιλές μαθηματικό σύνολο GSM8K, η ακρίβεια του μοντέλου με PoT έφτασε το 71,6%, ενώ με CoT ήταν 63,1%.
- Στις οικονομικές εργασίες το κέρδος ήταν ακόμα πιο ουσιαστικό: στο dataset FinQA η ακρίβεια αυξήθηκε από 40,4% (CoT) σε 64,5% (PoT)[1].
- Συνδυασμός με Self-Consistency: Η αποδοτικότητα του PoT μπορεί να βελτιωθεί περαιτέρω σε συνδυασμό με τη μέθοδο αυτοσυνέπειας (self-consistency). Σε αυτή την περίπτωση, το μοντέλο παράγει αρκετά ανεξάρτητα προγράμματα-λύσεις και η τελική απάντηση επιλέγεται κατά «αρχή πλειοψηφίας» από τα αποτελέσματα εκτέλεσής τους. Σε συνδυασμό με self-consistency, το PoT καθιέρωσε νέο state-of-the-art κατά τη στιγμή δημοσίευσης για όλα τα δοκιμασμένα μαθηματικά και οικονομικά benchmarks[1].
Πλεονεκτήματα και περιορισμοί
Πλεονεκτήματα
- Ακρίβεια υπολογισμών: Το κύριο πλεονέκτημα. Η εκτέλεση αριθμητικών πράξεων από εξωτερικό διερμηνέα εξαλείφει τα σφάλματα στρογγυλοποίησης και τις ανακρίβειες που χαρακτηρίζουν τα LLM.
- Δυνατότητα χρήσης βιβλιοθηκών: Το μοντέλο μπορεί να αξιοποιεί ισχυρές εξωτερικές βιβλιοθήκες (π.χ. για συμβολικούς υπολογισμούς, στατιστική ανάλυση, επεξεργασία ημερομηνιών), επιλύοντας εργασίες που δεν ήταν προηγουμένως εφικτές.
- Ερμηνευσιμότητα και αποσφαλμάτωση: Ο κώδικας προγράμματος αποτελεί τυπική και δομημένη αναπαράσταση της λογικής λύσης, γεγονός που διευκολύνει τον έλεγχο και την αποσφαλμάτωσή του σε σύγκριση με τη συλλογιστική σε φυσική γλώσσα.
- Ευελιξία: Η προσέγγιση είναι αποδοτική τόσο σε λειτουργία few-shot όσο και zero-shot και εφαρμόζεται σε διάφορους τομείς (μαθηματικά, οικονομικά, επιστήμη).
Περιορισμοί
- Ασφάλεια: Η εκτέλεση παραγόμενου κώδικα σε εξωτερικό διερμηνέα δημιουργεί κινδύνους ασφαλείας. Το μοντέλο θεωρητικά μπορεί να παράγει κακόβουλο κώδικα (π.χ. για διαγραφή αρχείων). Επομένως, η πρακτική εφαρμογή του PoT απαιτεί απομόνωση του περιβάλλοντος εκτέλεσης (sandbox) και προσεκτικό φιλτράρισμα κώδικα[4].
- Περιορισμένη εφαρμοσιμότητα: Η μέθοδος είναι πιο αποδοτική για εργασίες που μπορούν να τυποποιηθούν σαφώς με τη μορφή αλγορίθμου. Για εργασίες που απαιτούν κατανόηση γλωσσικών αποχρώσεων, κοινή λογική ή δημιουργική σκέψη, η άμεση εφαρμογή του PoT είναι δυσχερής.
- Εξάρτηση από την ποιότητα κώδικα: Η αποδοτικότητα της μεθόδου εξαρτάται άμεσα από την ικανότητα του LLM να παράγει συντακτικά σωστό και λογικά ορθό κώδικα.
Συναφείς προσεγγίσεις
Η ιδέα χρήσης κώδικα για τη βελτίωση της συλλογιστικής των LLM αναπτύχθηκε και σε άλλες παρόμοιες προσεγγίσεις.
- Program-Aided Language Models (PAL): Μέθοδος που προτάθηκε σχεδόν ταυτόχρονα με το PoT, η οποία επίσης χρησιμοποιεί παραγωγή κώδικα Python για την επίλυση εργασιών[5]. Εννοιολογικά, το PAL και το PoT είναι πολύ κοντά και επιβεβαιώνουν την αποδοτικότητα της στρατηγικής «συλλογιστική μέσω κώδικα».
- Tree of Thoughts (ToT): Πιο σύνθετη μέθοδος που προτείνει την παραγωγή και εξερεύνηση ενός «δέντρου» πιθανών βημάτων λύσης, αποτελώντας εξέλιξη της ιδέας της γραμμικής «αλυσίδας» σκέψεων. Το PoT μπορεί να χρησιμοποιηθεί στο πλαίσιο των κόμβων αυτού του δέντρου για τον έλεγχο υποθέσεων.
Παραπομπές
- Πρωτότυπη επιστημονική εργασία για το Program of Thoughts Prompting
- Οδηγός για το PoT στην πύλη Learn Prompting
Βιβλιογραφία
- Chen, W. et al. (2023). Program of Thoughts Prompting: Disentangling Computation from Reasoning for Numerical Reasoning Tasks. arXiv:2211.12588.
- Wei, J. et al. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
- Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
- Gao, L. et al. (2022). PAL: Program-Aided Language Models. arXiv:2211.10435.
- Cobbe, K. et al. (2021). Training Verifiers to Solve Math Word Problems. arXiv:2110.14168.
- Chen, Z. et al. (2021). FinQA: A Dataset of Numerical Reasoning over Financial Data. arXiv:2109.00122.
- Zhu, F. et al. (2021). TAT-QA: A Question Answering Benchmark on a Hybrid of Tabular and Textual Content in Finance. arXiv:2105.07624.
- Patel, A. et al. (2021). Are NLP Models Really Able to Solve Simple Math Word Problems? (Introducing SVAMP). arXiv:2103.07191.
- Xu, F. et al. (2023). RECOMP: Improving Retrieval-Augmented LMs with Compression and Selective Augmentation. arXiv:2310.04408.
- Mu, J. et al. (2023). Learning to Compress Prompts with Gist Tokens. arXiv:2304.08467.
Σημειώσεις
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 Chen, W. et al. «Program of Thoughts Prompting: Disentangling Computation from Reasoning for Numerical Reasoning Tasks». arXiv:2211.12588, 2023. [1]
- ↑ Wei, J. et al. «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». arXiv:2201.11903, 2022. [2]
- ↑ «Program of Thoughts: Everything You Need to Know». The Ministry of AI. [3]
- ↑ 4.0 4.1 «Program of Thoughts Prompting: Enhancing Accuracy in Reasoning and Computation». Learn Prompting. [4]
- ↑ «PAL (Program-Aided Language Models)». Prompt Engineering Guide. [5]