Selamat Datang
😃Dasar
💼 Aplikasi Dasar
🧙‍♂️ Pelajaran Tingkat Menengah
🤖 Agen
⚖️ Keandalan
🖼️ Prompt untuk Menghasilkan Gambar
🔓 Prompt Hacking
🔨 Tooling
💪 Prompt Tuning
🎲 Serba aneka
📙 Referensi Kosakata
Daftar Pustaka
📦 Prompted Products
🛸 Sumber Daya Tambahan
🔥 Hot Topics
✨ Credits
🧙‍♂️ Pelajaran Tingkat Menengah🟦 Least to Most Prompting

Least to Most Prompting

🟦 This article is rated medium
Reading Time: 4 minutes
Last updated on August 7, 2024

Sander Schulhoff

Prompting Terendah ke Tertinggi (LtM) mengambil CoT prompting lebih jauh dengan pertama-tama memecah masalah menjadi submasalah kemudian menyelesaikan masing-masing. Ini adalah teknik yang terinspirasi dari strategi pendidikan dunia nyata untuk anak-anak.

Seperti dalam CoT yang memicu, masalah yang harus dipecahkan didekomposisi dalam serangkaian submasalah yang saling membangun. Dalam langkah kedua, submasalah ini diselesaikan satu per satu. Bertentangan dengan CoT, solusi dari submasalah sebelumnya dimasukkan ke dalam perintah mencoba menyelesaikan masalah berikutnya.

Diagram dari Least to Most prompting

Contoh: Respon Pertanyaan Pelanggan

Marilah kita ajukan pertanyaan layanan pelanggan yang agak rumit:


Hasilnya gagal (kami masih dalam waktu pengembalian), jadi mari kita coba memecahnya menjadi submasalah:


Ayo kita coba menyelesaikan submasalah pertama:

Dengan hanya menyelesaikan submasalah pertama, kami dapat menyelesaikan seluruh masalah. Jika GPT-3 tidak mengembalikan jawaban secara langsung, kita bisa menyelesaikan submasalah berikutnya dan seterusnya sampai dia mengembalikan jawaban. Perhatikan bahwa kami menggunakan Let's go step by step.. Penambahan frase ini tidak selalu diperlukan, tetapi ini membantu untuk contoh ini.

Contoh: penggabungan huruf

LtM awalnya diperkenalkan menggunakan sedikit dorongan di awal, bukan instruksi eksplisit untuk memecah masalah menjadi beberapa langkah (seperti yang terlihat di atas). Selain itu, kadang-kadang dapat diimplementasikan dengan satu prompt saja daripada prompt yang dihubungkan. Mari kita telaah masalah penggabungan huruf terakhir dari kata-kata individu (misalnya, diberikan cake, etymology sebagai kata masukan, hasilnya haruslah ey).

Percobaan pertama: Standar

Prompt standar dengan contoh-contoh few-shot berperforma sangat buruk, bahkan dengan model yang lebih canggih seperti text-davinci-003.

Percobaan kedua: Chain of Thought

Chain of Thought tampil lebih baik dibandingkan dengan prompt standar. Hal ini karena sekarang memungkinkan model untuk mempertimbangkan mengekstraksi huruf terakhir setiap kata secara terpisah, mengurangi kompleksitasnya menjadi operasi pengelompokan huruf yang sebelumnya telah dikumpulkan. Namun, hal ini mulai terabaikan pada ukuran yang lebih besar.

Percobaan ketiga: Paling sedikit hingga paling banyak (prompt tunggal)

Dengan Memberikan Panduan Minimal hingga Maksimal, kami meningkatkan konsep Rantai Berpikir dengan merumuskan kembali langkah-langkah individu untuk menyatakan kembali hasil yang sebelumnya digabungkan. Ini menyederhanakan setiap langkah hanya dengan menggabungkan satu huruf baru saja. Hal ini menghasilkan kinerja bagus hingga 12 kata atau lebih.

Pendekatan ini mungkin terlihat sangat mirip dengan Chain of Thought, tetapi secara konseptual sangat berbeda. Di sini, setiap langkah, kami memperkenalkan konkatenasi sebelumnya. Dalam kasus "berpikir, mesin, pembelajaran", alih-alih menggabungkan huruf-huruf "k", "e", "g" secara individu, itu akan menggabungkan "k" dan "e", kemudian "ke" dan "g". Sebagai hasil dari reintroduksi pekerjaan sebelumnya, model ini sekarang dapat menggeneralisasi ke rantai yang jauh lebih panjang karena ia membawa hasil secara bertahap dan hanya perlu melakukan sedikit kerja pada setiap langkah.

Hasil

Pada masalah penggabungan huruf terakhir dengan 12 kata, Chain of Thought memiliki akurasi 34%, sementara dari yang Paling Sedikit ke yang Paling Banyak memiliki akurasi 74% (dalam makalah ini menggunakan model text-davinci-002).

