Bagikan melalui


Metode pembelajaran zero-shot dan few-shot

Artikel ini menjelaskan pembelajaran tanpa contoh dan pembelajaran dengan sedikit contoh untuk rekayasa permintaan di .NET, termasuk kasus penggunaan utamanya.

Model GPT mendapatkan peningkatan performa dari rekayasa prompt (), yaitu praktik memberikan instruksi dan contoh kepada model untuk meningkatkan kualitas outputnya. Pembelajaran tanpa contoh dan pembelajaran dengan beberapa contoh adalah teknik yang dapat Anda gunakan saat memberikan contoh.

Pembelajaran tanpa bidikan

Pembelajaran zero-shot adalah praktik menyampaikan perintah yang tidak dipasangkan dengan penyelesaian secara tepat, meskipun Anda dapat menyertakan penyelesaian yang terdiri dari petunjuk. Pembelajaran zero-shot sepenuhnya bergantung pada pengetahuan yang sudah dimiliki oleh model untuk menghasilkan respons, yang mengurangi jumlah token yang dibuat dan dapat membantu Anda mengontrol biaya. Namun, pembelajaran zero-shot tidak menambah pengetahuan atau konteks model.

Berikut adalah contoh perintah dengan pendekatan tanpa pelatihan khusus yang menginstruksikan model untuk mengevaluasi masukan pengguna dan menentukan mana di antara empat kemungkinan tujuan yang diwakili oleh masukan tersebut. Kemudian, memberikan awalan respons dengan "Niat: ".

prompt = $"""
Instructions: What is the intent of this request?
If you don't know the intent, don't guess; instead respond with "Unknown".
Choices: SendEmail, SendMessage, CompleteTask, CreateDocument, Unknown.
User Input: {request}
Intent: 
""";

Ada dua kasus penggunaan utama untuk pembelajaran zero-shot:

  • Bekerja dengan LLM yang disetel dengan baik - Karena mengandalkan pengetahuan model yang ada, pembelajaran zero-shot tidak seintensif sumber daya seperti pembelajaran dengan contoh terbatas, dan berfungsi dengan baik dengan LLM yang telah disetel dengan baik dalam kumpulan data instruksi. Anda mungkin dapat hanya mengandalkan pembelajaran zero-shot dan menjaga biaya tetap relatif rendah.
  • Menetapkan garis besar performa - Pembelajaran zero-shot dapat membantu Anda mensimulasikan performa aplikasi Anda untuk pengguna yang sebenarnya. Ini memungkinkan Anda mengevaluasi berbagai aspek performa model Anda saat ini, seperti akurasi atau presisi. Dalam hal ini, Anda biasanya menggunakan pembelajaran tanpa contoh untuk menetapkan tolok ukur performa dan kemudian bereksperimen dengan pembelajaran dengan sedikit contoh untuk meningkatkan performa.

Pembelajaran dengan sedikit contoh

Pembelajaran dengan sedikit data adalah praktik menggunakan permintaan yang dipasangkan dengan penyelesaian verbatim (perintah dengan contoh sedikit) untuk menunjukkan kepada model Anda cara merespons. Dibandingkan dengan pembelajaran nol contoh, ini berarti pembelajaran beberapa contoh menghasilkan lebih banyak token dan menyebabkan model memperbarui pengetahuannya, yang dapat membuat pembelajaran beberapa contoh lebih membutuhkan sumber daya. Namun, pembelajaran dengan sedikit contoh juga membantu model menghasilkan respons yang lebih relevan.

prompt = $"""
Instructions: What is the intent of this request?
If you don't know the intent, don't guess; instead respond with "Unknown".
Choices: SendEmail, SendMessage, CompleteTask, CreateDocument, Unknown.

User Input: Can you send a very quick approval to the marketing team?
Intent: SendMessage

User Input: Can you send the full update to the marketing team?
Intent: SendEmail

User Input: {request}
Intent:
""";

Pembelajaran dengan sedikit contoh memiliki dua kasus penggunaan utama.

  • Menyetel LLM - Karena dapat menambah pengetahuan model, pembelajaran dengan sedikit contoh dapat meningkatkan kinerja model. Ini juga menyebabkan model membuat lebih banyak token daripada pembelajaran zero-shot, yang akhirnya dapat menjadi sangat mahal atau bahkan tidak layak. Namun, jika LLM Anda belum dilatih dengan baik, Anda tidak akan selalu mendapatkan performa yang baik dengan prompt zero-shot, dan pembelajaran few-shot diperlukan.
  • Memperbaiki masalah performa - Anda dapat menggunakan pembelajaran beberapa bidikan sebagai tindak lanjut pembelajaran tanpa bidikan. Dalam hal ini, Anda menggunakan pembelajaran tanpa contoh untuk membuat garis dasar performa, lalu bereksperimen dengan pembelajaran dengan beberapa contoh berdasarkan prompt tanpa contoh yang Anda gunakan. Ini memungkinkan Anda menambahkan pengetahuan model setelah melihat bagaimana saat ini meresponsnya, sehingga Anda dapat melakukan iterasi dan meningkatkan performa sambil meminimalkan jumlah token yang Anda perkenalkan.

Catatan Penting

  • Pembelajaran berbasis contoh tidak berfungsi dengan baik untuk tugas penalaran yang kompleks. Namun, menambahkan instruksi dapat membantu mengatasi hal ini.
  • Pembelajaran beberapa contoh memerlukan pembuatan perintah yang panjang. Perintah dengan sejumlah besar token dapat meningkatkan komputasi dan latensi. Ini biasanya berarti peningkatan biaya. Ada juga batasan panjang perintah.
  • Saat Anda menggunakan beberapa contoh, model dapat mempelajari pola palsu, seperti "Sentimen dua kali lebih mungkin positif daripada negatif."