Skip to main content

🟡 Matematika

Sepanjang kursus ini, kita telah melihat banyak metode penggerak yang berbeda yang dapat digunakan untuk meningkatkan kemampuan matematika LLM. Satu pendekatan terbaru, MathPrompter1, menyatukan beberapa metode ini (CoT, PAL, dll.) menjadi satu teknik tunggal. Ide utama adalah memecah pertanyaan matematika menjadi istilah aljabar kemudian menggunakan kode Python untuk memecahkannya dengan cara yang berbeda.

MathPrompter memiliki empat langkah. Kami akan menjelaskannya menggunakan contoh masalah berikut. Contoh ini diambil langsung dari makalah.

P: Di sebuah restoran, setiap makanan dewasa harganya $5 dan anak-anak makan gratis. Jika sekelompok 15 orang datang dan 8 di antaranya anak-anak, berapa banyak biaya yang diperlukan untuk kelompok makan?

Langkah 1: Membuat Template Aljabar​

Langkah pertama adalah menetapkan variabel untuk setiap angka dalam pertanyaan. Ini membantu karena memungkinkan terjemahan yang lebih mudah dari pertanyaan ke pertanyaan matematika abstrak, serta ke kode pemrograman.

Ini dapat dilakukan melalui prompt tembakan beberapa:

Langkah 2: Petunjuk Matematika​

Tujuan dari langkah ini adalah merumuskan masalah sebagai pernyataan aljabar dan sebagai kode Python. Langkah ini memiliki dua prompt bersamaan, yang membantu memberikan representasi yang beragam dari masalah.

2a: Pernyataan Aljabar​

Kami dapat mendorong LLM untuk mewakili masalah matematika sebagai pernyataan aljabar. Ini dilakukan dengan meminta LLM untuk menghasilkan format jawaban, dimulai dari "Jawaban =".

2b: Kode Python​

Kita juga bisa meminta LLM untuk menghasilkan kode Python yang memecahkan masalah itu. Ini dilakukan dengan meminta LLM untuk menghasilkan fungsi Python.

Menghasilkan Jawaban​

Sekarang, kita dapat menggunakan Pemetaan yang telah kita hasilkan sebelumnya untuk secara otomatis mengisi variabel-variabel tersebut.

Pemetaan: {A: 5, B: 15, C: 8}

Aljabar:

Jawaban = 5 * 15 - 5 * 8

Fungsi Python:

def restaurant_cost(A=5, B=15, C=8):
return A * (B - C)

Kita dapat mengevaluasi keduanya menggunakan Python.

Aljabar:

>>> eval("5 * 15 - 5 * 8")
35

Fungsi Python:

>>> restaurant_cost()
35

Langkah 4: Self-Consistency​

Akhirnya, kita akan memanfaatkan Self-Consistency untuk menjalankan ulang proses di atas beberapa kali (~5), kemudian mengambil jawaban mayoritas.

Kesimpulan​

MathPrompter melaporkan akurasi 92,5% pada dataset MultiArith2. Keberhasilan teknik ini adalah contoh bagus bagaimana kamu sebagai seorang insinyur prompt dapat mengambil metode-metode yang telah kamu pelajari sepanjang kursus ini dan menggabungkannya untuk menangani masalah yang lebih besar.


  1. Imani, S., Du, L., & Shrivastava, H. (2023). MathPrompter: Mathematical Reasoning using Large Language Models. ↩
  2. Roy, S., & Roth, D. (2015). Solving General Arithmetic Word Problems. Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, 1743–1752. https://doi.org/10.18653/v1/D15-1202 ↩