Contoh: generalisasi komposisi (SCAN)

Benchmark SCAN mengharuskan model untuk mengubah bahasa alami menjadi urutan tindakan. Sebagai contoh, kalimat "berjalan ke kiri dan berjalan dua kali" akan diterjemahkan menjadi "BERBELOK KE KIRI + BERLARI + BERJALAN * 2". Model bahasa tampil sangat buruk ketika dihadapkan dengan urutan yang lebih panjang daripada yang ada di set pelatihan.

Percobaan pertama: Prompt Standar

Menggunakan prompt sederhana standar, text-davinci-003 dapat mencapai hasil yang mengesankan, tetapi masih gagal.

Percobaan kedua: Least to Most, langkah pertama - Reduksi

Di sini, kita bekerja dengan 2 prompt yang berbeda. Prompt pertama digunakan untuk mengurangi masalah input menjadi urutan langkah yang lebih sederhana. Promp kedua digunakan untuk memetakan urutan langkah yang disederhanakan ini ke dalam tindakan nyata.

Kedua prompt ini cukup panjang dan menggunakan notasi python yang dikompres untuk tindakan meminimalkan penggunaan token.

Langkah pertama memecah deskripsi bahasa alami menjadi bahasa yang lebih eksplisit, namun tetap mirip dengan bahasa manusia. Ini akan membantu tahapan pemetaan mencari tahu urutan hal-hal. Sebagai contoh, "lompat ke kiri dua kali" dikurangi menjadi "lompat kiri" -> TURN_LEFT + JUMP dan "lompat ke kiri" -> (TURN_LEFT + JUMP) * 4. Demikian juga, langkah pengurangan adalah yang digunakan untuk menjelaskan konsep pengulangan (dua kali, tiga kali, dll...).

Upaya kedua: Least to Most, langkah kedua - Pemetaan

Pada langkah kedua, kami menggunakan output dari reduksi, dan lagi menggunakan prompt yang cukup panjang (14 kasus) untuk menerjemahkan deskripsi bahasa alami yang telah direduksi menjadi urutan tindakan.

Di sini, kita menyuntikkan output langkah pertama:

"melompatlah ke sebelah kiri dua kali" bisa diselesaikan dengan: "melompat ke kiri", "melompat mengelilingi ke kiri", "melompat mengelilingi ke kiri dua kali". "berjalan ke arah berlawanan ke kiri tiga kali" dapat diselesaikan dengan: "berjalan ke arah berlawanan ke kiri", "berjalan ke arah berlawanan ke kiri tiga kali". Jadi, "melompat ke kiri dua kali setelah berjalan ke seberang kiri tiga kali" dapat dipecahkan dengan: "melompat ke kiri", "melompat ke sekitar kiri", "melompat ke sekitar kiri dua kali", "berjalan ke seberang kiri", "berjalan ke seberang kiri tiga kali".

ke dalam LLM.

Hasil

LtM menghasilkan beberapa perbaikan:

  • akurasi yang meningkat dibandingkan dengan Chain of Thought
  • generalisasi yang meningkat pada masalah yang lebih sulit dibanding yang ada dalam petunjuk
  • performa yang meningkat secara dramatis dalam generalisasi komposisi, khususnya pada benchmark SCAN

Standard memancing dengan teks-dewa-002 (model yang digunakan dalam kertas) menghasilkan 6% masalah SCAN berhasil diselesaikan, sedangkan memancing dari Sedikit ke Banyak menghasilkan tingkat keberhasilan 76% yang mengesankan. Hasilnya jauh lebih signifikan dengan kode-davinci-002, di mana Prompting dari Paling Sedikit ke Paling Banyak mencapai tingkat keberhasilan 99,7%.

Sander Schulhoff

Sander Schulhoff is the Founder of Learn Prompting and an ML Researcher at the University of Maryland. He created the first open-source Prompt Engineering guide, reaching 3M+ people and teaching them to use tools like ChatGPT. Sander also led a team behind Prompt Report, the most comprehensive study of prompting ever done, co-authored with researchers from the University of Maryland, OpenAI, Microsoft, Google, Princeton, Stanford, and other leading institutions. This 76-page survey analyzed 1,500+ academic papers and covered 200+ prompting techniques.

Footnotes

  1. Zhou, D., Schärli, N., Hou, L., Wei, J., Scales, N., Wang, X., Schuurmans, D., Cui, C., Bousquet, O., Le, Q., & Chi, E. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models.

  2. Wei, J., Wang, X., Schuurmans, D., Bosma, M., Ichter, B., Xia, F., Chi, E., Le, Q., & Zhou, D. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models.

  3. Lake, B. M., & Baroni, M. (2018). Generalization without Systematicity: On the Compositional Skills of Sequence-to-Sequence Recurrent Networks. https://doi.org/10.48550/arXiv.1711.00350 2