Skip to main content

🟢 Few shot prompting

negativeA Few Shot PromptModel OutputExample 1Example 2More examples...Your inputExampleGreat product, 10/10: positiveDidn't work very well: negativeSuper helpful, worth it: positiveIt doesnt work!:

Strategi prompting lain adalah few shot prompting12, 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.


note

Setiap pasangan input-output disebut dengan exemplar.

Lebih lanjut tentang struktur​

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.

:::catatan Meskipun Anda dapat menghasilkan output yang sama dengan menggunakan perintah instruksi, prompt few shot membantu output menjadi lebih konsisten. :::

Variasi shot prompting​

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 prompting: tidak ada contoh yang ditampilkan kepada model
  • 1 shot prompting: 1 contoh yang ditampilkan kepada model
  • few shot prompting: 2 contoh lebih yang ditampilkan kepada model

0-shot prompting​

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​

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​

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.

Kesimpulan​

Few-shot prompting adalah teknik yang powerful untuk membuat model menghasilkan output yang akurat dan terformat dengan baik!


  1. 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 ↩
  2. Lake, B. M., Salakhutdinov, R., & Tenenbaum, J. B. (2015). Human-level concept learning through probabilistic program induction. Science, 350(6266), 1332–1338. ↩