Strategi prompting lain adalah few shot prompting, yang pada dasarnya hanya menunjukkan model beberapa contoh (yang disebut tembakan) tentang apa yang Anda inginkannya.
Pertimbangkan contoh di atas, di mana kita mencoba mengklasifikasikan umpan balik pelanggan sebagai positif atau negatif. Kami menampilkan model 3 contoh umpan balik positif/negatif, lalu kami menunjukkan umpan balik baru yang belum diklasifikasikan (It doesnt work!:
). Model melihat bahwa 3 contoh pertama diklasifikasikan sebagai positif
atau negatif
, dan menggunakan informasi ini untuk mengklasifikasikan contoh baru sebagai negatif
.
Cara kita mengatur contoh-contoh tersebut sangat penting. Karena kita telah melakukan strukturisasi 3 contoh ini sebagai input: klasifikasi
, model menghasilkan satu kata setelah baris terakhir, bukan mengatakan kalimat lengkap seperti ulasan ini positif
.
Use case kunci untuk few shot prompting adalah ketika Anda memerlukan output yang terstruktur dengan cara tertentu yang sulit dijelaskan pada model. Untuk memahami ini, mari kita pertimbangkan contoh yang relevan: katakanlah Anda perlu mengumpulkan nama dan pekerjaan warga terkenal di kota sekitarnya dengan menganalisis artikel surat kabar lokal. Anda ingin model membaca setiap artikel dan mengeluarkan daftar nama dan pekerjaan dalam Pertama Terakhir [OCCUPATION]
format. Untuk mendapatkan model ini untuk melakukan hal ini, Anda dapat menunjukkan beberapa contoh padanya:
Dengan menunjukkan contoh model format output yang benar, ia dapat menghasilkan output yang benar untuk artikel baru.
Meskipun Anda dapat menghasilkan output yang sama dengan menggunakan perintah instruksi, prompt few shot membantu output menjadi lebih konsisten.
Kata "shot" bermakna sama dengan "contoh". Selain few-shot prompting ada dua jenis shot prompt lainnya yang ada. Jangan terlalu memikirkan ini! Satu-satunya perbedaan antara varian ini adalah berapa banyak contoh yang Anda tunjukkan pada model.
Varian:
0-shot adalah bentuk prompting paling dasar. Ia hanya menunjukkan model sebuah prompt tanpa contoh dan meminta model untuk menghasilkan sebuah respons. Oleh karena itu, semua instruksi dan petunjuk peran yang telah Anda lihat sejauh ini adalah prompt 0-shot. Sebuah contoh tambahan dari satu 0-shot prompt adalah:
Tambahkan 2+2:
Ini adalah 0-shot karena kita belum menunjukkan model kepada model contoh lengkap apapun.
1-shot prompting adalah ketika Anda menampilkan satu contoh pada model. Sebagai contoh, analogi 1-shot dari prompt 0-shot Tambahkan 2+2:
adalah:
Tambahkan 3+3: 6
Tambahkan 2+2:
Kita hanya menunjukkan model 1 contoh lengkap (Tambah 3+3: 6
), jadi ini adalah satu-satunya perintah.
Few-shot prompting adalah ketika Anda menunjukkan model 2 atau lebih contoh. Semua prompt di atas bagian variasi ini telah menggunakan metode few-shot prompt. Analogi few-shot dari dua prompt di atas adalah:
Tambahkan 3+3: 6
Tambahkan 5+5: 10
Tambahkan 2+2:
Pada kasus ini, kita telah menunjukkan model setidaknya 2 contoh lengkap (Tambahkan 3+3: 6
dan Tambahkan 5+5: 10
). Biasanya, semakin banyak contoh yang Anda tunjukkan pada model, hasilnya akan menjadi lebih baik, oleh karena itu, penggunaan metode beberapa contoh lebih disukai dibandingkan dengan metode 0-shot dan 1-shot dalam kebanyakan kasus.
Few-shot prompting adalah teknik yang powerful untuk membuat model menghasilkan output yang akurat dan terformat dengan baik!
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.
Logan IV, R., Balazevic, I., Wallace, E., Petroni, F., Singh, S., & Riedel, S. (2022). Cutting Down on Prompts and Parameters: Simple Few-Shot Learning with Language Models. Findings of the Association for Computational Linguistics: ACL 2022, 2824–2835. https://doi.org/10.18653/v1/2022.findings-acl.222 ↩
Lake, B. M., Salakhutdinov, R., & Tenenbaum, J. B. (2015). Human-level concept learning through probabilistic program induction. Science, 350(6266), 1332–1338. ↩